- Работа
- Linux
- Monitoring
- Icinga2 установка
Icinga2 установка
Данный пример сделан на базе сборки docker icinga/icinga2
MySQL сервер
mkdir -p /srv/data/mysql
chmod 770 /srv/data/mysql
chown 999:999 /srv/data/mysql
Делаем отдельно, так как зачастую кто то еще будет юзать mysql.
docker-compose.yml
version: '3.8'
services:
mysql:
image: mariadb:10
container_name: mysql
volumes:
- /srv/data/mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root-pass
restart: unless-stopped
docker-compose up -d
Создаем базы данных icinga
и icinga-web
.
docker exec -i mysql sh -c 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database icinga; create database \`icinga-web\`"'
Инсталим Icinga
Создаем каталоги данных
mkdir -p /srv/data/icinga /srv/data/icinga-web
chmod 777 /srv/data/icinga /srv/data/icinga-web
Скачиваем архив с докер сборкой. Правим под себя. Запускаем.
docker-compose up -d
Импортируем таблички для icinga. Процесс не очень быстрый
docker exec icinga cat /usr/share/icinga2-ido-mysql/schema/mysql.sql | docker exec -i mysql sh -c 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" icinga'
Включаем mysql
docker exec -it icinga icinga2 feature enable ido-mysql
Включаем апи
docker exec -it icinga icinga2 api setup
Правим конфиг /srv/data/icinga/etc/icinga2/features-available/ido-mysql.conf
Далее перезапускаем icinga
.
Веб интерфейс
Генерим токен и сохраняем его
docker exec -it icinga-web icingacli setup token create
Подключаемся к веб интерфейсу. Базовые модули которые надо указать: Director
и Monitoring
Icingadb
отключаем, так как будет просить доступ к редису, да и вообще я незнаю зачем он :).
Первым дело запросит данные для базы данных. Указываем тут icinga-web. И везде кодировку utf8
Потом вводим имя пользователя и все остальное по умолчанию.
Monitoring IDO Resource
тут надо указать табличку баз данных icinga
.
Настройка доступа к АПИ
пользователь root пароль лежит тут /srv/data/icinga/etc/icinga2/conf.d/api-users.conf
При настройке директора запросит Endpoint Name
его можно глянуть тут, как хостнейм
cat /srv/data/icinga/etc/icinga2/constants.conf
В случае с докером имя icinga
. Это имя должно отдавать адрес icinga сервера. В сборке все сделано правильно, лучше не менять :).
Полезные команды
docker exec -it icinga icinga2 daemon -C
- проверяем конфиги
kill -s SIGHUP `ps uax |grep "icinga2 daemon"|head -1 | awk '{print $2}'`
- обновляем конфиги
Ссылки на документации
Команды
https://icinga.com/docs/icinga-2/latest/doc/10-icinga-template-library/
[ Править ]