Сейчас 127 заметки.
Настройка мониторинга nagios и cacti(Linux)
Свой сервер мониторинга с nagios и cacti 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
На базовую настройку сервера мониторинга у нас ушло не более получаса. Опять же, прошу заметить базовую.
Остальное в Ваших руках, как говориться полет фантазии никто не ограничивает, главное не злоупотреблять галлюциногенами.