Экспериментирую с проверкой работы служб в Windows через Zabbix без использования агента. Через SNMP можно получить следующие данные:
$ snmpwalk -v 2c -c public 10.0.XXX.XXX LanMgr-Mib-II-MIB::svSvcName
LanMgr-Mib-II-MIB::svSvcName."Server" = STRING: "Server"
LanMgr-Mib-II-MIB::svSvcName."Netlogon" = STRING: "Netlogon"
LanMgr-Mib-II-MIB::svSvcName."IP Helper" = STRING: "IP Helper"
LanMgr-Mib-II-MIB::svSvcName."Telephony" = STRING: "Telephony"
LanMgr-Mib-II-MIB::svSvcName."DNS Client" = STRING: "DNS Client"
LanMgr-Mib-II-MIB::svSvcName."DHCP Client" = STRING: "DHCP Client"
LanMgr-Mib-II-MIB::svSvcName."DHCP Server" = STRING: "DHCP Server"
LanMgr-Mib-II-MIB::svSvcName."Workstation" = STRING: "Workstation"
LanMgr-Mib-II-MIB::svSvcName."SNMP Service" = STRING: "SNMP Service"
....
На основе них создал элемент данных типа "SNMPv2 агент". Сделал ключ, например:
LanMgr-Mib-II-MIB::svSvcOperatingState["index","LanMgr-Mib-II-MIB::svSvcName","DHCP Client"]
Если служба находится в состоянии "Работает", то все отлично и получаю ответ "1".
Если же служба выключается, то сама запись об этой службе исчезает в выдаче SNMP, соответственно в Zabbix'е отображается ошибка, что snmp запрос не удался: "SNMP error: (noSuchName) There is no such variable name in this MIB".
Пытался сделать триггер на отсутствие данных: {Custom Test Template:DHCP_Client_Service.nodata(60s)}=1 - не срабатывает.
Вопрос: Возможно ли в Zabbix'е создать триггер на ошибку получения данных? Или как правильнее мониторить службы Windows без использования клиента?