12/14/2007

Істаляція та настроювання Nagios (Part 1)

Інсталяція системи моніторингу Nagios у Debian і Ubuntu.

Для створення повноцінної системи моніторингу нам потрібно
  • встановлений дистрибутив одного з лінуксів(Debian і Ubuntu)
  • настроєний веб сервер Apache
  • інтернет канал))
Якщо це все внас вже підготовлене, приступаємо до істаляції пакетів(інсталяцію потрібно проводити з правами суперкористувача)
apt-get install nagios-text 
базова система nagios заінсталиться на вашу систему, але для повноцінного використання ми ще повинні доставити плагіни
apt-get install nagios-plugins

Преходимо до настроювання моніторингу
Нам потрібно
  • знайти cgi.cfg і перенсти його в /etc/nagios
  • перенести інфу з apache.conf в /etc/apeche2/sites-enabled/nagios

Як бачимо файлів конфігурації є доволі багато.
Але якщо трішки по працювати над файлами можна частини з них позбутись і оптимізувати.
Спочатку конфігуруємо файл в якому містяться дані про користувачів яким буде відсилатись інформація про ваші сервіси contacts.cfg

define contact{
contact_name admin
alias Mega Admin
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email,notify-by-pager
host_notification_commands host-notify-by-email,host-notify-by-epager
email admin@yourdomain.com
pager 5555555@pager.yourdomain.com
}
Згідно цих даних наш адмін буде отримувати повідомлення по імейлу і на телефон/пейджер

Далі настроюємо файл contactsgroups.cfg

для прикладу я розкоментував дані стрічки

define contactgroup{
contactgroup_name linux_admin
alias Linux Administrators
members admin
}

Прийшла черга настроїти хости які ми будемо моніторити
/etc/nagios/hosts.cfg

define host{
use generic-host
host_name gw1.yourdomain.com
alias Gateway Router
address 10.0.0.1
check_command check-host-alive
max_check_attempts 20
notification_interval 240
notification_period 24x7
notification_options d,u,r
}

define host{
use generic-host
host_name mail.yourdomain.com
alias Mail Server
address 10.0.0.100
check_command check-host-alive
max_check_attempts 20
notification_interval 240
notification_period 24x7
notification_options d,u,r
}
Настроюємо групи хостів. У файлі /etc/nagios/hostgroups.cfg я розкоментував

# 'linux-boxes' host group definition
define hostgroup
{
hostgroup_name linux-boxes
alias Linux Servers
contact_groups linux-admins
members gw1.yourdomain.com,mail.yourdomain.com
}

Настроюємо сервіси які ми будемо перевіряти /etc/nagios/services.cfg
define service{
use generic-service
host_name mail.yourdomain.com
service_description SMTP
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups server_admin
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
check_command check_smtp
}

define service{
use generic-service
host_name gw1.yourdomain.com
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups router_admin
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
check_command check_ping!100.0,20%!500.0,60%
}

Ось так має виглядати вікно Service Status у вікні бровзера

А тепер про проблеми з якими я стикнувся
при виконанні команди перевірки DNS в автоматичному режимі від бувалась помилка, а з командного рядка все нормально працювало....
пофіксалось все просто: в файлі /etc/nagios-plugins/config/dns.cfg
check_dns -H www.google.com -s $HOSTADDRESS$ замінив на check_dns -H $ARG1$ -s $HOSTADDRESS$

Для перевірки ваших настройок виконуємо наступну команду

nagios -v /etc/nagios/nagios.cfg 
Стартуємо наш сервер монітрингу з новими параметрами
/etc/init.d/nagios restart

У наступному випуску я опишу як настроїти Nagios не використовуючи автоматичне інсталення

2 comments:

Olexandr Kravchuk said...

Дозвольте я це опіблікую на debian-administration.org.ua?

Ігор (Brun) Броновський said...

Треба попробувати. =)))