CentOS 7にIcinga 2とIcinga Web 2をインストールする方法

Icinga 2は人気のあるオープンソースネットワークリソース監視システムであり、Icinga Web 2はIcinga 2のWebインターフェイスです。この記事では、CentOS 7サーバーにそれらをインストールする方法について説明します。

前提条件

ステップ1:システムを更新する

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

再起動後、同じsudoユーザーを使用してログインします。

ステップ2:Apacheをインストールする

YUMを使用してApacheをインストールします。

sudo yum install httpd -y

事前設定されたApacheウェルカムページを無効にします。

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

ApacheがWebルートディレクトリ内のファイルとディレクトリ/var/www/htmlを訪問者に公開することを禁止します。

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Apacheサービスを開始し、ブート時に開始します。

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

ステップ3:MariaDBをインストールする

YUMを使用してMariaDBをインストールします。

sudo yum install mariadb mariadb-server -y

MariaDBサービスを開始します。

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

MariaDBのインストールを保護します。

sudo /usr/bin/mysql_secure_installation

プロセス中に、次のように画面の質問に答えます。

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

ステップ4:PHPをインストールする

Icinga 2とIcinga Web 2で必要なPHPと必要なPHP拡張機能をインストールします。

sudo yum install php php-gd php-intl php-ldap php-ZendFramework php-ZendFramework-Db-Adapter-Pdo-Mysql -y

次に、マシンの適切なタイムゾーンを設定する必要があります。これは、PHP公式ウェブサイトで確認できます。私のサーバーインスタンスでは、タイムゾーンの値は "America / Los_Angeles"です。

PHP構成ファイルをviエディターで開きます。

sudo vi /etc/php.ini

行を見つけます:

;date.timezone =

それを次のように変更します。

date.timezone = America/Los_Angeles

保存して終了:

:wq!

新しい設定を有効にするために、Apacheサービスを再起動します。

sudo systemctl restart httpd.service

ステップ5:Icinga 2とそのプラグインをインストールする

CentOS 7では、icinga YUMリポジトリを使用してIcinga 2とそのプラグインをインストールできます。

sudo rpm --import http://packages.icinga.org/icinga.key 
sudo rpm -i https://packages.icinga.org/epel/7/release/noarch/icinga-rpm-release-7-1.el7.centos.noarch.rpm
sudo yum install icinga2 nagios-plugins-all -y

これらのプラグインの詳細については、モニタリングプラグインプロジェクトをご覧ください。

Icinga 2サービスを開始します。

sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service

デフォルトでは、Icinga 2プログラムはチェッカー、メインログ、通知の3つの機能を有効にします。次のコマンドを使用してそのことを確認できます。

sudo icinga2 feature list

ステップ6:Icinga 2 IDOモジュールをセットアップする

6.1)MySQL用のIDO(Icinga Data Output)モジュールをインストールする

sudo yum install icinga2-ido-mysql -y

6.2)Icinga 2のデータベースを作成する

MySQLシェルにrootとしてログインします。

mysql -u root -p

手順3で設定したMariaDBルートパスワードを使用してログインします。

「icinga」という名前のデータベースとicingaパスワードicingaで名前が付けられたデータベースユーザーを作成し、このデータベースに対する権限をこのデータベースユーザーに付与します。

CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
FLUSH PRIVILEGES;
EXIT;

6.3)Icinga 2 IDOスキーマをインポートする

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

プロンプトが表示されたら、MariaDBルートパスワードを入力してジョブを終了します。

6.4)IDO MySQLモジュールを有効にする

sudo vi /etc/icinga2/features-available/ido-mysql.conf

これらの行を見つけます:

//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"

以下のようにコメントを外します:

user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"

保存して終了:

:wq!

ido-mysql機能を有効にします。

sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service

ステップ7:Icinga Web 2をインストールする

7.1)外部コマンドパイプのセットアップ

sudo icinga2 feature enable command
sudo systemctl restart icinga2.service

Webインターフェースを使用してIcinga 2にコマンドを送信する前に、「apache」ユーザーをicingacmdグループに追加する必要があります。

sudo usermod -a -G icingacmd apache

次のコマンドを使用して、変更を確認できます。

id apache

7.2)icingaweb2およびicingacli RPMパッケージをインストールします

sudo yum install icingaweb2 icingacli -y

Apache WebルートディレクトリがIcinga Web 2の場所を指すようにします。

sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart httpd.service

7.3)後でウェブインターフェースで使用するためのセットアップトークンを生成する

sudo icingacli setup token create

7.4)Webアクセスを許可するためにファイアウォールルールを変更する

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

7.5)WebインターフェイスでIcinga 2インストールウィザードを開始する

Webブラウザで次のURLにアクセスします。

http://<your-server-ip>/icingaweb2/setup

7.6)ウェルカムページで、前に生成したセットアップトークンを入力し、[次へ]ボタンをクリックします。

7.7)[モジュール]ページで、有効にするモジュールを選択し(少なくとも、監視モジュールが必要です)、[次へ]ボタンをクリックします。

7.8)要件ページで、すべての要件項目が満たされていることを確認し、[次へ]ボタンをクリックします。

7.9)[認証]ページで、Icinga Web 2にアクセスするときの認証方法を選択する必要があります。ここでは、を選択してDatabase、[次へ]ボタンをクリックできます。

7.10)[データベースリソース]ページで、以下のようにすべての必須フィールドに入力し、[次へ]ボタンをクリックします。

  • リソース名*:icingaweb_db
  • データベースタイプ*:MySQL
  • ホスト*:localhost
  • データベース名*:icingaweb2
  • ユーザー名*:ルート
  • パスワード*: <MariaDB-root-password>

7.11)[認証バックエンド]ページで、デフォルトのバックエンド名を使用してicingaweb2Nextボタンをクリックして先に進みます。

7.12)[管理]ページで、最初のIcinga Web 2管理アカウント(たとえば、icingaweb2admin)とパスワード(icingaweb2pass)をセットアップし、[次へ]ボタンをクリックします。

7.13)[アプリケーション構成]ページでは、アプリケーションおよびロギング関連の構成オプションをニーズに合わせて調整できます。現時点では、以下にリストされているデフォルト値を使用して、「次へ」ボタンをクリックして続行できます。

  • スタックトレースを表示:チェック
  • ユーザー設定のストレージタイプ*:データベース
  • ロギングタイプ*:Syslog
  • ロギングレベル*:エラー
  • アプリケーション接頭辞*:icingaweb2

7.14)[レビュー]ページで構成を再確認してから、Nextボタンをクリックします。

7.15)[監視モジュール構成の開始]ページで、Nextボタンをクリックします。

7.16)[モニタリングバックエンド]ページで、デフォルトのバックエンド名icingaとバックエンドタイプを使用してIDO、[次へ]ボタンをクリックします。

7.17)[IDOリソースの監視]ページで、前に設定したIDOデータベースの詳細を入力し、[次へ]ボタンをクリックします。

  • リソース名*:icinga_ido
  • データベースタイプ*:MySQL
  • ホスト*:localhost
  • データベース名*:icinga
  • ユーザー名*:icinga
  • パスワード*:icinga

7.18)[コマンドトランスポート]ページで、以下にリストされているこれらのデフォルト値を引き続き使用します。Nextボタンをクリックして先に進みます。

  • トランスポート名*:icinga2
  • トランスポートタイプ*:ローカルコマンドファイル
  • コマンドファイル*: /var/run/icinga2/cmd/icinga2.cmd

7.19)[セキュリティの監視]ページで、引き続きデフォルト値を使用します。

  • 保護されたカスタム変数:* pw *、* pass *、community

「次へ」ボタンをクリックして次のページに進みます。

7.20)レビューページで設定を再確認し、Finishボタンをクリックします。

7.21)おめでとうございます!ページで、Login to Icinga Web 2ボタンをクリックしてIcinga Web 2ログインページにジャンプします。以前に設定したIcinga Web 2管理アカウントとパスワードを使用してログインします。IcingaWeb 2ダッシュボードを自由に探索してください。

これでチュートリアルは終了です。読んでくれてありがとう。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。