Pull to refresh

Свой сервер мониторинга с nagios и cacti

Configuring Linux
Под катом советы по быстрому развертыванию «системы мониторинга» посредством nagios и cacti.

Предположим имеется девственно чистый сервер с предустановленным debian lenny. А нам предстоит сделать из этой бесформенной массы луна-парк с блэк джеком и девочками. Хм, хотя нет, наверное все таки нужно сделать сервер мониторинга с nagios и cacti.

Прежде всего необходимо поставить ssh сервер и mc (midnight commander), думаю комментировать зачем и почему мы это делаем излишне
debian:~# apt-get update
debian:~# apt-get install openssh-server
debian:~# apt-get install mc


Далее ставим nagios. Ставить будем «кошерным» способом, посредством apt. Это избавит нас от проблемы зависимостей, многочасового лазания в дебрях конфигурационных файлов и сократит время разворачивания системы.
И так, набираем магическую команду

debian:~# apt-get install nagios3

и, вуаля у нас уже установлен нагиос в минимальной конфигурации. Что же произошло? Менеджер пакетов просмотрел зависимости для пакета nagios3. Кроме базового пакета были установлены плагины к нагиосу, апач и много-много нужных библиотек.
Так же были созданы минимальные конфиги для нагиоса и апача. В теории все должно «работать из коробки», но как обычно приходиться пользоваться напильником.

Как мы можем увидеть, в конфиге /etc/nagios3/nagios.conf указано, что для доступа к nagios используется обыкновенная http авторизация, но к сожалению файла авторизации нет.
Дабы исправить сей скорбный факт создадим его командой
debian:~# htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin

Прошу обратить внимание, что пользователь должен быть именно nagiosadmin, а не Вася, Люся или Петручио.
Это связано, с тем что по умолчанию в nagios.cfg пользователь c доступом ко всем функциям — nagiosadmin.

Включаем обработку внешних команд, вещь нужная, например для «Re-schedule the next check of this host».
debian:~# mcedit /etc/nagios3/nagios.cfg

check_external_commands=1

Изменяем пермишенсы и владельцев
chown -R nagios.www-data /var/lib/nagios3
chmod -R 770 /var/lib/nagios3/spool
chmod 644 /etc/nagios3/resource.cfg


Установка nagios3 завершена. Мы можем зайти в интерфейс nagios3 набрав в Вашем любимом браузере
http ://youre_server_ip/nagios3
Теперь с чистой совестью приступим к его конфигурации. Вы можете с головой погрузиться в конфигурационные файлы и часами их править, получая неописуемое удовлетворение множественные оргазмы от данного процесса. Либо совершить акт настройки нагиоса посредством веб интерфейса. Например, применив NagiosQL.
Дабы соблюсти «кошерность» установки NagiosQL, добавим репозиторий с присобранным NagiosQL в список репозиториев.
Список репозиториев находиться в /etc/apt/sources.list:

deb http:// debian.swobspace.net lenny main
deb-src http:// debian.swobspace.net lenny main

Дальше, что бы из репозитория debian.swobspace.net получить только NagiosQL создадим файл /etc/apt/preferences
debian:~# touch /etc/apt/preferences

и в нем укажем, наши предпочтения по установке пакетов

Package: *
Pin: origin debian.swobspace.net
Pin-Priority: 200

Package: nagiosql
Pin: origin debian.swobspace.net
Pin-Priority: 600


Получаем и импортируем ключи для репозитория debian.swobspace.net
debian:~# wget http:// www.swobspace.net/wob@swobspace.net.pub.asc -O- | apt-key add -

Обновляем список пакетов
debian:~# apt-get update

Устанавливаем NagiosQL
debian:~# apt-get install nagiosql

Именно здесь Мы целиком и полностью видим преимущество «кошерного» подхода в установке пакетов, в зависимостях оказались php, mysql, необходимые модули и библиотеки. Не надо ломать голову почему не работает какая то функция, или почему не генерируется график.
Во время установки вас спросит root пароль для доступа к базе данных mysql, обязательно запишите его на листочке.

Настройка
1.Активируем установщик NagiosQL
debian:~# touch /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER

2. Заходим http ://youre_server_ip/nagiosql и в интуитивно понятном веб интерфейсе выполняем установку, именно здесь и потребуется тот клочок пергамента на котором мы неясными каракулями записали root пароль от mysql.

3. После удачной установки деактивируем установщик NagiosQL
debian:~# rm -f /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER
для надежности можно удалить всю папку с установщиком
debian:~# rm -rf /usr/share/nagiosql/htdocs/install

4. Добавляем в /etc/nagios3/nagios.cfg строку.
cfg_dir=/etc/nagiosql/domains/localhost

5. Создаем папку /etc/nagios/import и копируем в нее все конфиги из /etc/nagios3/conf.d и /etc/nagios-plugins/. И импортируем их в NagiosQL.
Импорт данных осуществляется в меню Tools => Data import

6. Выкидываем в мусорку листок с записанным root паролем для mysql

Дальше с NagiosQL придется разбираться самим, google translate Вам в помощь.

Установка cacti собственно как и nagios весьма незатейлива

debian:~# apt-get install cacti

Перед вам опять предстанет довольно большой список зависимостей, не раздумывая набирайте Yes. В процессе установки Нам снова потребуется несчастный листик с паролем от mysql, зря мы наверное его выкинули в мусорку.

Осталось настроить cacti, здесь все просто, как и с NagiosQL. Интуитивно понятный интерфейс.
http ://youre_server_ip/cacti
Стандартный логин и пароль для доступа к cacti: admin/admin.

Теперь, предположим у нас есть есть сервер, с которого мы будем снимать данные и по ним рисовать графики.
Снимать данные мы будем посредством snmpd
Устанавливаем snmpd на сервере, с которого будем снимать данные(опять же, я подразумеваю, что на сервере стоит debian lenny).
shaper:~# apt-get install snmpd

в конфиге /etc/default/snmpd изменяем ип адрес на котором будет принимать запросы демон snmpd

shaper:~# mcedit /etc/default/snmpd

вместо
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
изменяем
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid you_server2_ip'

Добавляем строку в файл /etc/snmp/snmpd.conf

rocommunity my_snmp_community youre_server_ip

rocommunity — разрешается доступ только для чтения
my_snmp_community — снмп комунити для доступа к данным
youre_server_ip — ип с которого разрешен доступ к демону

Перезагружаем снмп
shaper:~# /etc/init.d/snmpd restart

Дальнейшие операции проделываем в интерфейсе Cacti
Console => Management => Devices => Add (Правый верхний угол)
Descpription — описание машины
Hostname — IP
Host Template — udc/net SNMPD Host

SNMP Version — Version 2

SNMP Community — снмп коммунити указанное на сервере

Нажимаем Create
Если после этого видим

Ping Results
Host is alive

Нажимаем Create Graphs for this Host
Проставляем «чекбоксы» на тех графиках, которые вы хотите отрисовывать и жмем Create (для гигабитных интерфейсов необходимо выбрать в селекторе Select a graph type — In/Out Bits (64-bit Counters))

Если и опять все прошло успешно, мы можем добавить «наш сервер» на дерево графиков
Console => Management => Graph Trees =>Default Tree => Add (Правый верхний угол)

Tree Item Type — выбираем Host
Host — наш сервер

Жмем Create.
И через 5-10 минут наслаждаемся графиками.

Беспощадно уничтожаем листок с записанным root паролем для mysql

На базовую настройку сервера мониторинга у нас ушло не более получаса. Опять же, прошу заметить базовую.
Остальное в Ваших руках, как говориться полет фантазии никто не ограничивает, главное не злоупотреблять галлюциногенами.
Tags:monitoringnagioscactidebianlinux
Hubs: Configuring Linux
Total votes 16: ↑11 and ↓5+6
Views70K

Popular right now