Короткий практический кейс. Как заставить Agent-а zabbix выполнить внешнюю команду на хосте? И вернуть полученную информацию на сервер zabbix-а?
Делай раз. Изменить для Agent-а:
- добавить в файл zabbix_agentd.win.conf:
UserParameter=Certificate, PowerShell.exe (Get-ChildItem -Path cert: -Recurse -ExpiringInDays 45).subject
Изменить значение параметра Timeout на максимальное, т.е.
# Spend no more than Timeout seconds on processing.
Timeout=30
Делай два. Изменить для Server-а:
- в файл zabbix_server.conf изменить значение параметра Timeout на максимальное
Timeout = 30
Делай три. При создании новой Item нужно использовать в качестве ключа слово "Certificate".
Делай четыре. При создании триггера его Expression может выглядеть как
{192.168.1.15:Certificate.strlen()}>1
что значит что триггер сработает если в выводе будет хотя бы один два символа.
А запрос Get-ChildItem -Path cert: -Recurse -ExpiringInDays 100).subject
вернет построчно информацию про сертификаты которые истекают про сроку действия в течение 100 дней
Например вот такую:
CN=Oracle Corporation, O=Oracle Corporation, L=Redwood Shores, S=California, C=US
Успехов.
UserParameter=Certificate, PowerShell.exe -Noninteractive -ExecutionPolicy Bypass -Noprofile -Command (Get-ChildItem -Path cert: -Recurse -ExpiringInDays 60).subject
ReplyDelete