воскресенье, 15 ноября 2015 г.

Мониторинг удаленного хоста в Icinga 2

Тут я устанавливал систему мониторинга Icinga 2 с веб-интерфейсом: http://blog.amet13.name/2015/11/icinga-2-postgresql-nginx.html
В этой заметке я расскажу, как подключать удаленные хосты к мониторингу.

Первым делом необходимо инициализировать на сервере мониторинга ноду и указать, что она является мастером:
# icinga2 node wizard
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: n (указываем тут, что это мастер-нода)
Starting the Master setup routine...
Please specifiy the common name (CN) [vps.amet13.name]: icinga.amet13.name (указываем CN)
... тут идет генерация ключей и сертификатов, обновление файлов конфигов
Now restart your Icinga 2 daemon to finish the installation!


Проверяем, что прописался корректный CN и создался хэш:
# egrep 'NodeName|TicketSalt' /etc/icinga2/constants.conf
const NodeName = "icinga.amet13.name"
const ZoneName = NodeName
const TicketSalt = "35a9dab312ea324d9ae868ecd1545fc7"

Применяем изменения:
# systemctl restart icinga2

Для того, чтобы удаленный хост в будущем мог к нам соединяться, нужно открыть для него порт 5665/tcp:
# firewall-cmd --zone=public --add-port=5665/tcp --permanent
# firewall-cmd --reload

Генерируем хэш самоподписанный запроса к сертификату, где site.ru -- это CN удаленного хоста:
# icinga2 pki ticket --cn 'site.ru'
8b3bc694ee3b611eba0617b6a74e9f8f447c1eb2

Запоминаем хэш, он нам скоро пригодится.

Теперь переходим к клиенту.
Устанавливаем на него Icinga 2:
# yum install epel-release
# rpm --import http://packages.icinga.org/icinga.key
# curl -o /etc/yum.repos.d/ICINGA-release.repo http://packages.icinga.org/epel/ICINGA-release.repo
# yum makecache
# yum install icinga2
# systemctl enable icinga2
# systemctl start icinga2
# yum install nagios-plugins-all

На клиенте открываем порт 5665/tcp:
# iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m multiport --dport 5665 -j ACCEPT

Теперь инициализируем ноду на клиенте как спутник (satellite):
# icinga2 node wizard
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: y (указали, что это спутник)
Starting the Node setup routine...
Please specifiy the common name (CN) [site.ru]: site.ru (указываем CN, он должен совпадать с тем, для которого мы генерировали хэш чуть ранее)
Please specifiy the local zone name [site.ru]: 
Please specify the master endpoint(s) this node should connect to:
Master Common Name (CN from your master setup): icinga.amet13.name (указываем CN мастера)
Do you want to establish a connection to the master from this node? [Y/n]: 
Please fill out the master connection information:
Master endpoint host (Your master's IP address or FQDN): icinga.amet13.name
Master endpoint port [5665]: 
Add more master endpoints? [y/N]: 
... тут идет генерация сертификатов
Please specify the request ticket generated on your Icinga 2 master.
 (Hint: # icinga2 pki ticket --cn 'site.ru'): 8b3bc694ee3b611eba0617b6a74e9f8f447c1eb2
... выше мы указали хэш, который генерировали на мастере чуть ранее
information/cli: Processing self-signed certificate request. Ticket 'b23f2c22e32e373f3597433b205d71bdd13b861b'.
... тут идет обмен сертификатами
Accept config from master? [y/N]: y
Accept commands from master? [y/N]: y
... обмен конфигами
Now restart your Icinga 2 daemon to finish the installation!

Проверка корректного CN на спутнике:
# grep 'NodeName' /etc/icinga2/constants.conf
const NodeName = "site.ru"

# systemctl restart icinga2

Теперь снова переходим на мастер.
Нам необходимо закоммитить изменения со спутника на мастер:
# icinga2 node update-config
# systemctl restart icinga2

Проверяем на мастере:
# icinga2 node list
Node 'site.ru' (last seen: Sat Nov 14 21:14:06 2015)
    * Host 'site.ru'
        * Service 'load'
        * Service 'disk'
        * Service 'users'
        * Service 'procs'
        * Service 'ping6'
        * Service 'disk /'
        * Service 'http'
        * Service 'ssh'
        * Service 'icinga'
        * Service 'swap'
        * Service 'ping4'


2 комментария:

Анонимный комментирует...

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

Amet13 комментирует...

Смотрите в логи.