Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
extErrFix.2 = INTEGER: 0
extErrFixCmd.1 = STRING:
extErrFixCmd.2 = STRING:
Нас интересует extOutput, в которой находится первая строка из того, что скрипт выводит на экран, и extResult с кодом возврата скрипта, переданным командой exit. Судя по приведенному выше списку значений, у нас в системе находится один пользователь, а в почтовой очереди есть два письма. Сервисы для проверки результатов работы обоих скриптов будут выглядеть так:
define service{
use generic-service
host_name Linux
service_description Users
is_volatile 0
check_period 24x7
check_command check_snmp_oid!.1.3.6.1.4.1.2021.8.1.101.1!InK12345!20!30!users
}
define service{
use generic-service
host_name Linux
service_description Mail queue
is_volatile 0
check_period 24x7
check_command check_snmp_oid!.1.3.6.1.4.1.2021.8.1.101.2!InK12345!40!80!messages
}
Конечно, в реальном мире скрипты-проверки могут быть гораздо сложнее и возвращать с помощью команды exit коды, указывающие на те или иные проблемы в сети. В этом случае есть возможность с помощью добавочной опции execfix указывать на программу, запускаемую snmpd и отвечающую за попытки автоматического исправления ошибок, обнаруженных проверочным скриптом. К примеру, таким образом можно описать программу исправления аварийного положения с почтовой очередью.
execfix mailqueue /bin/sh /usr/bin/repair_mailqueue.sh
Конечно, эта возможность опциональна, но упомянуть о ней все же стоило. Любопытный читатель может спросить, а что делать, если мой скрипт выводит несколько строк полезной информации, и мне нужно считать их все до единой. Я отвечу, что это не проблема. Нужно всего лишь добавить в snmpd.conf вот такую строку:
exec .1.3.6.1.4.1.2021.50 multi_line_test /bin/sh/tmp/mytest.sh
И создать скрипт /tmp/mytest.sh следующего содержания.
echo "first line"
echo "second line"
exit 5