Eaton UPS Alarms

CMK version: 2.4.0p20
OS version: Ubuntu 24.04

Error message: -

Output of “cmk --debug -vvn hostname”: (If it is a problem with checks or plugins)

cmk --debug -vvn eaton01
value store: loading from disk
Checkmk version 2.4.0p20
+ FETCHING DATA
  Source: SourceInfo(hostname='eaton01', ipaddress='10.x.x.x', ident='snmp', fetcher_type=<FetcherType.SNMP: 7>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [79ea97c06870]
Read from cache: SNMPFileCache(path_template=/omd/sites/site/tmp/check_mk/data_source_cache/snmp/{mode}/eaton01, max_age=MaxAge(checking=0, discovery=90.0, inventory=90.0), simulation=False, use_only_cache=False, file_cache_mode=6)
Not using cache (Too old. Age is 36 sec, allowed is 0 sec)
  SNMP scan:
       Getting OID .1.3.6.1.2.1.1.1.0...
Running 'snmpget -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -On -OQ -Oe -Ot 10.x.x.x .1.3.6.1.2.1.1.1.0'
SNMP answer: ==> ["eaton01"]
       Got OID .1.3.6.1.2.1.1.1.0: b'eaton01'
       Getting OID .1.3.6.1.2.1.1.2.0...
Running 'snmpget -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -On -OQ -Oe -Ot 10.x.x.x .1.3.6.1.2.1.1.2.0'
SNMP answer: ==> [.1.3.6.1.4.1.534.1]
       Got OID .1.3.6.1.2.1.1.2.0: b'.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
       Using cached OID .1.3.6.1.2.1.1.2.0: '.1.3.6.1.4.1.534.1'
   SNMP scan found                    ups_battery_capacity ups_power
Trying to acquire lock on /omd/sites/site/tmp/check_mk/snmp_scan_cache/eaton01.10.x.x.x
Got lock on /omd/sites/site/tmp/check_mk/snmp_scan_cache/eaton01.10.x.x.x
Releasing lock on /omd/sites/site/tmp/check_mk/snmp_scan_cache/eaton01.10.x.x.x
Released lock on /omd/sites/site/tmp/check_mk/snmp_scan_cache/eaton01.10.x.x.x
if64: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.3'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.25.1.1'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.1'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.2'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.3'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.5'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.8'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.6'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.7'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.8'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.9'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.13'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.14'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.10'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.11'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.12'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.13'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.19'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.20'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.21'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.18'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.2.2.1.6'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.31.1.1.1.15'
snmp_info: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.1'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.2'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.4'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.5'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.6'
snmp_uptime: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Already fetched OID: .1.3.6.1.2.1.1.3
Already fetched OID: .1.3.6.1.2.1.25.1.1
ups_battery_capacity: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.2.3.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.2.4.0'
ups_battery_warnings_eaton_mg: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.5.9.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.5.11.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.5.14.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.5.15.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.5.16.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.7.4.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.7.7.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.7.10.0'
ups_in_voltage: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.3.3.1.3'
ups_on_battery_eaton_mg: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705.1.7.3.0'
ups_out_load: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.4.4.1.2'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.4.4.1.5'
ups_out_voltage: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Already fetched OID: .1.3.6.1.2.1.33.1.4.4.1.2
ups_power: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.4.4.1.4'
ups_seconds_on_battery: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.2.2.0'
ups_test: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.1.3.0'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.7.3'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.7.5'
Running 'snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A <hide> -x AES -X <hide> -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.2.1.33.1.7.4'
Write data to cache file /omd/sites/site/tmp/check_mk/data_source_cache/snmp/checking/eaton01
Trying to acquire lock on /omd/sites/site/tmp/check_mk/data_source_cache/snmp/checking/eaton01
Got lock on /omd/sites/site/tmp/check_mk/data_source_cache/snmp/checking/eaton01
Releasing lock on /omd/sites/site/tmp/check_mk/data_source_cache/snmp/checking/eaton01
Released lock on /omd/sites/site/tmp/check_mk/data_source_cache/snmp/checking/eaton01
[cpu_tracking] Stop [79ea97c06870 - Snapshot(process=posix.times_result(user=0.08000000000000007, system=0.020000000000000018, children_user=2.77, children_system=0.2, elapsed=4.010000000707805))]
  Source: SourceInfo(hostname='eaton01', ipaddress='10.x.x.x', ident='piggyback', fetcher_type=<FetcherType.PIGGYBACK: 4>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [79ea981b1f70]
Read from cache: NoCache(path_template=/dev/null, max_age=MaxAge(checking=0.0, discovery=0.0, inventory=0.0), simulation=False, use_only_cache=False, file_cache_mode=1)
0 piggyback files for 'eaton01'.
0 piggyback files for '10.x.x.x'.
Get piggybacked data
[cpu_tracking] Stop [79ea981b1f70 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.0))]
[cpu_tracking] Start [79ea97bd3cb0]
+ PARSE FETCHER RESULTS
  HostKey(hostname='eaton01', source_type=<SourceType.HOST: 1>)  -> Add sections: ['if64', 'snmp_info', 'snmp_uptime', 'ups_battery_capacity', 'ups_battery_warnings_eaton_mg', 'ups_in_voltage', 'ups_on_battery_eaton_mg', 'ups_out_load', 'ups_out_voltage', 'ups_power', 'ups_seconds_on_battery', 'ups_test']
  HostKey(hostname='eaton01', source_type=<SourceType.HOST: 1>)  -> Add sections: []
Received no piggyback data
Battery capacity     35 minutes 0 seconds, On mains, 100.00%
Battery state        No battery warnings reported
IN voltage phase 1   in voltage: 235V, (warn/crit at 210V/180V)
Interface eth0       [3], (up), MAC: 00:20:85:xx:xx:xx, Speed: 1 GBit/s, In: 3.67 kBit/s (<0.01%), Out: 6.07 kBit/s (<0.01%)
Interface usb0       [4], (up), MAC: 48:6F:73:xx:xx:xx, Speed: unknown, In: 0 Bit/s, Out: 0 Bit/s
OUT load phase 1     load: 0%
OUT voltage phase 1  out voltage: 229V (warn/crit at 210V/180V)
Power phase 1        Power: 310 W
SNMP Info            eaton01, ups-00-20-85-xx-xx-xx.tld, ...
Self Test            Last test: passed, No battery test since start of device, Uptime: 1 day 10 hours
Uptime               Up since 2026-01-28 11:13:03, Uptime: 1 day 10 hours
0 piggyback files for 'eaton01'.
[cpu_tracking] Stop [79ea97bd3cb0 - Snapshot(process=posix.times_result(user=0.020000000000000018, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.019999999552965164))]
[snmp] Success, [piggyback] Success (but no data found for this host), execution time 4.0 sec | execution_time=4.030 user_time=0.100 system_time=0.020 children_user_time=2.770 children_system_time=0.200 cmk_time_snmp=0.940 cmk_time_agent=0.000

Our UPS turned from one day to the other into a warning state. The battery has to be replaced, but CheckMK remains fully green.

I looked and researched about Battery State (check_mk-ups_battery_state). I also hoped to find the actual check file to gain insights to the used OIDs, but couldn’t find that file.

The overall question: Why does Battery State not indicate the needed battery replacement?
Side question: in the past, I looked into the detail page of the check under “Service check command” to investigate checks, but cannot find hints to “ups_battery_state”.

On your system the battery state is done with the check - ups_battery_warnings_eaton_mg
This check uses the shown list of OIDs.

If these are the corrects OIDs and check can only be said with an snmpwalk on this device.

But the OID subtree .1.3.6.1.4.1.705 is not the correct one for Eaton.

snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A pw -x AES -X pw -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.705
.1.3.6.1.4.1.705 = No Such Object available on this agent at this OID

This subtree looks more promising:

snmpbulkwalk -Cr10 -v3 -l authPriv -a SHA-256 -u readonly -A pw -x AES -X pw -m "" -M "" -Cc -OQ -OU -On -Ot 10.x.x.x .1.3.6.1.4.1.534
.1.3.6.1.4.1.534.1.1.1.0 = "EATON"
.1.3.6.1.4.1.534.1.1.2.0 = "Eaton 9PX 1500i RT 2U"
.1.3.6.1.4.1.534.1.1.3.0 = "01.22.6523"
.1.3.6.1.4.1.534.1.1.4.0 = 16
.1.3.6.1.4.1.534.1.1.5.0 = "9PX1500iRT2U"
.1.3.6.1.4.1.534.1.1.6.0 = "GA1....8247"
.1.3.6.1.4.1.534.1.2.1.0 = 2105
.1.3.6.1.4.1.534.1.2.2.0 = 52
.1.3.6.1.4.1.534.1.2.4.0 = 100
.1.3.6.1.4.1.534.1.2.5.0 = 4
.1.3.6.1.4.1.534.1.2.6.0 = "02/27/2026"  <-- e.g. this appears to be the rescheduled date for the alarm.
.1.3.6.1.4.1.534.1.2.7.0 = 1
.1.3.6.1.4.1.534.1.2.8.0 = 2
.1.3.6.1.4.1.534.1.2.9.0 = 2
.1.3.6.1.4.1.534.1.2.10.0 = 2
.1.3.6.1.4.1.534.1.3.1.0 = 500
.1.3.6.1.4.1.534.1.3.3.0 = 1
.1.3.6.1.4.1.534.1.3.4.1.1.1 = 1
.1.3.6.1.4.1.534.1.3.4.1.2.1 = 233
.1.3.6.1.4.1.534.1.3.4.1.5.1 = 1
.1.3.6.1.4.1.534.1.3.4.1.6.1 = "L1/A"
.1.3.6.1.4.1.534.1.3.5.0 = 3
...

If i see it correctly then CMK has no specific checks for Eaton UPS only for the Eaton MG series and for the shown OIDs the environment check for temperature and humidity.
No status check specific for Eaton is existing at the moment.