среда, 16 октября 2013 г.

Nagios


Для чего все это нужно ?



Nagios предназначен для мониторинга серверов и сервисов.
Под сервисом может пониматься много чего, например http, т.е. веб-сервер, запущенный на каком-то хосте.
Программа нужна каждому, у кого есть веб-сайт и кто хочет знать о том, находится ли он в рабочем состоянии.
В этой статье я покажу базовые основы, за дополнительными сведениями обращайтесь на официальный сайт.

Установка



Прежде всего, у вас должен стоять настроенный apache/php веб-сервер.
После того, как сервер установлен, ставим сам nagios:


Или через консоль:
sudo apt-get install nagios3

Во время установки, вам будут заданы вопросы относительно почты. Оставляю это на ваше усмотрение.
Запускать, останавливать nagios можно таким же способом, как и другие модули:
sudo /etc/init.d/nagios3 start
sudo /etc/init.d/nagios3 stop
Создадим пароль для дефолтного юзера nagiosadmin:
sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
Теперь открываем браузер и вводим в адресную строку:
Вместо localhost подставляйте нужное значение, если вы устанавливаете nagios на удаленном сервере.
Вводите имя пользователя nagiosadmin и пароль, заданный выше.
Вы должны увидеть приблизительно такую картину:
Слева вы видите меню, в котором можно выбирать нужный пункт, а справа - собственно результат.
Выбираем слева "Host Detail".
Вы увидите список хостов и их статус. В моем случае их два: машина, на которой запущен nagios, и роутер.
У вас, соответственно, будет свое.
Далее открываем "Service Detail".
На каждом хосте есть свой набор "сервисов", которые проверяет nagios.
У вас будет установлен дефолтный набор сервисов для локальной машины, на которой ставится nagios.
Если у вас есть проблемы с Disk Space, как у меня на скриншоте, я покажу ниже, как это починить.

Настройка

В качестве примера, я добавлю конфигурацию для сайта ubuntologia.ru
Мне нужно добавить хост и пару сервисов.
Для начала, где размещаются основные конфигурационные файлы
  • В директории /etc/apache2/conf.d/ находится файл nagios3.conf, из которого апач берет настройки для nagios.
  • Конфирационные файлы nagios находятся в директории /etc/nagios3.
  • Файл /etc/nagios3/htpasswd.users содержит пароли для пользователей nagios. Команду для создания файла и установки пароля для дефолтного пользователя nagios я приводил выше. В дальнейшем, вам нужно будет опустить аргумент "-c" при задании пароля для нового пользователя, иначе новый файл затрет старый.
  • Файл /etc/nagios3/nagios.cfg содержит основную конфигурацию самого nagios. Например, логи или путь к остальным конфигурационным файлам, которые nagios зачитывает при старте.
  • Самое интересное находится в директории /etc/nagios/conf.d. Именно здесь задаются новые хосты и сервисы.
Зайдите в директорию и просмотрите содержимое файлов, чтобы иметь в голове примерную картину происходящего. Хосты задаются через директиву define host, сервисы через директиву define service. Имеются группы хостов, которыми мы сейчас и воспользуемся.
Создаем новый файл:
sudo gedit /etc/nagios3/conf.d/host-ubuntologia.cfg
Вместо host-ubuntologia.cfg пишите имя вашего хоста, какое пожелаете.
Можно скопировать определение хоста из файла localhost_nagios2.cfg. Вот что получилось у меня:
define host {
host_name         ubuntologia
alias             ubuntologia
address           ubuntologia.ru
use               generic-host
}
В поле address пишем адрес хоста. Это может быть либо адрес сайта, либо ip-адрес.
В поле host_name пишем идентификатор, который будем использовать далее.
В после alias пишите что угодно.
В настоящий момент оставьте значение поля use в generic-host, а в будущем вы сами решите, что туда вписать, после дополнительного чтения документации.
Сохраняем файл и перезагружаем nagios.
Заходим на страницу "Host Details":
Если вы все сделали верно, то должны увидеть ваш новый хост в этом списке. Не волнуйтесь, если статус будет "Pedding" - это означает, что nagios еще не успел проверить новый хост.
Система такова, что nagios делает проверку регулярно, по заданному интервалу времени. Через некоторое время вы увидите результаты.
Теперь, чтобы добавить сервисы, мы добавим наш хост в определенную группу.
sudo gedit /etc/nagios3/conf.d/hostgroups_nagios2.cfg
Вы увидите список групп хостов.
Все, что нужно сделать, это добавить ваш новый хост в определенную группу.
В моем случае я добавил хост в три группы: debian-servers, http-servers и ping-servers
# A list of your Debian GNU/Linux servers
define hostgroup {
hostgroup_name  debian-servers
alias           Debian GNU/Linux Servers
members         localhost, ubuntologia
}

# A list of your web servers
define hostgroup {
hostgroup_name  http-servers
alias           HTTP servers
members         localhost, ubuntologia
}

# nagios doesn't like monitoring hosts without services, so this is
# a group for devices that have no other "services" monitorable
# (like routers w/out snmp for example)
define hostgroup {
hostgroup_name  ping-servers
alias           Pingable servers
members         gateway, ubuntologia
}
Как говорит комментарий к ping-servers, nagios не любит мониторить сервера без сервисов, поэтому группу ping-servers можно использовать для всех хостов, у которых нет сервисов. Все, что будет делать nagios - пинговать сервер. Я добавил его сюда просто для наглядности.
Группа сервисов http-servers предназначена для проверки доступности http.
А группа debian-servers взята тоже для примера, который вы увидите чуть ниже.
Итак, перезапускаем nagios и открываем "Service Details".
Если вы все сделали верно, вы должны увидеть ваши новые сервисы. В моем случае это http и ping. Вы спросите, а зачем было добавлять хост в группу debian-servers? Обратите внимание на иконку напротив хоста. Именно это и регулируется с помощью этой группы. Настройка группы находится в файле /etc/nagios3/conf.d/extinfo_nagios2.cfg.
Вот и все. На этом я заканчиваю тестовый обзор возможностей nagios. Надеюсь, что эта статья сподвигнет вас к тому, чтобы изучить этот прекрасный во всех смыслах инструмент и настроить его под свои нужды. В левом меню nagios есть ссылка на документацию. Также есть много плагинов, которые можно найти на официальном сайте. Также добавлю, что с помощью nagios можно измерять даже температуру процессора и скорость вращения кулеров.
Ну и напоследок, фикс проблемы с дисковым пространством в Ubuntu:
sudo gedit /etc/nagios-plugins/config/disk.cfg
Вам нужно добавить то, что выделено красным:
# 'check_disk' command definition
define command{
command_name    check_disk
command_line    /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -p '$ARG3$' -A -i '.gvfs'
}

# 'check_all_disks' command definition
define command{
command_name    check_all_disks
command_line    /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -A -i '.gvfs'
}

Комментариев нет:

Отправить комментарий