Centos7にサーバー監視ツール Icinga2を構築する

Centos7にサーバー監視ツール Icinga2を構築する

Centos7にサーバー監視ツール Icinga2を構築した際の手順を記載してます。何かのお役に立てれば幸いです。

Centos7バージョン

# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

インストール

## root で作業
su -

## パッケージ
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm --import https://packages.icinga.com/icinga.key
yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm

## icinga2インストール
yum -y install icinga2

## 開始
systemctl start icinga2

## 有効化
systemctl enable icinga2

## Nagios Pluginsインストール
yum -y install nagios-plugins-all

mysqlはインストールされいない場合は
## mariadbをインストール(公式ではmariadbですが、自分はmysqlを利用)
yum -y install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb


## IDO modules インストール
yum -y install icinga2-ido-mysql

DB作成と設定

## ログイン
mysql -u root -p

## DB作成
CREATE DATABASE icinga2;

## import
mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql

## 確認
icinga2 feature list

Disabled features: api compatlog debuglog elasticsearch gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker command ido-mysql mainlog notification

## 有効化
icinga2 feature enable ido-mysql
icinga2 feature enable command

## ido-mysql.conf編集
vi /etc/icinga2/features-enabled/ido-mysql.conf

<ido-mysql.conf>
user = "ユーザーを設定",
password = "パスワードを設定",
host = "localhost",
database = "icinga2"

再起動とfirewall設定

systemctl restart icinga2

## 5665ポート許可
firewall-cmd --permanent --add-port=5665/tcp
firewall-cmd --reload

PHP・icinga2webインストール

## 自身の環境はインストール済み。インストールされていない方は、7.1以上?をインストールしてください
php -v
PHP 7.2.22

## icingaweb2 icingacliをインストール
yum -y install icingaweb2 icingacli

※httpdはインストール済み

グループ追加

## apacheグループに追加
groupadd -r icingaweb2
usermod -a -G icingaweb2 apache

icingacli setup config directory --group icingaweb2

## httpd 再起動
systemctl restart httpd
systemctl restart php-fpm.service

icinga2起動

ブラウザよりhttp://IPアドレス/icingaweb2/setup にアクセス
※自分の環境は81番ポートを使用しているので http://IPアドレス:81 /icingaweb2/setup にアクセス

## 下記で発行されたtokenを「セットアップトークン」に入力
icingacli setup token create;

次へを押下

問題あればインストール作業

自分はPHPモジュール: Imagickに問題があったのでインストール

# インストール
yum -y install http://mirror.centos.org/centos/7/sclo/x86_64/sclo/sclo-php71/sclo-php71-php-pecl-imagick-3.4.3-2.el7.x86_64.rpm
systemctl restart httpd
systemctl restart php-fpm.service

データベースを選択し、ユーザーを作成する

## ログイン
mysql -u root -p

<mysql>
CREATE DATABASE icingawebdb;
CREATE USER 'icingaweb'@'%' IDENTIFIED BY 'password(任意)';
GRANT ALL PRIVILEGES ON icingwebdb.* TO 'icingaweb'@'%' WITH GRANT OPTION;
quit

上記で作成したDBとユーザーを入力、「設定の検証」して問題なければ「次へ」ボタンをクリック

アクセス権の問題?とりあえずrootで対応

「次へ」をクリック

管理ユーザーを作成。任意のものを設定

ログの設定

問題なければ「次へ」をクリック

「次へ」をクリック

「次へ」をクリック

作成した「icinga2」を設定。「設定の検証」をクリックして問題がなければ「次へ」をクリック

「ローカルにあるコマンドファイル」を選択

「次へ」をクリック

問題なければ「完了」をクリック

インストール完了

先ほど作成したユーザーでログイン