Установка и настройка Shinken на сервере Ubuntu 12.04
Ubuntu, VPS | Комментировать запись
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 обрабатывает следующие проверки:
- Проверка хоста каждые 5 минут (состояние хоста и пинга);
- Мониторинг дискового пространства.
- Проверка средней загрузки;
- Мониторинг использования процессора;
- Отслеживание использования подкачки (swap) и памяти;
- Проверка работы сетевого интерфейса.
После этого нужно будет использовать пакет 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
}
- Строка use linux – это template (или шаблон). Это значит, что хост будет использовать свойства стандартного шаблона Linux.
- Строка host_name задаёт имя объекта хоста; оно соответствует имени хоста клиента и должно быть уникальным.
- Строка address содержит IP-адрес ведомого сервера или его FQDN.
- Строка _SNMPCOMMUNITY содержит общую строку SNMP или пароль.
Как говорилось ранее, в руководстве для примера показано, как использовать пакеты для мониторинга сервисов 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.
Теперь сервер мониторинга будет отслеживать деятельность клиента и все его изменения.
Tags: Nagios, Shinken, SNMP, Ubuntu 12.04, Ubuntu 12.04 LTS