A Starlink exporter for Prometheus. Not affiliated with or acting on behalf of Starlink(™)
starlink_exporter
is configured through the use of optional command line flags
$ ./starlink_exporter --help
Usage of starlink_exporter
-port string
Listening port for prometheus endpoint (default "9817")
For pre-built binaries please take a look at the releases.
./starlink_exporter [flags]
Docker Images can be found at GitHub Container Registry & Dockerhub.
Example:
docker pull ghcr.io/danopstech/starlink_exporter:latest
docker run \
-p 9817:9817 \
ghcr.io/danopstech/starlink_exporter:latest [flags]
Configure Prometheus to scrape metrics from localhost:9817/metrics
...
scrape_configs
- job_name: starlink
static_configs:
- targets: ['localhost:9817']
...
# HELP starlink_dish_alert_mast_not_near_vertical Status of mast position
# TYPE starlink_dish_alert_mast_not_near_vertical gauge
# HELP starlink_dish_alert_motors_stuck Status of motor stuck
# TYPE starlink_dish_alert_motors_stuck gauge
# HELP starlink_dish_alert_slow_eth_speeds Status of ethernet
# TYPE starlink_dish_alert_slow_eth_speeds gauge
# HELP starlink_dish_alert_thermal_shutdown Status of thermal shutdown
# TYPE starlink_dish_alert_thermal_shutdown gauge
# HELP starlink_dish_alert_thermal_throttle Status of thermal throttling
# TYPE starlink_dish_alert_thermal_throttle gauge
# HELP starlink_dish_alert_unexpected_location Status of location
# TYPE starlink_dish_alert_unexpected_location gauge
# HELP starlink_dish_currently_obstructed Status of view of the sky
# TYPE starlink_dish_currently_obstructed gauge
# HELP starlink_dish_dishDeviceInfo Running software versions and IDs of hardware
# TYPE starlink_dish_dishDeviceInfo gauge
# HELP starlink_dish_state The Current dishState of the Dish (Unknown, Booting, Searching, Connected).
# TYPE starlink_dish_state gauge
# HELP starlink_dish_downlink_throughput_bytes Amount of bandwidth in bytes per second download
# TYPE starlink_dish_downlink_throughput_bytes gauge
# HELP starlink_dish_first_nonempty_slot_seconds Seconds to next non empty slot
# TYPE starlink_dish_first_nonempty_slot_seconds gauge
# HELP starlink_dish_fraction_obstruction_ratio Percentage of obstruction
# TYPE starlink_dish_fraction_obstruction_ratio gauge
# HELP starlink_dish_last_24h_obstructed_seconds Number of seconds view of sky has been obstructed in the last 24hours
# TYPE starlink_dish_last_24h_obstructed_seconds gauge
# HELP starlink_dish_pop_ping_drop_ratio Percent of pings dropped
# TYPE starlink_dish_pop_ping_drop_ratio gauge
# HELP starlink_dish_pop_ping_latency_seconds Latency of connection in seconds
# TYPE starlink_dish_pop_ping_latency_seconds gauge
# HELP starlink_dish_scrape_duration_seconds Time to scrape metrics from starlink dish
# TYPE starlink_dish_scrape_duration_seconds gauge
# HELP starlink_dish_snr Signal strength of the connection
# TYPE starlink_dish_snr gauge
# HELP starlink_dish_up Was the last query of Starlink successful.
# TYPE starlink_dish_up gauge
# HELP starlink_dish_uplink_throughput_bytes Amount of bandwidth in bytes per second upload
# TYPE starlink_dish_uplink_throughput_bytes gauge
# HELP starlink_dish_uptime_seconds Dish running time
# TYPE starlink_dish_uptime_seconds gauge
# HELP starlink_dish_valid_seconds Unknown
# TYPE starlink_dish_valid_seconds gauge
# HELP starlink_dish_wedge_abs_fraction_obstruction_ratio Percentage of Absolute fraction per wedge section
# TYPE starlink_dish_wedge_abs_fraction_obstruction_ratio gauge
# HELP starlink_dish_wedge_fraction_obstruction_ratio Percentage of obstruction per wedge section
# TYPE starlink_dish_wedge_fraction_obstruction_ratio gauge
Screenshot of a sample dashboard created using Grafana with metrics exported from starlink_exporter
.