Modify

Opened 7 months ago

Closed 7 months ago

#168 closed enhancement (fixed)

Add Monitoring feature to BNC with Prometheus

Reported by: juergen.fredriksson@… Owned by: stuerze
Priority: normal Component: BNC
Version: Keywords:
Cc:

Description

BNC is able to write several logs.

It would be nice if BNC would have the ability to provide some life data over Prometheus. Within the BKG Ntrip Caster there is already such a feature.

Possibly data sources for PROM:

  • bnc_main_info_cpu (version=2.13.01, pid=995889) ..
  • bnc_main_info_ram (version=2.13.01, pid=995889) ..
  • bnc_upload_eph (version=2.13.01, pid=995889) 5.3411 [MB]
  • bnc_upload_ssr (...) ...
  • bnc_stream_bytes (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01, decoder=RTCM_3.2, lat=47.07, lon=15.49, nmea=no, ntrip=2) = 14.659 [kB]
  • bnc_stream_throughput (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01) = 15.623 [kbps]
  • bnc_stream_latency_avg (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01, interval=10sec) 0.36 [sec]
  • bnc_stream_latency_min (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01, interval=10sec) 0.25 [sec]
  • bnc_stream_latency_max (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01, interval=10sec) 0.46 [sec]
  • bnc_stream_latency_rms (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01, interval=10sec) 0.38 [sec]
  • bnc_stream_latency_gap (uid=SRC01, source=ntrip://***:***@127.0.0.1:2101/SRC01, interval=10sec) 0
  • bnc_stream_ppp_plot (...) ..

kind regards, Jürgen F.

Attachments (0)

Change History (7)

comment:1 by wiese, 7 months ago

Dear Jürgen,

a prometheus endpoint is often provided by daemons like webserver (and caster) that are already accessable via http. Less for clients like BNC. We refer to the logs instead where latency information etc. is provided. If "Miscellaneous > Log latency" is selected.
cpu and ram of a process can be monitored by several monitoring solutions.

Best regards,
Erwin

comment:2 by juergen.fredriksson@…, 7 months ago

Dear Erwin!
Thanks for your answer! This would be an easier way to get the info from BNC. Let's say if you have multiple instances of BNC running on different servers, it is easier if you could collect the information via standardized parameters (PROM).
Kind regards, Jürgen

comment:3 by wiese, 7 months ago

Then you would have an endpoint for every BNC instance. Not so practicable. On some machines we have more than 20 instances running.
We extract the metrics from the logs and store them in a central database (ETL). Then we use Grafana that reads from the DB and makes the visualisations/alerting.

Best regards, Erwin

in reply to:  3 comment:4 by anonymous, 7 months ago

Replying to wiese:

Then you would have an endpoint for every BNC instance. Not so practicable. On some machines we have more than 20 instances running.
We extract the metrics from the logs and store them in a central database (ETL). Then we use Grafana that reads from the DB and makes the visualisations/alerting.

Best regards, Erwin

Dear Erwin!

Having so many instances is no problem actually. If you have a good monitoring platform (Grafana, nagios, etc.) it does not matter how many instances/servers you're running. Good that you mentioned Grafana, we use it to for e.g. BNC's latency visualization. Ad ETL, I already built such process chain for BNC and that's why i mentioned Prometheus, since it is easy to integrate into Grafana, it comes with a Prometheus datasource. Configuring ETL processes for multiple instances and/or servers can be overwhelming too!

Kind regards, Jürgen

comment:5 by wiese, 7 months ago

Yes in principle you can push to e.g. InfluxDB or Prometheus Pushgateway, or let Prometheus pull. If you are in the same network and your firewall allows. What is not the case for us. So we keep pushing...

comment:6 by wiese, 7 months ago

see #170

comment:7 by wiese, 7 months ago

Resolution: fixed
Status: newclosed

Modify Ticket

Change Properties
Action
as closed The owner will remain stuerze.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.