gobgp_exporter
gobgp_exporter copied to clipboard
Prometheus Exporter for GoBGP
Hi, seems like the validation for hostnames it's not happy with not using ip addresses. ``` scrubbing-engine-gobgp-exporter | ts=2023-12-22T14:29:17.620Z caller=main.go:218 level=error msg="failed to init properly" error="invalid IP address in gobgp:50051"...
as for #29 This validates a bit more thoroughly while not expecting an IP address (and so not validating that), but uses existing checks for url validation and keeps a...
It would be nice if gobgp exporter would expose build information of gobgp, e.g. which version it is running.
Currently RIB metrics only capture "default" VRF. Add an attribute to `RouterNode` for the holding of VRF information. Then add metrics for non-default VRF.
Add metric for `ListenAddresses`. ``` if len(g.ListenAddresses) > 0 { fmt.Printf("Listening Port: %d, Addresses: %s\n", g.ListenPort, strings.Join(g.ListenAddresses, ", ")) ```
Add metric for `UseMultiplePaths`: ``` if g.UseMultiplePaths { fmt.Printf("Multipath: enabled") } ```
Add metric for `listen_port`: ``` (*gobgpapi.Global)(0xc0000b0e00)(as:65001 router_id:"10.0.2.15" listen_port:179 listen_addresses:"0.0.0.0" listen_addresses:"::" ) ``` Reference: ```go type Global struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` RouterId string `protobuf:"bytes,2,opt,name=router_id,json=routerId" json:"router_id,omitempty"` ListenPort int32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort" json:"listen_port,omitempty"`...
This new metric is basically a counter that will reset whenever a peer changes states. Monitoring the uptime allows to check for session flaps and resets that may be too...