Prometheus Exporter

Hey zusammen!

Ich wollte die aktuellen Verbrauchsdaten meines Discovergy meters in Prometheus haben, ich habe eine erste Version auf Github veröffentlicht da ich keinen Prometheus Exporter gefunden habe der Discovergy unterstützt.

Wer also danach gesucht hat, kann sich gerne das Projekt ansehen, testen, forken und gern auch mit erweitern falls was fehlt. Bin über Input und Feedback immer dankbar.

Beispiel wie es dann in Grafana aussehen kann:

2 „Gefällt mir“

Hallo,

Ich habe folgendes Problem der Server läuft aber ich bekomme bei Grafana eine Fehlermeldung

Habe dein Script auf nen Raspberry Pi 4 laufen und den Grafana auf einen Docker Container.

Error reading Prometheus: client_error: client error: 404

Ich habe echt keine ahnung mehr was ich da machen könnte, und hoffe du könntest mir da helfen.

Liebe Grüße

Rene`# HELP discovergy_ampere_phase1 Phase 1 ampere in milliampere

TYPE discovergy_ampere_phase1 gauge

discovergy_ampere_phase1{meterI"16a527f47969b8772ea9ae543fe"} NaN

HELP discovergy_ampere_phase2 Phase 2 ampere in milliampere

TYPE discovergy_ampere_phase2 gauge

discovergy_ampere_phase2{meterId=„27f47969b8772ea9ae543fe“} NaN

HELP discovergy_ampere_phase3 Phase 3 ampere in milliampere

TYPE discovergy_ampere_phase3 gauge

discovergy_ampere_phase3{meterId=„716a527f47969b8772ea9ae543fe“} NaN

HELP discovergy_milliwatt_phase1 Phase 1 power usage in milliwatt

TYPE discovergy_milliwatt_phase1 gauge

discovergy_milliwatt_phase1{meterId=„76a527f47969b8772ea9ae543fe“} 0

HELP discovergy_milliwatt_phase2 Phase 2 power usage in milliwatt

TYPE discovergy_milliwatt_phase2 gauge

discovergy_milliwatt_phase2{meterId=„16a527f47969b8772ea9ae543fe“} 0

HELP discovergy_milliwatt_phase3 Phase 3 power usage in milliwatt

TYPE discovergy_milliwatt_phase3 gauge

discovergy_milliwatt_phase3{meterId=a527f47969b8772ea9ae543fe"} 0

HELP discovergy_milliwatt_total Current power usage total in milliwatt

TYPE discovergy_milliwatt_total gauge

discovergy_milliwatt_total{meterId=„a527f47969b8772ea9ae543fe“} 115400

HELP discovergy_voltage_phase1 Phase 1 voltage in millivolt

TYPE discovergy_voltage_phase1 gauge

discovergy_voltage_phase1{meterId=a527f47969b8772ea9ae543fe"} 0

HELP discovergy_voltage_phase2 Phase 2 voltage in millivolt

TYPE discovergy_voltage_phase2 gauge

discovergy_voltage_phase2{meterId=„6a527f47969b8772ea9ae543fe“} 0

HELP discovergy_voltage_phase3 Phase 3 voltage in millivolt

TYPE discovergy_voltage_phase3 gauge

discovergy_voltage_phase3{meterId=„a527f47969b8772ea9ae543fe“} 0

HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.

TYPE go_gc_duration_seconds summary

go_gc_duration_seconds{quantile=„0“} 0.000131184
go_gc_duration_seconds{quantile=„0.25“} 0.000131184
go_gc_duration_seconds{quantile=„0.5“} 0.000181109
go_gc_duration_seconds{quantile=„0.75“} 0.000181109
go_gc_duration_seconds{quantile=„1“} 0.000181109
go_gc_duration_seconds_sum 0.000312293
go_gc_duration_seconds_count 2

HELP go_goroutines Number of goroutines that currently exist.

TYPE go_goroutines gauge

go_goroutines 12

HELP go_info Information about the Go environment.

TYPE go_info gauge

go_info{version=„go1.17.5“} 1

HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.

TYPE go_memstats_alloc_bytes gauge

go_memstats_alloc_bytes 3.622376e+06

HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.

TYPE go_memstats_alloc_bytes_total counter

go_memstats_alloc_bytes_total 7.06552e+06

HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.

TYPE go_memstats_buck_hash_sys_bytes gauge

go_memstats_buck_hash_sys_bytes 3394

HELP go_memstats_frees_total Total number of frees.

TYPE go_memstats_frees_total counter

go_memstats_frees_total 45695

HELP go_memstats_gc_cpu_fraction The fraction of this program’s available CPU time used by the GC since the program started.

TYPE go_memstats_gc_cpu_fraction gauge

go_memstats_gc_cpu_fraction 4.080360001355487e-05

HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.

TYPE go_memstats_gc_sys_bytes gauge

go_memstats_gc_sys_bytes 1.596032e+06

HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.

TYPE go_memstats_heap_alloc_bytes gauge

go_memstats_heap_alloc_bytes 3.622376e+06

HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.

TYPE go_memstats_heap_idle_bytes gauge

go_memstats_heap_idle_bytes 3.23584e+06

HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.

TYPE go_memstats_heap_inuse_bytes gauge

go_memstats_heap_inuse_bytes 4.726784e+06

HELP go_memstats_heap_objects Number of allocated objects.

TYPE go_memstats_heap_objects gauge

go_memstats_heap_objects 8201

HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.

TYPE go_memstats_heap_released_bytes gauge

go_memstats_heap_released_bytes 2.236416e+06

HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.

TYPE go_memstats_heap_sys_bytes gauge

go_memstats_heap_sys_bytes 7.962624e+06

HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.

TYPE go_memstats_last_gc_time_seconds gauge

go_memstats_last_gc_time_seconds 1.6411137752095814e+09

HELP go_memstats_lookups_total Total number of pointer lookups.

TYPE go_memstats_lookups_total counter

go_memstats_lookups_total 0

HELP go_memstats_mallocs_total Total number of mallocs.

TYPE go_memstats_mallocs_total counter

go_memstats_mallocs_total 53896

HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.

TYPE go_memstats_mcache_inuse_bytes gauge

go_memstats_mcache_inuse_bytes 2400

HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.

TYPE go_memstats_mcache_sys_bytes gauge

go_memstats_mcache_sys_bytes 16384

HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.

TYPE go_memstats_mspan_inuse_bytes gauge

go_memstats_mspan_inuse_bytes 39840

HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.

TYPE go_memstats_mspan_sys_bytes gauge

go_memstats_mspan_sys_bytes 49152

HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.

TYPE go_memstats_next_gc_bytes gauge

go_memstats_next_gc_bytes 5.98928e+06

HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.

TYPE go_memstats_other_sys_bytes gauge

go_memstats_other_sys_bytes 841662

HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.

TYPE go_memstats_stack_inuse_bytes gauge

go_memstats_stack_inuse_bytes 425984

HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.

TYPE go_memstats_stack_sys_bytes gauge

go_memstats_stack_sys_bytes 425984

HELP go_memstats_sys_bytes Number of bytes obtained from system.

TYPE go_memstats_sys_bytes gauge

go_memstats_sys_bytes 1.0895232e+07

HELP go_threads Number of OS threads created.

TYPE go_threads gauge

go_threads 8

HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.

TYPE process_cpu_seconds_total counter

process_cpu_seconds_total 0.23

HELP process_max_fds Maximum number of open file descriptors.

TYPE process_max_fds gauge

process_max_fds 1024

HELP process_open_fds Number of open file descriptors.

TYPE process_open_fds gauge

process_open_fds 11

HELP process_resident_memory_bytes Resident memory size in bytes.

TYPE process_resident_memory_bytes gauge

process_resident_memory_bytes 1.4618624e+07

HELP process_start_time_seconds Start time of the process since unix epoch in seconds.

TYPE process_start_time_seconds gauge

process_start_time_seconds 1.64111373982e+09

HELP process_virtual_memory_bytes Virtual memory size in bytes.

TYPE process_virtual_memory_bytes gauge

process_virtual_memory_bytes 8.7990272e+08

HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.

TYPE process_virtual_memory_max_bytes gauge

process_virtual_memory_max_bytes 1.8446744073709552e+19

HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.

TYPE promhttp_metric_handler_requests_in_flight gauge

promhttp_metric_handler_requests_in_flight 1

HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.

TYPE promhttp_metric_handler_requests_total counter

promhttp_metric_handler_requests_total{code=„200“} 9
promhttp_metric_handler_requests_total{code=„500“} 0
promhttp_metric_handler_requests_total{code=„503“} 0`

Hallo Rene,

vielen Dank für Ihre Rückmeldung. Sollte der User Tyrola in den kommenden Tagen sich nicht melden, kann ich Euch gerne - seine Erlaubnis natürlich vorausgesetzt - in Kontakt setzen.

Viele Grüße
Pablo Santiago, Discovergy GmbH

Moin,
hatte auch das Problem Grafana im Docker laufen zu lassen.
Habe mich vom Docker getrennt und auf meinen Pi4 „IO-Brocker, Node Red, MQTT, Grafana und Influx“ laufen, seit habe ich Ruhe im Schiff…
Aufgrund hohen Datenverkehrs auf der SD habe ich meinen PI4 noch eine Festplatte spendiert

Wiso Influx DB und nicht Prometheus?

Kannst du mir es erklären wir du das ganze zum Laufen bekommen hast ?? Würde auch statt einer SSD eine HDD 2,5 Zoll gehen beim Pi?

Grüßle

Rene

Moin,

Kommt drauf an was du für ein Pi hast! 3 oder 4?
Beim 3er geht das nicht, aber der 4er geht das über USB3.
Derzeit schreibe ich dafür eine Anleitung.
Die mechanische Festplatte ist einfach, eigentlich aber langsamer als die SD-Karte. (Stand heute, denn ich teste da noch rum). Die SSD ist da schon etwas tricky was das Einrichten angeht, deswegen schreibe ich grade eine Anleitung wie ich das gemacht habe.
Ich kann dich ja auf den Laufenden halten.

Gruss

Habe den Raspberry Pi 4B, okay dann warte ich mal auf deine Anleitung

Moin, hat leider etwas gedauert, aber ich habe da mal was zusammengeschrieben wie ich das jetzt auf 2 Pi4B´s umgesetzt habe , das findest du auf meiner Webseite

Gruß

Hallo zusammen,

falls jemand Unterstützung braucht, kann ich gerne meine Erfahrungen teilen.

Und nein, ich mag kein Docker. :face_with_open_eyes_and_hand_over_mouth:

Erledigt

  • Grafana
  • Prometheus
  • Discovergy Exporter

Offen

  • systemd Service, zur Zeit nur mit nohup

Parameter

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
Linux <hostname> 5.10.92-v8+ #1514 SMP PREEMPT Mon Jan 17 17:39:38 GMT 2022 aarch64 GNU/Linux
Model		: Raspberry Pi 4 Model B Rev 1.1