Version 2.3.0p21
Hi, I am using the checkmk for the first time, I read the documentation but there are some things I don’t understand. I have custom MIB file which needs to be used and for that as I understood I need to make custom SNMP based plugin. First I created host in the checkmk UI and next I tried doing that, I wrote the plugin with help of the documentation:
#!/usr/bin/env python3
from cmk.agent_based.v2 import (
CheckPlugin,
CheckResult,
DiscoveryResult,
Result,
Service,
SimpleSNMPSection,
SNMPTree,
State,
startswith,
exists,
StringTable,
OIDEnd,
)
def parse_unac(string_table: StringTable) -> dict:
if not string_table:
print("No data received in string_table")
return {}
print(string_table)
result = {}
for oid, value in string_table:
result[oid] = value
return result
def discover_unac(section) -> DiscoveryResult:
for oid in section.keys():
yield Service(item=oid)
def check_unac(section):
for item in section.keys():
value = section.get(item)
if value is not None:
yield CheckResult(
state=State.OK,
summary=f"UNAC {item}: {value}",
)
else:
yield CheckResult(
state=State.CRIT,
summary=f"UNAC {item}: No data found",
)
snmp_section_unac = SimpleSNMPSection(
name="unac_info",
parse_function=parse_unac,
detect=exists(".1.3.6.1.4.1.50449"),
fetch=SNMPTree(
base=".1.3.6.1.4.1.50449",
oids=[
OIDEnd(),
'1',
],
),
check_plugin_unac = CheckPlugin(
name="unac_check",
sections=["unac_info"],
service_name="UNAC Check",
discovery_function=discover_unac,
check_function=check_unac,
)
and I put it on path local/lib/python3/cmk_addons/plugins/unac/agent_based/unac-test.py
and my custom MIB file I put in on path local/share/check_mk/mibs/
But when I try
“cmk --debug -vvn hostname”:
value store: synchronizing
Trying to acquire lock on /omd/sites/checkmk/tmp/check_mk/counters/unac-test
Got lock on /omd/sites/checkmk/tmp/check_mk/counters/unac-test
value store: loading from disk
Releasing lock on /omd/sites/checkmk/tmp/check_mk/counters/unac-test
Released lock on /omd/sites/checkmk/tmp/check_mk/counters/unac-test
Checkmk version 2.3.0p21
+ FETCHING DATA
Source: SourceInfo(hostname='unac-test', ipaddress='192.168.182.132', ident='snmp', fetcher_type=<FetcherType.SNMP: 7>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7febd08748f0]
Read from cache: SNMPFileCache(unac-test, path_template=/omd/sites/checkmk/tmp/check_mk/data_source_cache/snmp/{mode}/{hostname}, 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 55 sec, allowed is 0 sec)
SNMP scan:
Skipping system description OID (Set .1.3.6.1.2.1.1.1.0 and .1.3.6.1.2.1.1.2.0 to "")
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Getting OID .1.3.6.1.4.1.1139.21.2.2.8.1.*: Running 'snmpgetnext -Cf -v2c -c public -m "" -M "" -On -OQ -Oe -Ot 192.168.182.132 .1.3.6.1.4.1.1139.21.2.2.8.1'
SNMP answer: ==> [0]
failed.
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Getting OID .1.3.6.1.2.1.2.2.1.*: Running 'snmpgetnext -Cf -v2c -c public -m "" -M "" -On -OQ -Oe -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1'
SNMP answer: ==> [1]
b'1'
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.2.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.1.0: ''
Using cached OID .1.3.6.1.2.1.1.2.0: ''
SNMP scan found hr_mem if snmp_uptime
Trying to acquire lock on /omd/sites/checkmk/tmp/check_mk/snmp_scan_cache/unac-test.192.168.182.132
Got lock on /omd/sites/checkmk/tmp/check_mk/snmp_scan_cache/unac-test.192.168.182.132
Releasing lock on /omd/sites/checkmk/tmp/check_mk/snmp_scan_cache/unac-test.192.168.182.132
Released lock on /omd/sites/checkmk/tmp/check_mk/snmp_scan_cache/unac-test.192.168.182.132
hr_fs: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.25.2.3.1.2'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.25.2.3.1.3'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.25.2.3.1.4'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.25.2.3.1.5'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.25.2.3.1.6'
hr_mem: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Already fetched OID: .1.3.6.1.2.1.25.2.3.1.2
Already fetched OID: .1.3.6.1.2.1.25.2.3.1.3
Already fetched OID: .1.3.6.1.2.1.25.2.3.1.4
Already fetched OID: .1.3.6.1.2.1.25.2.3.1.5
Already fetched OID: .1.3.6.1.2.1.25.2.3.1.6
if: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.1'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.2'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.3'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.5'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.8'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.10'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.11'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.12'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.13'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.14'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.16'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.17'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.18'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.19'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.20'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.21'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.2.2.1.6'
snmp_uptime: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.1.3'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.2.1.25.1.1'
ucd_diskio: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.13.15.1.1.1'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.13.15.1.1.2'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.13.15.1.1.3'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.13.15.1.1.4'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.13.15.1.1.5'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.13.15.1.1.6'
ucd_mem: Fetching data (SNMP walk cache is enabled: Use any locally cached information)
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.5'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.6'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.3'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.4'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.11'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.12'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.13'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.14'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.15'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.100'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.2'
Running 'snmpbulkwalk -Cr10 -v2c -c public -m "" -M "" -Cc -OQ -OU -On -Ot 192.168.182.132 .1.3.6.1.4.1.2021.4.101'
Write data to cache file /omd/sites/checkmk/tmp/check_mk/data_source_cache/snmp/checking/unac-test
Trying to acquire lock on /omd/sites/checkmk/tmp/check_mk/data_source_cache/snmp/checking/unac-test
Got lock on /omd/sites/checkmk/tmp/check_mk/data_source_cache/snmp/checking/unac-test
Releasing lock on /omd/sites/checkmk/tmp/check_mk/data_source_cache/snmp/checking/unac-test
Released lock on /omd/sites/checkmk/tmp/check_mk/data_source_cache/snmp/checking/unac-test
[cpu_tracking] Stop [7febd08748f0 - Snapshot(process=posix.times_result(user=0.029999999999999805, system=0.009999999999999995, children_user=0.1, children_system=0.04, elapsed=0.2199999988079071))]
[cpu_tracking] Start [7febd1757530]
+ PARSE FETCHER RESULTS
HostKey(hostname='unac-test', source_type=<SourceType.HOST: 1>) -> Add sections: ['hr_fs', 'hr_mem', 'if', 'snmp_uptime', 'ucd_diskio', 'ucd_mem']
Received no piggyback data
Disk IO dm-0 [5], Read: 0.00 B/s, Write: 1.33 kB/s
Disk IO dm-1 [6], Read: 0.00 B/s, Write: 0.00 B/s
Disk IO sda [1], Read: 0.00 B/s, Write: 1.33 kB/s
Disk IO sda1 [2], Read: 0.00 B/s, Write: 0.00 B/s
Disk IO sda2 [3], Read: 0.00 B/s, Write: 1.33 kB/s
Disk IO sr0 [4], Read: 0.00 B/s, Write: 0.00 B/s
Filesystem / Used: 72.86% - 12.4 GiB of 17.0 GiB, trend per 1 day 0 hours: -18.7 MiB, trend per 1 day 0 hours: -0.11%
Filesystem /boot Used: 23.47% - 238 MiB of 1014 MiB, trend per 1 day 0 hours: +0 B, trend per 1 day 0 hours: +0%
Filesystem /dev/shm Used: 0% - 0 B of 1.84 GiB, trend per 1 day 0 hours: +0 B, trend per 1 day 0 hours: +0%
Filesystem /run Used: 0.62% - 11.6 MiB of 1.84 GiB, trend per 1 day 0 hours: +67.6 KiB, trend per 1 day 0 hours: +<0.01%
Filesystem /run/user/0 Used: 0% - 0 B of 377 MiB, trend per 1 day 0 hours: +0 B, trend per 1 day 0 hours: +0%
Filesystem /sys/fs/cgroup Used: 0% - 0 B of 1.84 GiB, trend per 1 day 0 hours: +0 B, trend per 1 day 0 hours: +0%
Interface 2 [eth0], (up), MAC: 00:0C:29:A9:57:B6, Speed: 1 GBit/s, In: 598 B/s (<0.01%), Out: 845 B/s (<0.01%)
Interface 3 [eth4], (up), MAC: 00:0C:29:A9:57:C0, Speed: 1 GBit/s, In: 9.64 B/s (<0.01%), Out: 47.3 B/s (<0.01%)
Memory Total (RAM + Swap): 25.93% - 978 MiB of 3.68 GiB RAM, RAM: 25.93% - 978 MiB of 3.68 GiB, Swap: 0% - 0 B of 2.00 GiB
Memory RAM: 25.87% - 976 MiB of 3.68 GiB, Swap: 0% - 0 B of 2.00 GiB, Total virtual memory: 16.77% - 976 MiB of 5.68 GiB
Uptime Up since 2024-11-29 07:14:21, Uptime: 4 hours 24 minutes
[cpu_tracking] Stop [7febd1757530 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.010000001639127731))]
[snmp] Success, execution time 0.2 sec | execution_time=0.230 user_time=0.030 system_time=0.010 children_user_time=0.100 children_system_time=0.040 cmk_time_snmp=0.040
I see other plugins are used and I can see only services that can be translated only using that plugins, but I don’t see my custom plugin is being used.
I tried a lot of things and I am out of ideas what can be wrong.Can you help me please and tell me what I am doing wrong and what should I change?