В цій статті хочу коротко описати про налаштування системи моніторингу Nagios. Надалі планую статтю доповнити. Тож приступимо.
По залежностях має потягнути за собою купу всього разом з апачем.
2) Створюємо юзера та пароль:
Тепер можна залогінитись на нагіос і побачити приблизно таке:
3) Редагуємо конфіги нагіоса. Першим відредагуємо файл груп. Він в основному використовується для того, щоб вживати скрипти перевірок одразу для груп хостів, а не для кожного окремо, і також для гарного представлення серверів в веб-інтерфейсі.
# vim /etc/nagios3/conf.d/hostgroups_nagios2.cfg
define hostgroup {
hostgroup_name all
alias All servers
members *
}
define hostgroup {
hostgroup_name web
alias Web servers
members web1, web2
}
define hostgroup {
hostgroup_name db
alias Database servers
members db1
}
З конфіга видно, що описано дві групи db i web та одна загальна all. В групу db входять хости web1, web2, в db (database) - db1. В якості alias можете написати те що вам до вподоби
4) Описуємо хости, що входитимуть в групи:
db1.example.com, web*.example.com - хости що ви хочете перевіряти.
5) Тепер ми можемо описати, які сервіси перевірки будуть працювати і що, власне, вони будуть перевіряти.
# vim /etc/nagios3/conf.d/services_nagios2.cfg
define service {
hostgroup_name webserver
service_description HTTP
check_command check_http
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
define service {
hostgroup_name db
service_description MySQL
check_command check_mysql_cmdlinecred!login!password!
use generic-service
notification_interval 0
}
Звертаю увагу, для перевірки mysql-баз необхідно, вказати нагіосу з яким паролем та логіном робити перевірку. Плюс до того ж всього треба в my.cnf розкоментити можливість коннектитись з інших, окрім локалхосту портів та створити юзера в БД, котрий може підключатись до баз віддалено.
Створюємо юзера:
> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON such_db.* to 'user'@'%';
І редагуємо файл my.cnf, коментимо рядок bind-address = 127.0.0.1
Власне все, повинні отримати щось схоже на це
UPD. Щоб додати можливість моніторити віддалені хости варто доустановити на стороні remote-сервера пакети nagios-nrpe-server nagios-plugins-basic :
# apt-get install nagios-nrpe-server nagios-plugins-basic
Демон має висіти на 5666 порту:
# netstat -an | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
Змінюємо конфігураційний файл /etc/nagios/nrpe.cfg на віддаленій тачці:
allowed_hosts=127.0.0.1,IP_основного_сервера
# дозволити використання аргументів при виклику plugin'ів
dont_blame_nrpe=1
# приклад опису plugin'ів
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda5
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
І перезапускаємо NRPE з новими параметрами:
# /etc/init.d/nagios-nrpe-server restart
Встановлюємо nrpe-плагін на моніторинг-сервері:
# apt-get install nagios-nrpe-plugin
Перевіряємо доступність віддаленого-сервера з моніторинг-сервера:
# /usr/lib/nagios/plugins/check_nrpe -H 192.168.3.176 -c check_users
USERS OK - 5 users currently logged in |users=5;5;10;0
Ну і знову ж, як в попередньому прикладі, додаємо опис в файли /etc/nagios3/conf.d/hosts.cfg , /etc/nagios3/conf.d/hostgroups_nagios2.cfg та в /etc/nagios3/conf.d/services_nagios2.cfg додаємо щось на кшталт цього:
define service {
use generic-service
host_name remote
service_description load avarage
check_command check_nrpe!check_load!IP віддаленого_сервера
Не забуваймо перезапускати нагіос і перевіряти конфіг. Ось мій результат:
Посилання:
http://www.myelin.co.nz/post/2008/10/30/
http://blog.sozinov.eu/2007/05/nrpe-nagios.html
1) Встановлюємо необхідні пакети:
# apt-get install nagios3
apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common bsd-mailx libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
libgd2-noxpm libnet-snmp-perl libpq5 libradius1 nagios-images nagios-plugins nagios-plugins-basic nagios-plugins-standard nagios3-cgi nagios3-common
nagios3-core php5-cli php5-common postfix snmp whois
2) Створюємо юзера та пароль:
# cd /etc/nagios3; htpasswd -c htpasswd.users nagiosadmin
Тепер можна залогінитись на нагіос і побачити приблизно таке:
3) Редагуємо конфіги нагіоса. Першим відредагуємо файл груп. Він в основному використовується для того, щоб вживати скрипти перевірок одразу для груп хостів, а не для кожного окремо, і також для гарного представлення серверів в веб-інтерфейсі.
# vim /etc/nagios3/conf.d/hostgroups_nagios2.cfg
define hostgroup {
hostgroup_name all
alias All servers
members *
}
define hostgroup {
hostgroup_name web
alias Web servers
members web1, web2
}
define hostgroup {
hostgroup_name db
alias Database servers
members db1
}
З конфіга видно, що описано дві групи db i web та одна загальна all. В групу db входять хости web1, web2, в db (database) - db1. В якості alias можете написати те що вам до вподоби
4) Описуємо хости, що входитимуть в групи:
додаємо
define host {
use generic-host;
host_name web1;
address web1.example.com;
}
define host {
use generic-host;
host_name web2;
address web2.example.com;
}
define host {
use generic-host;
host_name db1;
address db1.example.com;
}
use generic-host;
host_name web1;
address web1.example.com;
}
define host {
use generic-host;
host_name web2;
address web2.example.com;
}
define host {
use generic-host;
host_name db1;
address db1.example.com;
}
5) Тепер ми можемо описати, які сервіси перевірки будуть працювати і що, власне, вони будуть перевіряти.
# vim /etc/nagios3/conf.d/services_nagios2.cfg
define service {
hostgroup_name webserver
service_description HTTP
check_command check_http
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
define service {
hostgroup_name db
service_description MySQL
check_command check_mysql_cmdlinecred!login!password!
use generic-service
notification_interval 0
}
Створюємо юзера:
> GRANT ALL PRIVILEGES ON such_db.* to 'user'@'%';
І редагуємо файл my.cnf, коментимо рядок bind-address = 127.0.0.1
Власне все, повинні отримати щось схоже на це
UPD. Щоб додати можливість моніторити віддалені хости варто доустановити на стороні remote-сервера пакети nagios-nrpe-server nagios-plugins-basic :
# apt-get install nagios-nrpe-server nagios-plugins-basic
Демон має висіти на 5666 порту:
# netstat -an | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
Змінюємо конфігураційний файл /etc/nagios/nrpe.cfg на віддаленій тачці:
allowed_hosts=127.0.0.1,IP_основного_сервера
# дозволити використання аргументів при виклику plugin'ів
dont_blame_nrpe=1
# приклад опису plugin'ів
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda5
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
І перезапускаємо NRPE з новими параметрами:
# /etc/init.d/nagios-nrpe-server restart
Встановлюємо nrpe-плагін на моніторинг-сервері:
# apt-get install nagios-nrpe-plugin
Перевіряємо доступність віддаленого-сервера з моніторинг-сервера:
# /usr/lib/nagios/plugins/check_nrpe -H 192.168.3.176 -c check_users
USERS OK - 5 users currently logged in |users=5;5;10;0
Ну і знову ж, як в попередньому прикладі, додаємо опис в файли /etc/nagios3/conf.d/hosts.cfg , /etc/nagios3/conf.d/hostgroups_nagios2.cfg та в /etc/nagios3/conf.d/services_nagios2.cfg додаємо щось на кшталт цього:
define service {
use generic-service
host_name remote
service_description load avarage
check_command check_nrpe!check_load!IP віддаленого_сервера
Не забуваймо перезапускати нагіос і перевіряти конфіг. Ось мій результат:
Посилання:
http://www.myelin.co.nz/post/2008/10/30/
http://blog.sozinov.eu/2007/05/nrpe-nagios.html
Немає коментарів:
Дописати коментар