Site icon 8HOST.COM

Установка и настройка Shinken на сервере Ubuntu 12.04

Shinken – это гибкая, масштатбируемая и дружественная система мониторинга с открытым исходным кодом, основанная на ядре Nagios, написанном в Python. Система Shinken полностью совместима с программой Nagios и может использовать её плагины и конфигурации без внесения коррективов или дополнительной настройки.

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

Shinken дополняет «классические» функции мониторинга Nagios, позволяя настраивать распределённый и высокодоступный мониторинг активов, автоматически управлять топологиями VMware, различными гипервизорами (Xen, KVM и т.д.) и приложениями, размещёнными на Amazon EC2 (например, MySQL и Apache).

Shinken считается в 5 раз быстрее, чем Nagios, и поставляется с большим количеством легко устанавливаемых пакетов, благодаря чему можно очень быстро настроить и запустить мониторинг серверов, служб и приложений.

В данном руководстве используется два сервера Ubuntu 12.04 LTS (первый в качестве сервера, второй – в качестве клиента).

Установка Shinken

Чтобы установить Shinken на сервер, используйте автоматизированный установочный скрипт.

curl -L http://install.shinken-monitoring.org | /bin/bash

Этот скрипт создаст пользователя и группу, установит все зависимости и обработает установку Shinken.

После завершения установки откройте веб-интерфейс Shinken по ссылке http://X.X.X.X:7767 (учётные данные: admin/admin). Папка конфигураций будет расположена в /usr/local/shinken/etc.

Предварительная настройка Shinken

Сначала необходимо защитить веб-интерфейс системы.

Отредактируйте модуль веб-интерфейса:

nano /usr/local/shinken/etc/shinken-specific.cfg

Измените auth_secret, указав надёжный пароль вместо CHANGE_ME:

define module {
modules Apache_passwd, ActiveDir_UI, Cfg_password, PNP_UI, Mongodb, Glances_UI
manage_acl 1
play_sound 0
host 0.0.0.0
module_type webui
allow_html_output 0
max_output_length 100
module_name WebUI
auth_secret CHANGE_ME
port 7767
}

Сохраните и закройте файл.

Затем нужно установить надёжный пароль для администратора. Для этого откройте файл contacts.cfg и измените стандартный пароль:

nano /usr/local/shinken/etc/contacts.cfg
define contact{
use             generic-contact
contact_name    admin
email           shinken@localhost
pager           0600000000   ; contact phone number
password        admin
is_admin        1
}

В целом, инсталлятор устанавливает все необходимые зависимости и модули самостоятельно, однако настроить поддержку MongoDB нужно вручную (это необходимо для обработки и сохранения пользовательских настроек веб-интерфейса). В противном случае на экране появится предупреждение:

Error : you didn't define a WebUI module for saving user preference like the Mongodb one. You won't be able to use this page!

Чтобы установить поддержку Mongodb:

cd /usr/local/shinken
./install -a mongodb

Настойка сервера Shinken

В данном руководстве показано, как объявить хост Ubuntu 12.04 для мониторинга (ведомый сервер, или Shinken slave), установить на него SNMP и запустить мониторинг.

Шаблон SNMP обрабатывает следующие проверки:

После этого нужно будет использовать пакет FTP и SSH, чтобы проверить состояние FTP и SSH на slave сервере.

В данном случае под пакетами подразумеваются шаблоны для мониторинга общих и индивидуальных сервисов, серверов приложений, операционных систем и отдельных устройств. Эти пакеты находятся в каталоге /usr/local/shinken/etc/packs и классифицируются по типу; чтобы использовать пакет, нужно просто указать его имя в файле определения хоста.

Поскольку система Shinken полностью совместима с Nagios, можно добавить и использовать плагины Nagios.

Определение slave-сервера Shinken

На сервере мониторинга создайте хост-файл, соответствующий устройству Linux (slave-сервер Ubuntu), в каталоге /usr/local/shinken/etc/hosts:

nano /usr/local/shinken/etc/hosts/shinken_slave.cfg

Скопируйте и вставьте в него следующий код, заменив значения host_name и address своими данными.

define host{
use             linux
host_name       Shinken_slave
address         X.X.X.X
_SNMPCOMMUNITY  monitoring
}

Как говорилось ранее, в руководстве для примера показано, как использовать пакеты для мониторинга сервисов FTP и SSH. Эти пакеты будут проверять состояние общедоступных сервисов, приложений и протоколов без каких-либо специальных разрешений доступа. Для этого нужно добавить их в файл определения хоста (в строку use через запятую). В целом, строка use может содержать абсолютно любое количество пакетов без каких-либо ограничений, но не забывайте, что мониторить лучше только важные сервисы и приложения.

Итак, файл /usr/local/shinken/etc/hosts/shinken_slave.cfg будет выглядеть так:

define host{
use             linux,ftp,ssh
host_name       Shinken_slave
address         X.X.X.X
_SNMPCOMMUNITY  monitoring
}

Как было отмечено ранее, в руководстве на клиенте используется стандартная общая строка SNMP; в данном случае это monitoring.

Определив хост, обновите настройки Shinken:

service shinken restart

Настройка клиента

Установите SNMP на клиент:

apt-get install snmpd

Настройте общую строку и интерфейсы прослушивания.

Отредактируйте /etc/snmp/snmpd.conf, закомментировав строку:

agentAddress  udp:127.0.0.1:161

Затем раскомментируйте:

agentAddress udp:161,udp6:[::1]:161

Теперь нужно изменить общую строку SNMP для клиента; для этого измените стандартное значение строки public своим значением (в данном руководстве – monitoring).

Итак, замените:

rocommunity public

значением:

rocommunity monitoring

Перезапустите демон snmpd:

service snmpd restart

Веб-интерфейс Shinken

Теперь сервер мониторинга и клиент настроены. Откройте веб-интерфейс Shinken, введя IP сервера:

http://X.X.X.X:7767

Пройдя авторизацию, вы увидите пустую страницу с сообщением:

You don't have any widget yet?

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

Откройте вкладку All. На экране появится список машин для отслеживания, включая сервер (localhost). В этом списке будет и Shinken_slave.

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

Кликните add a widget и выберите необходимые виджеты. По умолчанию они отображают состояние локального хоста и сведения о нём. Их можно настроить для отображения данных о любом другом хосте, кликнув на Element name.

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