This Pack is designed to be installed on a Cribl Edge Node within your Starlink network. It enables the collection of data from the Starlink API, which can then be sent to any Cribl-supported output.
Recreate the default dashboard from the Starlink app using Cribl's full-stack capabilities. This approach enables:
- Real-Time Alerts: Monitor key metrics and trigger alerts promptly.
- Data Retention: Store data for historical analysis and trend tracking.
- Enhanced Insights: Gain deeper visibility into system performance and operational efficiency.
To set up the environment, follow these steps:
-
SSH into the node and navigate to the following directory:
~/cribl-pack-for-starlink/bin
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
- Go to More > Sources > Add Source > Exec > Add Source > Manage as JSON > import .json files one at a time.
- Go to More > Destination > Add Destination > Cribl HTTP > Add Cribl Endpoint
- How to find Endpoint IP/Ingress IP If on cribl.cloud > click on Access Details
- Ingress IP
- Navigate to More > Data Routes.
- Add a filter for the exec input.
- Example:
__inputId.includes('starlink')
.
- Example:
BEAST MODE(Reccomended): Manage routes as json. Import json
- Go to More > Sources > Add Source > Cribl HTTP > Disable
in_cribl_http
> Manage as json > import json
How to Create a Dataset in Cribl Lake
I named mine starlink. A 30 Day Rention Period is should be sufficient.
- Go to More > Destination > Add Destination > Cribl Lake > Create output ID
- Navigate to More > Data Routes.
- Add a filter for the exec input.
- Example:
__inputId=='cribl_http:starlink-in_cribl_http'
. - Output:
cribl_lake:starlink
- Example:
dish_common.py
: Common functions and utilities for Starlink dish communication.dish_grpc_text.py
: Main script for collecting data from Starlink dishes using gRPC.starlink_grpc.py
: gRPC client implementation for Starlink dish communication.
The following 11 data collection modes are supported:
alert_detail
bulk_history
location
obstruction_detail
ping_drop
ping_latency
ping_loaded_latency
ping_run_length
power
status
usage
- Python 3.x
- gRPC libraries for Python
- See
requirements.txt
Ensure you have the necessary permissions to run these scripts and access the Starlink dish data.
- Added Dashboard
- Fixed timestamping issue, events were showing up 3-4hrs behind, autotimestamp function added.
- Archived Bash Scripts replaced with exec source to control python scripts, routing into cribl lake
- Initial Release
To contribute, please message me on GitHub or create a pull request:
This Pack uses the following license: MIT
.
Python Scripts: starlink-grpc-tools