Skip to content

Commit a6f2c63

Browse files
authored
Remove starlink router metric, update protoset (#36)
* update protoset * update dependencies * remove router metrics
1 parent 5eec750 commit a6f2c63

File tree

294 files changed

+19945
-11581
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

294 files changed

+19945
-11581
lines changed

Makefile

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
all:
2+
go build -o starlink_exporter cmd/starlink_exporter/main.go
3+
4+
clean:
5+
rm starlink_exporter

README.md

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
<p align="center">
2-
<img alt="logo" src="https://github.com/clarkzjw/starlink_exporter/raw/main/.docs/assets/logo.jpg" height="150" />
3-
<h3 align="center">Starlink Prometheus Exporter</h3>
2+
<h3 align="center">Starlink Prometheus Exporter Monitoring Stack</h3>
43
</p>
54

65
---
76

8-
**Goal**: I will try to keep this fork updated as long as I still have access to the dish from our research lab.
9-
10-
Original repository: https://github.com/danopstech/starlink_exporter
11-
12-
**Status**: As of 2023/02/06, this repo is updated per `191e4dfa-d63a-46b1-a73b-9fa907733864.uterm.release` on a Starlink RV dish.
13-
14-
---
15-
167
A [Starlink](https://www.starlink.com/) exporter for Prometheus. Not affiliated with or acting on behalf of Starlink(™)
178

189
[![goreleaser](https://github.com/clarkzjw/starlink_exporter/actions/workflows/release.yaml/badge.svg)](https://github.com/clarkzjw/starlink_exporter/actions/workflows/release.yaml)
1910
[![build](https://github.com/clarkzjw/starlink_exporter/actions/workflows/build.yaml/badge.svg)](https://github.com/clarkzjw/starlink_exporter/actions/workflows/build.yaml)
2011
[![License](https://img.shields.io/github/license/clarkzjw/starlink_exporter)](/LICENSE)
2112
[![Release](https://img.shields.io/github/release/clarkzjw/starlink_exporter.svg)](https://github.com/clarkzjw/starlink_exporter/releases/latest)
2213
![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/clarkzjw/starlink_exporter)
23-
![os/arch](https://img.shields.io/badge/os%2Farch-amd64-yellow)
24-
![os/arch](https://img.shields.io/badge/os%2Farch-arm64-yellow)
25-
![os/arch](https://img.shields.io/badge/os%2Farch-armv7-yellow)
2614
[![Go Report Card](https://goreportcard.com/badge/github.com/clarkzjw/starlink_exporter)](https://goreportcard.com/report/github.com/clarkzjw/starlink_exporter)
2715

16+
Original repository:
17+
18+
+ https://github.com/danopstech/starlink
19+
+ https://github.com/danopstech/starlink_exporter
20+
21+
---
22+
23+
gRPC last generated with firmware version: `87ed6ceb-4409-410a-b5f1-25886edf5966.uterm.release`
24+
25+
Firmware tracking website: https://starlinktrack.com/firmware/dishy
26+
27+
---
28+
2829
## Usage:
2930

3031
### Flags
@@ -38,7 +39,6 @@ Usage of starlink_exporter
3839
IP address and port to reach dish (default "192.168.100.1:9200")
3940
-port string
4041
listening port to expose metrics on (default "9817")
41-
4242
```
4343

4444
### Binaries

cmd/starlink_exporter/main.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,14 @@ const (
1818
func main() {
1919
port := flag.String("port", "9817", "listening port to expose metrics on")
2020
address := flag.String("address", exporter.DishAddress, "IP address and port to reach dish")
21-
isRouter := flag.Bool("router", false, "enable router gRPC monitoring")
2221
flag.Parse()
2322

24-
exporterClient, err := exporter.New(*address, *isRouter)
23+
exporterClient, err := exporter.New(*address)
2524
if err != nil {
2625
log.Fatalf("could not start exporterClient: %s", err.Error())
2726
}
2827
defer exporterClient.Conn.Close()
2928
log.Infof("dish id: %s", exporterClient.DishID)
30-
log.Infof("router id: %s", exporterClient.RouterID)
3129

3230
r := prometheus.NewRegistry()
3331
r.MustRegister(exporterClient)

go.mod

+11-12
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,22 @@ module github.com/clarkzjw/starlink_exporter
33
go 1.18
44

55
require (
6-
github.com/prometheus/client_golang v1.14.0
7-
github.com/sirupsen/logrus v1.9.0
8-
google.golang.org/grpc v1.53.0
9-
google.golang.org/protobuf v1.28.1
6+
github.com/prometheus/client_golang v1.16.0
7+
github.com/sirupsen/logrus v1.9.3
8+
google.golang.org/grpc v1.57.0
9+
google.golang.org/protobuf v1.31.0
1010
)
1111

1212
require (
1313
github.com/beorn7/perks v1.0.1 // indirect
1414
github.com/cespare/xxhash/v2 v2.2.0 // indirect
15-
github.com/golang/protobuf v1.5.2 // indirect
15+
github.com/golang/protobuf v1.5.3 // indirect
1616
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
1717
github.com/prometheus/client_model v0.3.0 // indirect
18-
github.com/prometheus/common v0.39.0 // indirect
19-
github.com/prometheus/procfs v0.9.0 // indirect
20-
golang.org/x/net v0.5.0 // indirect
21-
golang.org/x/sys v0.4.0 // indirect
22-
golang.org/x/text v0.6.0 // indirect
23-
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
24-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
18+
github.com/prometheus/common v0.42.0 // indirect
19+
github.com/prometheus/procfs v0.10.1 // indirect
20+
golang.org/x/net v0.9.0 // indirect
21+
golang.org/x/sys v0.8.0 // indirect
22+
golang.org/x/text v0.9.0 // indirect
23+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
2524
)

go.sum

+23-24
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,44 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
88
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
99
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
1010
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
11-
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
12-
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
11+
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
12+
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
1313
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
1414
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
1515
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
1616
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
1717
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1818
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
19-
github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
20-
github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
19+
github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
20+
github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
2121
github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
2222
github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
23-
github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI=
24-
github.com/prometheus/common v0.39.0/go.mod h1:6XBZ7lYdLCbkAVhwRsWTZn+IN5AB9F/NXd5w0BbEX0Y=
25-
github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
26-
github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
27-
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
28-
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
23+
github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
24+
github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
25+
github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg=
26+
github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM=
27+
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
28+
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
2929
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
3030
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
3131
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
32-
golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
33-
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
32+
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
33+
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
3434
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
3535
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
36-
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
37-
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
38-
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
39-
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
36+
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
37+
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
38+
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
39+
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
4040
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
41-
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w=
42-
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
43-
google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc=
44-
google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
41+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM=
42+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
43+
google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw=
44+
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
4545
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
4646
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
47-
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
48-
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
47+
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
48+
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
4949
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
5050
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
51-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
52-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
51+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

grpc/gen-protobuf.sh

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
#/bin/bash
22

3-
protoc --go_out=pkg/ --go-grpc_out=pkg/ \
4-
--go_opt=Mspacex/api/common/protobuf/internal.proto=spacex.com/api/common/protobuf/internal \
5-
--go-grpc_opt=Mspacex/api/common/protobuf/internal.proto=spacex.com/api/common/protobuf/internal \
6-
--descriptor_set_in=protoset/dish.protoset spacex/api/common/protobuf/internal.proto
7-
83
protoc --go_out=pkg/ --go-grpc_out=pkg/ --descriptor_set_in=protoset/dish.protoset spacex/api/common/status/status.proto
94
protoc --go_out=pkg/ --go-grpc_out=pkg/ --descriptor_set_in=protoset/dish.protoset spacex/api/device/command.proto
105
protoc --go_out=pkg/ --go-grpc_out=pkg/ --descriptor_set_in=protoset/dish.protoset spacex/api/device/common.proto
@@ -36,7 +31,7 @@ protoc --go_out=pkg/ --go-grpc_out=pkg/ \
3631

3732

3833
protoc --go_out=pkg/ --go-grpc_out=pkg/ --descriptor_set_in=protoset/dish.protoset spacex/api/device/wifi_config.proto
39-
34+
protoc --go_out=pkg/ --go-grpc_out=pkg/ --descriptor_set_in=protoset/dish.protoset spacex/api/device/wifi_util.proto
4035

4136
protoc --go_out=pkg/ --go-grpc_out=pkg/ \
4237
--go_opt=Mspacex/api/telemetron/public/common/time.proto=spacex.com/api/telemetron/public/common/time \

grpc/get-protoset.sh

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
#!/bin/bash
2-
32
# requires https://github.com/fullstorydev/grpcurl
43

5-
#grpcurl -plaintext -protoset-out proto/dish.protoset 192.168.100.1:9200 describe SpaceX.API.Device.Device
6-
grpcurl -plaintext -protoset-out protoset/dish.protoset 192.168.1.1:9000 describe SpaceX.API.Device.Device
4+
grpcurl -plaintext 192.168.100.1:9200 list
5+
6+
# dish grpc
7+
grpcurl -plaintext -protoset-out protoset/dish.protoset 192.168.100.1:9200 describe SpaceX.API.Device.Device
8+
grpcurl -plaintext -d {\"get_status\":{}} 192.168.100.1:9200 SpaceX.API.Device.Device/Handle | grep softwareVersion | awk
9+
'{print $2}'
10+
11+
# mesh
12+
#grpcurl -plaintext -protoset-out mesh.protoset 192.168.100.1:9200 describe SpaceX.API.Device.Mesh
713

14+
# router
15+
#grpcurl -plaintext -protoset-out router.protoset 192.168.1.1:9000 describe SpaceX.API.Device.Device

0 commit comments

Comments
 (0)