Дистрибутив CentOS 7.
Документация: http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc
Icinga 2 - это система мониторинга, форк Nagios.
Сравнение по багам: https://wiki.icinga.org/display/Dev/Bug+and+Feature+Comparison
Как добавить удаленный хост к мониторингу тут: http://blog.amet13.name/2015/11/icinga-2.html
Установка 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 nagios-plugins-all
# systemctl enable icinga2
# systemctl start icinga2
Настройка подсветки в vim, понадобится при редактировании конфигов:
# mkdir ~/.vim
# cp -R /usr/share/doc/icinga2-common-2.3.11/syntax/vim/{syntax,ftdetect} ~/.vim/
# tree ~/.vim/
/root/.vim/
├── ftdetect
│ └── icinga2.vim
└── syntax
└── icinga2.vim
Проверить подсветку можно на файле:
# vim /etc/icinga2/conf.d/templates.conf
Установка СУБД, я для эксперимента выбрал PostgreSQL:
# yum install postgresql-server postgresql
# postgresql-setup initdb
# systemctl enable postgresql
# systemctl start postgresql
Установка модуля IDO PostgreSQL и создание базы для него:
# yum install icinga2-ido-pgsql
# cd /tmp
# sudo -u postgres psql -c "CREATE ROLE icinga WITH LOGIN PASSWORD 'icinga'";
# sudo -u postgres createdb -O icinga -E UTF8 icinga
Таким образом я создал пользователя icinga с паролем icinga, плюс создал базу с именем icinga, принадлежащую одноименному юзеру.
Создаем доступы к базе:
# vim /var/lib/pgsql/data/pg_hba.conf
local icinga icinga md5
host icinga icinga 127.0.0.1/32 md5
host icinga icinga ::1/128 md5
local all all peer
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
И рестарт PostgreSQL:
# systemctl restart postgresql
Заливаем базу из шаблона:
# export PGPASSWORD=icinga
# psql -U icinga -d icinga < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql
На всякий случай включаем ido-pgsql, хотя он у меня был включен:
# icinga2 feature enable ido-pgsql
# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite icingastatus livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-pgsql mainlog notification
Рестарт для применения настроек:
# systemctl restart icinga2
Установка Icinga Web 2:
# icinga2 feature enable command
# systemctl restart icinga2
# usermod -a -G icingacmd apache
# yum install icingaweb2 icingacli
# systemctl start httpd
# systemctl enable httpd
# firewall-cmd --permanent --add-service=http
Создаем токен:
# icingacli setup token create
# icingacli setup token show
Создаем базу данных для Icinga Web 2:
# usermod -a -G icingaweb2 apache
# cd /tmp
# sudo -u postgres psql -c "CREATE ROLE icingaweb2 WITH LOGIN PASSWORD 'icingaweb2'";
# sudo -u postgres createdb -O icingaweb2 -E UTF8 icingaweb2
# vim /var/lib/pgsql/data/pg_hba.conf
local icingaweb2 icingaweb2 md5
host icingaweb2 icingaweb2 127.0.0.1/32 md5
host icingaweb2 icingaweb2 ::1/128 md5
# systemctl restart postgresql
Проверить доступы к базе можно так:
# psql icingaweb2 icingaweb2 -W
Переходим по ссылке: http://ip-address/icingaweb2/setup и настраиваем Icinga 2 Web:
Пароль для администратора можно сгенерировать через pwgen:
# pwgen 14 1
du5Uoheeh4sei1
Проверяем работоспособность, все должно быть ок.
Установка nginx в качестве реверс-прокси для apache:
# yum install nginx
# systemctl enable nginx
В /etc/httpd/conf/httpd.conf изменяем строку:
Listen 80
на
Listen 127.0.0.1:8080
Создаем виртхост для nginx:
# vim /etc/nginx/conf.d/icinga.mydomain.name.conf
server {
listen 80;
server_name icinga.mydomain.name;
access_log /var/log/nginx/icinga.mydomain.name.access.log main;
error_log /var/log/nginx/icinga.mydomain.name.error.log;
root /usr/share/icingaweb2/public;
index index.html index.php;
location / {
error_log /dev/null crit;
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
В /etc/httpd/conf.d/icingaweb2.conf дописываем в начале файла:
<VirtualHost 127.0.0.1:8080>
ServerName icinga.mydomain.name
и в конце файла:
</VirtualHost>
Применяем изменения:
# systemctl restart nginx
# systemctl restart httpd
Заходим по ссылке:
http://icinga.mydomain.name/icingaweb2/
Документация: http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc
Icinga 2 - это система мониторинга, форк Nagios.
Сравнение по багам: https://wiki.icinga.org/display/Dev/Bug+and+Feature+Comparison
Как добавить удаленный хост к мониторингу тут: http://blog.amet13.name/2015/11/icinga-2.html
Установка 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 nagios-plugins-all
# systemctl enable icinga2
# systemctl start icinga2
Настройка подсветки в vim, понадобится при редактировании конфигов:
# mkdir ~/.vim
# cp -R /usr/share/doc/icinga2-common-2.3.11/syntax/vim/{syntax,ftdetect} ~/.vim/
# tree ~/.vim/
/root/.vim/
├── ftdetect
│ └── icinga2.vim
└── syntax
└── icinga2.vim
Проверить подсветку можно на файле:
# vim /etc/icinga2/conf.d/templates.conf
Установка СУБД, я для эксперимента выбрал PostgreSQL:
# yum install postgresql-server postgresql
# postgresql-setup initdb
# systemctl enable postgresql
# systemctl start postgresql
Установка модуля IDO PostgreSQL и создание базы для него:
# yum install icinga2-ido-pgsql
# cd /tmp
# sudo -u postgres psql -c "CREATE ROLE icinga WITH LOGIN PASSWORD 'icinga'";
# sudo -u postgres createdb -O icinga -E UTF8 icinga
Таким образом я создал пользователя icinga с паролем icinga, плюс создал базу с именем icinga, принадлежащую одноименному юзеру.
Создаем доступы к базе:
# vim /var/lib/pgsql/data/pg_hba.conf
local icinga icinga md5
host icinga icinga 127.0.0.1/32 md5
host icinga icinga ::1/128 md5
local all all peer
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
И рестарт PostgreSQL:
# systemctl restart postgresql
Заливаем базу из шаблона:
# export PGPASSWORD=icinga
# psql -U icinga -d icinga < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql
На всякий случай включаем ido-pgsql, хотя он у меня был включен:
# icinga2 feature enable ido-pgsql
# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite icingastatus livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-pgsql mainlog notification
Рестарт для применения настроек:
# systemctl restart icinga2
Установка Icinga Web 2:
# icinga2 feature enable command
# systemctl restart icinga2
# usermod -a -G icingacmd apache
# yum install icingaweb2 icingacli
# systemctl start httpd
# systemctl enable httpd
# firewall-cmd --permanent --add-service=http
Создаем токен:
# icingacli setup token create
# icingacli setup token show
Создаем базу данных для Icinga Web 2:
# usermod -a -G icingaweb2 apache
# cd /tmp
# sudo -u postgres psql -c "CREATE ROLE icingaweb2 WITH LOGIN PASSWORD 'icingaweb2'";
# sudo -u postgres createdb -O icingaweb2 -E UTF8 icingaweb2
# vim /var/lib/pgsql/data/pg_hba.conf
local icingaweb2 icingaweb2 md5
host icingaweb2 icingaweb2 127.0.0.1/32 md5
host icingaweb2 icingaweb2 ::1/128 md5
# systemctl restart postgresql
Проверить доступы к базе можно так:
# psql icingaweb2 icingaweb2 -W
Переходим по ссылке: http://ip-address/icingaweb2/setup и настраиваем Icinga 2 Web:
# pwgen 14 1
du5Uoheeh4sei1
Проверяем работоспособность, все должно быть ок.
Установка nginx в качестве реверс-прокси для apache:
# yum install nginx
# systemctl enable nginx
В /etc/httpd/conf/httpd.conf изменяем строку:
Listen 80
на
Listen 127.0.0.1:8080
Создаем виртхост для nginx:
# vim /etc/nginx/conf.d/icinga.mydomain.name.conf
server {
listen 80;
server_name icinga.mydomain.name;
access_log /var/log/nginx/icinga.mydomain.name.access.log main;
error_log /var/log/nginx/icinga.mydomain.name.error.log;
root /usr/share/icingaweb2/public;
index index.html index.php;
location / {
error_log /dev/null crit;
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
В /etc/httpd/conf.d/icingaweb2.conf дописываем в начале файла:
<VirtualHost 127.0.0.1:8080>
ServerName icinga.mydomain.name
и в конце файла:
</VirtualHost>
Применяем изменения:
# systemctl restart nginx
# systemctl restart httpd
Заходим по ссылке:
http://icinga.mydomain.name/icingaweb2/
При создании БД IDO в веб интерфейсе пишет "Cannot find the IDO schema. Please verify that the given database contains the schema and that the configured user has access to it." что делать?
ОтветитьУдалитьсоздать структуру бд командой
ОтветитьУдалитьmysql -u root -p monitor < /usr/share/icinga2-ido-mysql/schema/mysql.sql
где monitor имя базы данных