Установка и настройка nagios на Ubuntu.

Ubuntu, Системное администрирование

Tagged Under : ,

Nagios — программа с открытым кодом, предназначенная для мониторинга компьютерных систем и сетей. Она следит за указанными узлами и службами, и оповещает администратора в том случае, если какие-то из служб прекращают (или возобновляют) свою работу. Так же при помощи nagios можно просматривать состояние хостов и сервисов через web-интерфейс. Сейчас самая свежая версия nagios3.

    Для работы nagios3 вам понадобится

  • Apache
  • GCC compiler and development libraries
  • GD development libraries

Как ставит Apache я рассказывать не буду, библиотеки ставятся командами

sudo apt-get install build-essential
sudo apt-get install libgd2-xpm-dev

Хотя у меня на работал Nagios3 и без этих библиотек. Я буду рассказывать про работу Nagios с Apache2.

Установка Nagios3 производится одной командой.

sudo apt-get install nagios3

После установки nagios уже запущен и работает. Теперь создадим в Apache отдельный виртуальный хост для nagios. Создайте в каталоге /etc/apache2/sites-enabled конфигурационный файл для хоста nagios. В настройках хоста укажите в роли домашнего каталога /usr/share/nagios3/htdocs обычно все web-файлы nagios3 лежат там. Ещё надо подключить к настройкам apache настройки nagios. Добавьте в файл /etc/apache2/apache2.conf следующую строчку.

Include /etc/nagios3/apache2.conf

После этого зайдите на этот новый хост, если вы всё правильно сделали у вас браузер должен спросить пароль, который вы ещё не знаете, зато всё работает.

Теперь займёмся настройкой nagios. Все конфигурационные файлы лежат в /etc/nagios3/. Главный конфигурационный файл nagios.cfg в нём подключаются все остальные конфигурационные файлы и задаются настройки самого nagios. Так что если Вы создали какой-то свой конфигурационный файл не забудьте подключить его в этом файле.
Дальше переходим к файлу cgi.cfg, в нём выставляются все настройки cgi скриптов, так же в нём выставляются права на доступ к сайту с графическим интерфейсом. По умолчанию полный доступ имеет пользователь nagiosadmin, если ходите разрешить что-то другим пользователям просто допишите их через запятую. Мой конфиг выглядит так.

default_user_name=myuser 
authorized_for_system_information=nagiosadmin,myuser 
authorized_for_configuration_information=nagiosadmin,myuser 
authorized_for_system_commands=nagiosadmin,myuser
authorized_for_all_services=nagiosadmin,myuser
authorized_for_all_hosts=nagiosadmin,myuser
authorized_for_all_services=nagiosadmin,myuser 
authorized_for_all_hosts=nagiosadmin,myuser
authorized_for_all_service_commands=nagiosadmin,myuser 
authorized_for_all_host_commands=nagiosadmin,myuser

Где myuser это мой логин. Теперь нужно создать файл с пользователями и паролем, для этого перейдите в каталог /etc/nagios3/ воспользуемся команду

cd  /etc/nagios3/ 
sudo htpasswd -c htpasswd.users myuser

и введите пароль для пользователя myuser
По умолчанию nagios ищет пользователей для аутентификации в файле /etc/nagios3/htpasswd.users , но вы можете хранить из в другом месте, для этого поменяйте в файле /etc/nagios3/apache2.conf параметр AuthUserFile на свой.

Теперь чтобы изменения вступило в силу перезагрузите nagios

sudo /etc/init.d/nagios3 restart

Так же можно проверять весь конфиг nagios перед перезагрузкой

sudo  nagios3 -v  /etc/nagios3/nagios.cfg

Он проверит файл nagios.cfg и все файлы которые подключаются в нём и если найдёт ошибки напишет подробную информацию, я советую делать такую проверку после каждого изменения в конфигурационных файлах.

Всё теперь зайдите на свой виртуальных хост созданный для nagios и введите логин и пароль.
Вы увидите состояния своих сервисов, по умолчанию nagios проверяет работу localhost’а и gateway’а. Вы можете добавить свои хосты или сервисы для проверке, сейчас Мы рассмотрим как.

Допустим я хочу проверять когда мои коллеги включают и выключают компьютерны. Для этого сначала надо описать эти хосты. Создаём в каталоге /etc/nagios3/conf.d файл my-hosts.cfg и записываем в него мои хосты

# a host definition for my friends comps 
define host { 
        host_name   volodya                    #Имя хоста 
        alias       Volodya comp                #описание
        address     192.168.140.3             #ip адрес
        use         generic-host 
        } 
 
define host { 
        host_name   lexa 
        alias       lexa comp 
        address     192.168.140.4 
        use         generic-host 
        } 
 
 
define host { 
        host_name   xz1 
        alias       xz1 comp 
        address     192.168.140.5 
        use         generic-host 
        } 
 
define host { 
        host_name   xz2 
        alias       xz2 comp 
        address     192.168.140.8 
        use         generic-host 
        } 
 
define host { 
        host_name   diman 
        alias       diman comp 
        address     192.168.140.10 
        use         generic-host 
        }

Так как этот файл находится в каталоге /etc/nagios3/conf.d отдельно подключать его в файле
/etc/nagios3/nagios.cfg не надо, поскольку в нём уже по умолчанию подключаются все файлы из Директории /etc/nagios3/conf.d

Объединим эти хосты в группу. Запишем в конфигурационный файл групп /etc/nagios3/conf.d/hostgroups_nagios2.cfg такой текст

#Defind my group 
define hostgroup { 
        hostgroup_name  my-friends                                    #имя группы
                alias           my-friends comps                         # описание
                members         lexa, volodya, xz1,xz2, diman      #члены группы
        }

Теперь надо настроить службу которая будет проверять эту группу хостов. Дописываем в файл /etc/nagios3/conf.d/services_nagios2.cfg или создаём свой файл с таким конфилом.

# check that my friends comps are up 
define service { 
        hostgroup_name      my-friends      #имя группы для проверки
        service_description     PING                             
        check_command      check_ping!100.0,20%!500.0,60%  #команда проверки
        use              generic-service            
}

Состояние хостов в nagios

Для рассылки уведомлений создайте контакт в файле /etc/nagios3/conf.d/contacts_nagios2.cfg Например такой.

define contact{ 
        contact_name                    pasha         #имя
        alias                           pasha                       
        service_notification_period     24x7            #период уведомлений о сервисах
        host_notification_period        24x7            #период уведомлений о хостах
        service_notification_options    w,u,c,r         #о чём уведомлять уведомлений 
        host_notification_options       d               #уведомлять о том что хост down
        service_notification_commands   notify-service-by-email  #как уведомлять
        host_notification_commands      notify-host-by-email #как уведомлять
        email                           f448dmg@yandex.ru  # mail
        }

Временные периоды задаются в файле /etc/nagios3/conf.d/contacts_nagios2.cfg там уже есть несколько уже заданных по умолчанию периода, по их аналогу Вы легко зададите свои.

Похожие посты.

  1. Guake — эмулятор терминала.
  2. Conky в Ubuntu
  3. Tilda — эмулятор терминала.
  4. Установка и настройка transmission-daemon

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

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