Назад | Перейти на главную страницу

nrpe для Windows - фильтр и аргументы меняют пороговые значения

у меня есть мой сервер Linux для мониторинга с

NRPE Plugin for Nagios
Version: 3.2.1

и я установил на машине Windows NSClient++ с этим скриптом .bat.

set setupfile="NSCP-0.5.2.35-x64.msi"
msiexec /l install.log /i %setupfile% CONF_CAN_CHANGE="TRUE" ALLOWED_HOSTS="1.2.3.4/32,127.0.0.1/32" CONF_NRPE="TRUE" CONF_CHECKS="TRUE" CONF_NSCLIENT="FALSE" CONF_WEB="FALSE" CONF_NSCA="FALSE" /quiet
copy "nrpe_dh_2048.pem" "C:\Program Files\NSClient++\security\nrpe_dh_2048.pem"
cd "C:\Program Files\NSClient++"
nscp.exe settings --activate-module "NRPEServer" --add-defaults
nscp.exe settings --path "/modules" --key "CheckDisk" --set "enabled"
nscp.exe settings --path "/modules" --key "CheckSystem" --set "enabled"
nscp.exe settings --path "/settings/default" --key "bind to" --set ""
nscp.exe settings --path "/settings/NRPE/server" --key "ssl options" --set "no-sslv2,no-sslv3,no-tlsv1"
nscp.exe settings --path "/settings/NRPE/server" --key "dh" --set "${certificate-path}/nrpe_dh_2048.pem"
nscp.exe settings --path "/settings/NRPE/server" --key "allow arguments" --set "true"
nscp.exe settings --path "/settings/log" --key "level" --set "warning"
net stop nscp
net start nscp

моя команда выглядит так:

./check_nrpe --v2-packets-only -H 172.16.0.1 -p 5666 --unknown-timeout --command="Check_drivesize"

Как я могу фильтровать по диску C: только? или изменить порог предупреждения / критического значения?

Примеры не сработали https://docs.nsclient.org/reference/windows/CheckDisk/#check_drivesize_samples

например.

./check_nrpe --v2-packets-only -H 172.16.0.1 -p 5666 --unknown-timeout --command="Check_drivesize" "crit=free<10%" "drive=c:"

Вывод:

OK All 3 drive(s) are ok|'C:\ used'=12.46093GB;15.54609;17.48935;0;19.43261 'C:\ used %'=64%;80;90;0;100 'A:\ used'=0B;0;0;0;0 'D:\ used'=0B;0;0;0;0

Чтобы ответить на исходный вопрос и мой вопрос выше.

Это необходимо установить в nsclient.ini.

[/settings/NRPE/server]
allow arguments = true
allow nasty characters = true

Теперь это работает.

D:\Program Files\NSClient>check_nrpe host=127.0.0.1 port=15666 certificate=security/ca.pem verify=peer-cert allowed-ciph
ers=ALL command=check_drivesize argument="critical=free < 10%" argument="drive=c:"
OK All 1 drive(s) are ok|'c: free'=25.15175GB;0;4.99969;0;49.99706 'c: free %'=50%;0;10;0;100 'c: used'=24.84531GB;39.99
765;0;0;49.99706 'c: used %'=50%;80;0;0;100

Я думаю, что с помощью check_nrpe вам нужно передавать аргументы с параметрами -a:

-a, --args = LIST Необязательные аргументы, которые должны быть переданы команде, разделенные пробелом. Если предоставляется, это должен быть последний параметр в командной строке.

в вашем файле nrpe.cfg: command [xxx] = / usr / lib / nagios / plugins / xxx.sh "$ ARG1 $" "$ ARG2 $" "$ ARG3 $"