tijmenvandenbrink / enviroplus_exporter

Prometheus exporter for enviroplus module by Pimoroni
MIT License
83 stars 39 forks source link

missing sensor data from prometheus - querying localhost v fqdn #24

Closed ikonia closed 2 years ago

ikonia commented 2 years ago

I'm running the current master branch of the enviroplus_exporter on a Pi4

The enviroplus exporter is successfully running as a use that is a member of the following groups 4(adm),5(tty),20(dialout),29(audio),44(video),46(plugdev),100(users),105(input),109(netdev),999(spi),998(i2c),997(gpio)

which should give access to the following devices

crw-rw---- 1 root i2c 89, 1 May 7 12:44 /dev/i2c-1 crw-rw---- 1 root dialout 204, 64 May 7 12:44 /dev/ttyAMA0 crw-rw---- 1 root gpio 245, 0 May 7 12:44 /dev/gpiomem

I've configured systems to mask the serial device to not conflict/confuse the exporter

systemctl mask serial-getty@serial0.service

Prometheus is successfully scraping data from the Raspberry Pi - the service is advertised by consul and Prometheus is picking up the service and importing data.

if I view the host directly on 8000/metrics I see what looks like a full set of metrics

HELP python_gc_objects_collected_total Objects collected during gc

TYPE python_gc_objects_collected_total counter

python_gc_objects_collected_total{generation="0"} 204.0 python_gc_objects_collected_total{generation="1"} 280.0 python_gc_objects_collected_total{generation="2"} 0.0

HELP python_gc_objects_uncollectable_total Uncollectable object found during GC

TYPE python_gc_objects_uncollectable_total counter

python_gc_objects_uncollectable_total{generation="0"} 0.0 python_gc_objects_uncollectable_total{generation="1"} 0.0 python_gc_objects_uncollectable_total{generation="2"} 0.0

HELP python_gc_collections_total Number of times this generation was collected

TYPE python_gc_collections_total counter

python_gc_collections_total{generation="0"} 137.0 python_gc_collections_total{generation="1"} 12.0 python_gc_collections_total{generation="2"} 1.0

HELP python_info Python platform information

TYPE python_info gauge

python_info{implementation="CPython",major="3",minor="9",patchlevel="2",version="3.9.2"} 1.0

HELP process_virtual_memory_bytes Virtual memory size in bytes.

TYPE process_virtual_memory_bytes gauge

process_virtual_memory_bytes 8.2972672e+07

HELP process_resident_memory_bytes Resident memory size in bytes.

TYPE process_resident_memory_bytes gauge

process_resident_memory_bytes 3.6417536e+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.65192388739e+09

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

TYPE process_cpu_seconds_total counter

process_cpu_seconds_total 18.23

HELP process_open_fds Number of open file descriptors.

TYPE process_open_fds gauge

process_open_fds 17.0

HELP process_max_fds Maximum number of open file descriptors.

TYPE process_max_fds gauge

process_max_fds 1024.0

HELP temperature Temperature measured (*C)

TYPE temperature gauge

temperature 35.98381768334932

HELP pressure Pressure measured (hPa)

TYPE pressure gauge

pressure 1022.3256846924709

HELP humidity Relative humidity measured (%)

TYPE humidity gauge

humidity 15.286055765417066

HELP oxidising Mostly nitrogen dioxide but could include NO and Hydrogen (Ohms)

TYPE oxidising gauge

oxidising 24667.86708135538

HELP reducing Mostly carbon monoxide but could include H2S, Ammonia, Ethanol, Hydrogen, Methane, Propane, Iso-butane (Ohms)

TYPE reducing gauge

reducing 449435.89743589784

HELP NH3 mostly Ammonia but could also include Hydrogen, Ethanol, Propane, Iso-butane (Ohms)

TYPE NH3 gauge

NH3 413333.33333333355

HELP lux current ambient light level (lux)

TYPE lux gauge

lux 42.724

HELP proximity proximity, with larger numbers being closer proximity and vice versa

TYPE proximity gauge

proximity 0.0

HELP PM1 Particulate Matter of diameter less than 1 micron. Measured in micrograms per cubic metre (ug/m3)

TYPE PM1 gauge

PM1 1.0

HELP PM25 Particulate Matter of diameter less than 2.5 microns. Measured in micrograms per cubic metre (ug/m3)

TYPE PM25 gauge

PM25 2.0

HELP PM10 Particulate Matter of diameter less than 10 microns. Measured in micrograms per cubic metre (ug/m3)

TYPE PM10 gauge

PM10 2.0

HELP cpu_temperature CPU temperature measured (*C)

TYPE cpu_temperature gauge

cpu_temperature 49.173

HELP battery_voltage Voltage of the battery (Volts)

TYPE battery_voltage gauge

battery_voltage 0.0

HELP battery_percentage Percentage of the battery remaining (%)

TYPE battery_percentage gauge

battery_percentage 0.0

HELP oxidising_measurements Histogram of oxidising measurements

TYPE oxidising_measurements histogram

oxidising_measurements_bucket{le="0.0"} 0.0 oxidising_measurements_bucket{le="10000.0"} 0.0 oxidising_measurements_bucket{le="15000.0"} 95.0 oxidising_measurements_bucket{le="20000.0"} 377.0 oxidising_measurements_bucket{le="25000.0"} 1200.0 oxidising_measurements_bucket{le="30000.0"} 1200.0 oxidising_measurements_bucket{le="35000.0"} 1200.0 oxidising_measurements_bucket{le="40000.0"} 1200.0 oxidising_measurements_bucket{le="45000.0"} 1200.0 oxidising_measurements_bucket{le="50000.0"} 1200.0 oxidising_measurements_bucket{le="55000.0"} 1200.0 oxidising_measurements_bucket{le="60000.0"} 1200.0 oxidising_measurements_bucket{le="65000.0"} 1200.0 oxidising_measurements_bucket{le="70000.0"} 1200.0 oxidising_measurements_bucket{le="75000.0"} 1200.0 oxidising_measurements_bucket{le="80000.0"} 1200.0 oxidising_measurements_bucket{le="85000.0"} 1200.0 oxidising_measurements_bucket{le="90000.0"} 1200.0 oxidising_measurements_bucket{le="100000.0"} 1200.0 oxidising_measurements_bucket{le="+Inf"} 1201.0 oxidising_measurements_count 1201.0 oxidising_measurements_sum 2.5425092426756132e+07

HELP oxidising_measurements_created Histogram of oxidising measurements

TYPE oxidising_measurements_created gauge

oxidising_measurements_created 1.6519238929116244e+09

HELP reducing_measurements Histogram of reducing measurements

TYPE reducing_measurements histogram

reducing_measurements_bucket{le="0.0"} 0.0 reducing_measurements_bucket{le="100000.0"} 0.0 reducing_measurements_bucket{le="200000.0"} 0.0 reducing_measurements_bucket{le="300000.0"} 0.0 reducing_measurements_bucket{le="400000.0"} 0.0 reducing_measurements_bucket{le="500000.0"} 1200.0 reducing_measurements_bucket{le="600000.0"} 1200.0 reducing_measurements_bucket{le="700000.0"} 1200.0 reducing_measurements_bucket{le="800000.0"} 1200.0 reducing_measurements_bucket{le="900000.0"} 1200.0 reducing_measurements_bucket{le="1e+06"} 1200.0 reducing_measurements_bucket{le="1.1e+06"} 1200.0 reducing_measurements_bucket{le="1.2e+06"} 1200.0 reducing_measurements_bucket{le="1.3e+06"} 1200.0 reducing_measurements_bucket{le="1.4e+06"} 1200.0 reducing_measurements_bucket{le="1.5e+06"} 1200.0 reducing_measurements_bucket{le="+Inf"} 1201.0 reducing_measurements_count 1201.0 reducing_measurements_sum 5.713870752145402e+08

HELP reducing_measurements_created Histogram of reducing measurements

TYPE reducing_measurements_created gauge

reducing_measurements_created 1.6519238929118214e+09

HELP nh3_measurements Histogram of nh3 measurements

TYPE nh3_measurements histogram

nh3_measurements_bucket{le="0.0"} 0.0 nh3_measurements_bucket{le="10000.0"} 0.0 nh3_measurements_bucket{le="110000.0"} 0.0 nh3_measurements_bucket{le="210000.0"} 0.0 nh3_measurements_bucket{le="310000.0"} 0.0 nh3_measurements_bucket{le="410000.0"} 353.0 nh3_measurements_bucket{le="510000.0"} 1200.0 nh3_measurements_bucket{le="610000.0"} 1200.0 nh3_measurements_bucket{le="710000.0"} 1200.0 nh3_measurements_bucket{le="810000.0"} 1200.0 nh3_measurements_bucket{le="910000.0"} 1200.0 nh3_measurements_bucket{le="1.01e+06"} 1200.0 nh3_measurements_bucket{le="1.11e+06"} 1200.0 nh3_measurements_bucket{le="1.21e+06"} 1200.0 nh3_measurements_bucket{le="1.31e+06"} 1200.0 nh3_measurements_bucket{le="1.41e+06"} 1200.0 nh3_measurements_bucket{le="1.51e+06"} 1200.0 nh3_measurements_bucket{le="1.61e+06"} 1200.0 nh3_measurements_bucket{le="1.71e+06"} 1200.0 nh3_measurements_bucket{le="1.81e+06"} 1200.0 nh3_measurements_bucket{le="1.91e+06"} 1200.0 nh3_measurements_bucket{le="2e+06"} 1200.0 nh3_measurements_bucket{le="+Inf"} 1201.0 nh3_measurements_count 1201.0 nh3_measurements_sum 4.9675200238341254e+08

HELP nh3_measurements_created Histogram of nh3 measurements

TYPE nh3_measurements_created gauge

nh3_measurements_created 1.6519238929121718e+09

HELP pm1_measurements Histogram of Particulate Matter of diameter less than 1 micron measurements

TYPE pm1_measurements histogram

pm1_measurements_bucket{le="0.0"} 183.0 pm1_measurements_bucket{le="5.0"} 1199.0 pm1_measurements_bucket{le="10.0"} 1199.0 pm1_measurements_bucket{le="15.0"} 1199.0 pm1_measurements_bucket{le="20.0"} 1199.0 pm1_measurements_bucket{le="25.0"} 1199.0 pm1_measurements_bucket{le="30.0"} 1199.0 pm1_measurements_bucket{le="35.0"} 1199.0 pm1_measurements_bucket{le="40.0"} 1199.0 pm1_measurements_bucket{le="45.0"} 1199.0 pm1_measurements_bucket{le="50.0"} 1199.0 pm1_measurements_bucket{le="55.0"} 1199.0 pm1_measurements_bucket{le="60.0"} 1199.0 pm1_measurements_bucket{le="65.0"} 1199.0 pm1_measurements_bucket{le="70.0"} 1199.0 pm1_measurements_bucket{le="75.0"} 1199.0 pm1_measurements_bucket{le="80.0"} 1199.0 pm1_measurements_bucket{le="85.0"} 1199.0 pm1_measurements_bucket{le="90.0"} 1199.0 pm1_measurements_bucket{le="95.0"} 1199.0 pm1_measurements_bucket{le="100.0"} 1199.0 pm1_measurements_bucket{le="+Inf"} 1199.0 pm1_measurements_count 1199.0 pm1_measurements_sum 1062.0

HELP pm1_measurements_created Histogram of Particulate Matter of diameter less than 1 micron measurements

TYPE pm1_measurements_created gauge

pm1_measurements_created 1.6519238929124079e+09

HELP pm25_measurements Histogram of Particulate Matter of diameter less than 2.5 micron measurements

TYPE pm25_measurements histogram

pm25_measurements_bucket{le="0.0"} 294.0 pm25_measurements_bucket{le="5.0"} 1199.0 pm25_measurements_bucket{le="10.0"} 1199.0 pm25_measurements_bucket{le="15.0"} 1199.0 pm25_measurements_bucket{le="20.0"} 1199.0 pm25_measurements_bucket{le="25.0"} 1199.0 pm25_measurements_bucket{le="30.0"} 1199.0 pm25_measurements_bucket{le="35.0"} 1199.0 pm25_measurements_bucket{le="40.0"} 1199.0 pm25_measurements_bucket{le="45.0"} 1199.0 pm25_measurements_bucket{le="50.0"} 1199.0 pm25_measurements_bucket{le="55.0"} 1199.0 pm25_measurements_bucket{le="60.0"} 1199.0 pm25_measurements_bucket{le="65.0"} 1199.0 pm25_measurements_bucket{le="70.0"} 1199.0 pm25_measurements_bucket{le="75.0"} 1199.0 pm25_measurements_bucket{le="80.0"} 1199.0 pm25_measurements_bucket{le="85.0"} 1199.0 pm25_measurements_bucket{le="90.0"} 1199.0 pm25_measurements_bucket{le="95.0"} 1199.0 pm25_measurements_bucket{le="100.0"} 1199.0 pm25_measurements_bucket{le="+Inf"} 1199.0 pm25_measurements_count 1199.0 pm25_measurements_sum 1114.0

HELP pm25_measurements_created Histogram of Particulate Matter of diameter less than 2.5 micron measurements

TYPE pm25_measurements_created gauge

pm25_measurements_created 1.6519238929126346e+09

HELP pm10_measurements Histogram of Particulate Matter of diameter less than 10 micron measurements

TYPE pm10_measurements histogram

pm10_measurements_bucket{le="0.0"} 921.0 pm10_measurements_bucket{le="5.0"} 1199.0 pm10_measurements_bucket{le="10.0"} 1199.0 pm10_measurements_bucket{le="15.0"} 1199.0 pm10_measurements_bucket{le="20.0"} 1199.0 pm10_measurements_bucket{le="25.0"} 1199.0 pm10_measurements_bucket{le="30.0"} 1199.0 pm10_measurements_bucket{le="35.0"} 1199.0 pm10_measurements_bucket{le="40.0"} 1199.0 pm10_measurements_bucket{le="45.0"} 1199.0 pm10_measurements_bucket{le="50.0"} 1199.0 pm10_measurements_bucket{le="55.0"} 1199.0 pm10_measurements_bucket{le="60.0"} 1199.0 pm10_measurements_bucket{le="65.0"} 1199.0 pm10_measurements_bucket{le="70.0"} 1199.0 pm10_measurements_bucket{le="75.0"} 1199.0 pm10_measurements_bucket{le="80.0"} 1199.0 pm10_measurements_bucket{le="85.0"} 1199.0 pm10_measurements_bucket{le="90.0"} 1199.0 pm10_measurements_bucket{le="95.0"} 1199.0 pm10_measurements_bucket{le="100.0"} 1199.0 pm10_measurements_bucket{le="+Inf"} 1199.0 pm10_measurements_count 1199.0 pm10_measurements_sum 429.0

HELP pm10_measurements_created Histogram of Particulate Matter of diameter less than 10 micron measurements

TYPE pm10_measurements_created gauge

pm10_measurements_created 1.6519238929128149e+09

however, if I look at what consul is advertising to prometheus (and therefore prometheus scapes) I see the following, which is basically only the pm device stats.

HTTP GET http://localhost:8000/metrics: 200 OK Output: am of nh3 measurements

TYPE nh3_measurements_created gauge

nh3_measurements_created 1.6519238929121718e+09

HELP pm1_measurements Histogram of Particulate Matter of diameter less than 1 micron measurements

TYPE pm1_measurements histogram

pm1_measurements_bucket{le="0.0"} 183.0 pm1_measurements_bucket{le="5.0"} 1179.0 pm1_measurements_bucket{le="10.0"} 1179.0 pm1_measurements_bucket{le="15.0"} 1179.0 pm1_measurements_bucket{le="20.0"} 1179.0 pm1_measurements_bucket{le="25.0"} 1179.0 pm1_measurements_bucket{le="30.0"} 1179.0 pm1_measurements_bucket{le="35.0"} 1179.0 pm1_measurements_bucket{le="40.0"} 1179.0 pm1_measurements_bucket{le="45.0"} 1179.0 pm1_measurements_bucket{le="50.0"} 1179.0 pm1_measurements_bucket{le="55.0"} 1179.0 pm1_measurements_bucket{le="60.0"} 1179.0 pm1_measurements_bucket{le="65.0"} 1179.0 pm1_measurements_bucket{le="70.0"} 1179.0 pm1_measurements_bucket{le="75.0"} 1179.0 pm1_measurements_bucket{le="80.0"} 1179.0 pm1_measurements_bucket{le="85.0"} 1179.0 pm1_measurements_bucket{le="90.0"} 1179.0 pm1_measurements_bucket{le="95.0"} 1179.0 pm1_measurements_bucket{le="100.0"} 1179.0 pm1_measurements_bucket{le="+Inf"} 1179.0 pm1_measurements_count 1179.0 pm1_measurements_sum 1042.0

HELP pm1_measurements_created Histogram of Particulate Matter of diameter less than 1 micron measurements

TYPE pm1_measurements_created gauge

pm1_measurements_created 1.6519238929124079e+09

HELP pm25_measurements Histogram of Particulate Matter of diameter less than 2.5 micron measurements

TYPE pm25_measurements histogram

pm25_measurements_bucket{le="0.0"} 294.0 pm25_measurements_bucket{le="5.0"} 1179.0 pm25_measurements_bucket{le="10.0"} 1179.0 pm25_measurements_bucket{le="15.0"} 1179.0 pm25_measurements_bucket{le="20.0"} 1179.0 pm25_measurements_bucket{le="25.0"} 1179.0 pm25_measurements_bucket{le="30.0"} 1179.0 pm25_measurements_bucket{le="35.0"} 1179.0 pm25_measurements_bucket{le="40.0"} 1179.0 pm25_measurements_bucket{le="45.0"} 1179.0 pm25_measurements_bucket{le="50.0"} 1179.0 pm25_measurements_bucket{le="55.0"} 1179.0 pm25_measurements_bucket{le="60.0"} 1179.0 pm25_measurements_bucket{le="65.0"} 1179.0 pm25_measurements_bucket{le="70.0"} 1179.0 pm25_measurements_bucket{le="75.0"} 1179.0 pm25_measurements_bucket{le="80.0"} 1179.0 pm25_measurements_bucket{le="85.0"} 1179.0 pm25_measurements_bucket{le="90.0"} 1179.0 pm25_measurements_bucket{le="95.0"} 1179.0 pm25_measurements_bucket{le="100.0"} 1179.0 pm25_measurements_bucket{le="+Inf"} 1179.0 pm25_measurements_count 1179.0 pm25_measurements_sum 1094.0

HELP pm25_measurements_created Histogram of Particulate Matter of diameter less than 2.5 micron measurements

TYPE pm25_measurements_created gauge

pm25_measurements_created 1.6519238929126346e+09

HELP pm10_measurements Histogram of Particulate Matter of diameter less than 10 micron measurements

TYPE pm10_measurements histogram

pm10_measurements_bucket{le="0.0"} 915.0 pm10_measurements_bucket{le="5.0"} 1179.0 pm10_measurements_bucket{le="10.0"} 1179.0 pm10_measurements_bucket{le="15.0"} 1179.0 pm10_measurements_bucket{le="20.0"} 1179.0 pm10_measurements_bucket{le="25.0"} 1179.0 pm10_measurements_bucket{le="30.0"} 1179.0 pm10_measurements_bucket{le="35.0"} 1179.0 pm10_measurements_bucket{le="40.0"} 1179.0 pm10_measurements_bucket{le="45.0"} 1179.0 pm10_measurements_bucket{le="50.0"} 1179.0 pm10_measurements_bucket{le="55.0"} 1179.0 pm10_measurements_bucket{le="60.0"} 1179.0 pm10_measurements_bucket{le="65.0"} 1179.0 pm10_measurements_bucket{le="70.0"} 1179.0 pm10_measurements_bucket{le="75.0"} 1179.0 pm10_measurements_bucket{le="80.0"} 1179.0 pm10_measurements_bucket{le="85.0"} 1179.0 pm10_measurements_bucket{le="90.0"} 1179.0 pm10_measurements_bucket{le="95.0"} 1179.0 pm10_measurements_bucket{le="100.0"} 1179.0 pm10_measurements_bucket{le="+Inf"} 1179.0 pm10_measurements_count 1179.0 pm10_measurements_sum 415.0

HELP pm10_measurements_created Histogram of Particulate Matter of diameter less than 10 micron measurements

TYPE pm10_measurements_created gauge

pm10_measurements_created 1.6519238929128149e+09

When I check this, the health check to get the data from consul, is http://localhost:8000/metrics however if I query the fqdn http://fqdn:8000/metrics - I get the full set.

I can verify this on the actual host using curl, eg: curl http://localhost:8000/metrics v curl http://fqdn:8000/metrics

what is the difference between referencing the fqdn / localhost to node_exporter, I couldn't see anything in the code that would impact this behaviour.

it's easy for me to work around this with consul to just specify the health check as fqdn rather than localhost, but by default the health check is localhost (which does make sense as the exporter is running 'locally'

ikonia commented 2 years ago

incorrect details - reloading