Я хочу контролировать свой DNS-сервер с помощью Nagios. Я понимаю, что есть плагин check_dns, но я полный Nagios noob и понятия не имею, как я буду использовать этот плагин. Все, что я хочу сделать, - это убедиться, что команда nslookup завершилась успешно. Может ли кто-нибудь указать мне правильное направление?
войдите на сервер nagios с помощью putty (windows) или slogin в оболочке unix. Если вы войдете в систему как root, станьте пользователем nagios:
# su - nagios [enter]
Перейдите в каталог / usr / local / nagios / libexec (при условии, что вы установили nagios из источника, если вы использовали пакет из своего дистрибутива, проверьте документацию своего пакета):
$ cd /usr/local/nagios/libexec
выполнить плагин check_dns с переключателем --help. Он предоставит вам все доступные варианты:
$./check_dns --help
check_dns v1.4.15 (nagios-plugins 1.4.15)
Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>
Copyright (c) 2000-2008 Nagios Plugin Development Team
<nagiosplug-devel@lists.sourceforge.net>
This plugin uses the nslookup program to obtain the IP address for the given host/domain query.
An optional DNS server to use may be specified.
If no DNS server is specified, the default server(s) specified in /etc/resolv.conf will be used.
Usage:
check_dns -H host [-s server] [-a expected-address] [-A] [-t timeout] [-w warn] [-c crit]
Options:
-h, --help
Print detailed help screen
-V, --version
Print version information
-H, --hostname=HOST
The name or address you want to query
-s, --server=HOST
Optional DNS server you want to use for the lookup
-a, --expected-address=IP-ADDRESS|HOST
Optional IP-ADDRESS you expect the DNS server to return. HOST must end with
a dot (.). This option can be repeated multiple times (Returns OK if any
value match). If multiple addresses are returned at once, you have to match
the whole string of addresses separated with commas (sorted alphabetically).
-A, --expect-authority
Optionally expect the DNS server to be authoritative for the lookup
-w, --warning=seconds
Return warning if elapsed time exceeds value. Default off
-c, --critical=seconds
Return critical if elapsed time exceeds value. Default off
-t, --timeout=INTEGER
Seconds before connection times out (default: 10)
Send email to nagios-users@lists.sourceforge.net if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to nagiosplug-devel@lists.sourceforge.net
Итак, если вы хотите проверить, что serverfault.com разрешает 69.59.196.211, сделайте следующее:
./check_dns -H serverfault.com -a 69.59.196.211
DNS OK: 0.013 seconds response time. serverfault.com returns 69.59.196.211|time=0.012614s;;;0.000000
Как видите, вы также можете указать, какой DNS-сервер запрашивать, с помощью переключателя -s, предупреждения и критических пороговых значений и т. Д. Когда вы удовлетворены проверкой, запускаемой из cli, вы редактируете файл конфигурации nagios, в котором вы определяете services (возможно, services.cfg) и примените проверку к данному узлу (группе). Но это гораздо лучше задокументировано в прекрасном руководстве, которое вы даже можете прочитать из веб-интерфейса, который был установлен при установке nagios.
Вероятно, у вас уже есть команда, определенная в вашей стандартной конфигурации nagios, например:
define command{
command_name check_dns
command_line /usr/lib/nagios/plugins/check_dns -H google.ca -s $HOSTADDRESS$
}
Мой находится в /etc/nagios/objects/commands.cfg
Самый простой случай - определить службу, которая проверяет DNS-сервер на хосте:
define service{
use generic-service
host_name ns1
service_description DNS
check_command check_dns
}
Обратите внимание, что это предполагает:
ns1
уже настроен как хостgeneric service
уже настроен с полезными значениями по умолчаниюNagios - довольно сложный инструмент, нет действительно простого «быстрого старта».
Чтобы команда искала двоичный check_dns в нужном месте, лучше определить его с помощью переменных nagios (установка по умолчанию):
define command{
command_name check_dns
command_line $USER1$/check_dns -H www.example.com -a 93.184.216.119 -s $HOSTADDRESS$
}
Приведенная выше команда проверяет, что тестируемый сервер возвращает адрес 93.184.216.119 для имени хоста www.example.com.
Запустите плагин с параметром -h, и он предоставит вам документацию по его использованию. Нормальные параметры включают хост для тестирования, критические ограничения и пределы предупреждений. Тест DNS, скорее всего, будет включать в себя то, что вы хотите найти.