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

    Под катом советы по быстрому развертыванию «системы мониторинга» посредством 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

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

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

      0
      добавьте графики, разбавьте текст немного.
      Я для себя выбрал Zabbix, более «взрослое» решение на мой взгляд, легко масштабируется до тысяч хостов.
        0
        А зачем ставить сразу две системы мониторинга? Они дополняют друг друга или же вы просто привели в пример установку две популярных системы?
          0
          Да, они дополнят друг-друга. У нагиоса и какти несколько разные задачи.
          Так же нужно учитывать, что данную статью я писал как небольшой мануал для своего друга, который «столкнулся с линуксом вплотную очень недавно».
            0
            Я тоже «столкнулся с линуксом вплотную очень недавно» )) Поэтому было бы круто прочитать какие же задачи решает нагиос и какие какти?

            Только что попробовал развернуть как-то не удалось, не видит cgi файлы.
              0
              nagios — система мониторинга, повзоляющая собирать ряд данных с клиентов и на основе них (данных) делать выводы о статусе хоста/проверки на нем
              cacti — система сбора и графического представления данных — как-то загрузка процессора, сети, etc.
          +1
          … луна-парк с блэк джеком и девочами
            0
            хотел бы заметить.
            как мы можем
            Беспощадно уничтожаем листок с записанным root паролем для mysql

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


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

              debian:~# apt-get install cacti

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

              ubuntu-karmic-amd64
              PHP HTML_Template_IT support (pear module) * Failed

              Solution:
              sudo apt-get install php-pear
              sudo pear install HTML_Template_IT
                0

                Следует упомянуть, что кактус может работать только с php версии не выше 5.6. В противном случае карту нарисовать получится, а вот посмотреть ее нет.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое