Icinga 2は、スケーラブルで拡張可能なように設計された無料のオープンソース監視ツールです。 Icinga 2は、ネットワークリソースの可用性をチェックし、ユーザーに停止を通知し、レポート用のパフォーマンスデータを生成します。 Icinga2を使用して、複数の場所にまたがる大規模で複雑な環境を監視できます。
大規模/複雑な環境向けの分散セットアップを使用して、高可用性クラスターでIcinga2をセットアップすることもできます。
このガイドでは、CentOS8にIcinga2とIcingaWeb2をインストールして構成する方法を学習します。
Icinga2のインストール:
まず、CentOSLinuxを更新してアップグレードします。
yum -y update && yum -y upgrade
次に、Icingaリポジトリをインストールします。
yum install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
EPELリポジトリを有効にしてEPELリポジトリを取得します。
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y epel-release
Icinga2とIcingaWeb2のインストールと構成のために後で必要になるいくつかのツールを入手します。
yum install -y git curl make gcc wget nano vim net-tools tar unzip zip python-devel python-pip python-setuptools
以下のコマンドを使用してicinga2をインストールします:
yum install -y icinga2
Icinga2サービスを開始して有効にします。
systemctl enable icinga2
systemctl start icinga2
systemctl status icinga2
Icinga2に必要なプラグインをインストールします。
yum install -y nagios-plugins-all
次のコマンドを実行して、icingaファイルを変更する前にicingaファイルが正しいことを確認します。
icinga2 daemon -C
Icinga2でSELinuxを使用する場合は、次のパッケージをインストールし、ポート80と443のファイアウォールルールを設定する必要があります。
yum install -y icinga2-selinux
firewall-cmd --add-service=http && firewall-cmd --permanent --add-service=http
上記の手順を完了したら、MYSQLをIcinga2のデータベースとしてインストールして構成します。
yum install -y mariadb-server mariadb
systemctl enable mariadb
systemctl start mariadb
MYSQLのインストールを保護する
mysql_secure_installation
上記のコマンドを入力した後、システムはルートパスワードを要求します。何もなかったのでEnterキーを押します。その後、システムはルートパスワードを追加するかどうかを尋ねてきます。「y」を押してルートパスワードを設定します。システムが構成について尋ねるたびに「y」を押してください。以下の写真を参照してください:
次のコマンドを使用してIDOMysqlをインストールします。
yum install icinga2-ido-mysql
次のコマンドを入力してmysqlにログインします:
mysql -u root -p
Icinga2およびicingaweb2用に次のデータベースを作成します。
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
CREATE DATABASE icingaweb;
GRANT ALL PRIVILEGES ON icingaweb.* TO 'icingaweb'@'localhost' IDENTIFIED BY 'icingaweb';
FLUSH PRIVILEGES;
QUIT;
Icinga 2 MYSQLスキーマをインポートし、IDO MySQLforIcinga2を有効にします。
mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
icinga2 feature enable ido-mysql
上記の構成が有効になるように、Icingaサービスを再起動します。
systemctl restart icinga2.service
Icinga Web 2のインストール:
まず、ウェブサーバーをインストールします。
yum install -y httpd
systemctl enable httpd
systemctl start httpd
Icinga 2 Rest APIユーザーの構成:
icinga2 api setup
ファイル「/etc/icinga2/conf.d/api-users.conf」をnanoエディターで編集します。
/etc/icinga2/conf.d/api-users.conf
次の行を追加します:
object ApiUser "icingaweb2" {
password = "Wijsn8Z9eRs5E25d"
permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}
nanoエディターを使用してファイル「vim/etc/icinga2/features-enabled/ido-mysql.conf」を編集します。
nano /etc/icinga2/features-enabled/ido-mysql.conf
次の構成を追加します:
/**
* The IdoMysqlConnection type implements MySQL support
* for DB IDO.
*/
object IdoMysqlConnection "ido-mysql" {
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
}
ここで、Icinga2サービスを再起動して、上記の構成を適用します。
systemctl restart icinga2
SCLリポジトリをインストールします。IcingaWeb2に必要です。
dnf -y group install "Development Tools"
dnf -y install gcc-c++ gcc make
dnf install mysql-devel.x86_64
次のコマンドを使用して、IcingaWeb2とIcingaCLIをインストールします。
yum install -y icingaweb2 icingacli
Icinga Web 2にSELinuxが必要な場合は、次のコマンドを使用してインストールします。
yum install -y icingaweb2-selinux
Icingaweb2に必要となる可能性のあるPHPFPMおよびその他のPHPモジュールをインストールします。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module list php
dnf install php-json php-ldap
yum install -y php-mysqlnd php-fpm php-ldap php-pgsql php-xmlrpc php-intl php-gd php-pdo php-soap php-posix php-cli
サービスを開始して有効にします。
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl restart httpd
systemctl restart php-fpm.service
それでは、Webインターフェイスを介してIcingaWeb2の構成を完了するためのトークンを作成しましょう。
icingacli setup token create
次のURLを使用してIcingaWeb2をWebブラウザに開きます:
http://192.168.189.128/icingaweb2/setup
上記のURLのIPをシステムIPに置き換えます。
Icinga Web 2の構成:
生成されたトークンを要求し、貼り付けて、[次へ]をクリックします
監視モジュールはデフォルトで有効になっています。オプションでドキュメントと翻訳を有効にして、[次へ]をクリックできます
これで、すべてのPHPモジュールが緑色になります。黄色のモジュールがある場合は、先に進む前に修正することをお勧めします。すべてが緑色の場合は、[次へ]をクリックしてください。
デフォルトでは、データベース認証を使用します。
データベースリソースを構成します。ここでは、icingawebデータベース用に作成した資格情報を使用します。パラメータlocalhost、データベース名、ユーザー名、およびパスワードを設定する必要があります。 [次へ]をクリックする前に、[構成の検証]をクリックして、資格情報が正しく機能していることを検証できます。
認証バックエンドを構成しましょう。これはapi-users.confファイルで定義されています。[次へ]をクリックするだけです。
管理画面で、IcingaWebインターフェイスにログインするためのユーザー名とパスワードを定義します。
アプリケーション構成画面では、[次へ]をクリックするだけで、必要に応じて調整を変更できますが、現時点ではデフォルトで問題ありません。
履歴書画面が表示されます。ここで[次へ]をクリックするだけです。
これで、IcingaWeb2の監視モジュールを構成できます。[次へ]をクリックするだけです。
次に、監視IDOリソースを構成しましょう。ここでは、icingaデータベース用に作成した資格情報を使用します。ここでは、パラメータlocalhost、データベース名、ユーザー名、およびパスワードを設定する必要があります。 [次へ]をクリックする前に、[構成の検証]をクリックして、資格情報が正しく機能していることを検証できます。
コマンドトランスポートの選択:
次に、コマンドトランスポートを選択します。次に、監視IDOリソースを構成します。ここでは、icingaデータベース用に作成した資格情報を使用します。ここでは、パラメータlocalhost、データベース名、ユーザー名、およびパスワードを設定する必要があります。 [次へ]をクリックする前に、[構成の検証]をクリックして、資格情報が正しく機能していることを検証できます。
監視セキュリティ画面では、[次へ]をクリックするだけです。
これで、Icinga Web 2の成功画面が表示され、[完了]をクリックするだけで済みます。
これで、IcingaWebへのログインが利用できるおめでとう画面が表示されます。IcingaWeb2にログインするには、そのボタンをクリックするだけです。