Icingaは、システムやサービスの監視を行うためのオープンソースのツールであり、ネットワークやサーバーの監視を効率的に行うことができます。この記事では、Ubuntu 14.04にIcingaをインストールし、サーバーやサービスを監視する方法を詳細に解説します。
Icingaとは
Icingaは、Nagiosを元に開発された監視ツールで、システムやサービスの監視、アラートの発報、レポート作成などを行うことができます。Icingaは、Webインターフェースを使用して視覚的に監視状況を確認でき、また、柔軟な設定と拡張性により、多くのシステム管理者に愛用されています。

Ubuntu 14.04へのIcingaのインストール
-
必要なパッケージのインストール
最初に、Icingaをインストールするために必要なパッケージをインストールします。これには、Apache、MySQL、PHP、Icinga 2、Icinga Web 2が含まれます。
bashsudo apt-get update sudo apt-get install apache2 mysql-server php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-xmlrpc php5-mbstring php5-xml
これでApacheとMySQL、PHPがインストールされました。
-
Icinga 2のインストール
次に、Icinga 2をインストールします。Icingaの公式リポジトリを追加し、インストールします。
bashwget -qO- https://packages.icinga.com/icinga.key | sudo apt-key add - sudo sh -c 'echo "deb https://packages.icinga.com/ubuntu icinga-2.6.0 main" > /etc/apt/sources.list.d/icinga.list' sudo apt-get update sudo apt-get install icinga2
インストールが完了したら、Icinga 2を起動し、システムが起動時にIcinga 2が自動的に開始されるように設定します。
bashsudo systemctl enable icinga2 sudo systemctl start icinga2
-
Icinga Web 2のインストール
Icinga Web 2は、Webベースのインターフェースで監視を行うためのツールです。これをインストールするためには、次のコマンドを実行します。
bashsudo apt-get install icingaweb2
-
MySQLの設定
Icinga Web 2がデータベースと連携するために、MySQLの設定を行います。まず、Icinga Web 2用のデータベースを作成します。
bashmysql -u root -p CREATE DATABASE icinga; GRANT ALL PRIVILEGES ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga_password'; FLUSH PRIVILEGES; EXIT;
-
Icinga Web 2の設定
Icinga Web 2の設定を行います。Webブラウザを使って、
http://<サーバーのIP>/icingaweb2
にアクセスします。セットアップウィザードが表示されるので、画面の指示に従って設定を進めます。ここでは、MySQLの設定や、Icinga 2とIcinga Web 2の接続設定を行います。データベースの接続情報として、先ほど作成したデータベース情報を入力します。
-
Icinga 2の設定
Icinga 2の設定を行います。主に監視対象となるホストやサービスを設定します。設定ファイルは
/etc/icinga2/icinga2.conf
にあります。例えば、サーバーの監視を追加するには、次のような設定を行います。bashobject Host "example-host" { import "generic-host" address = "192.168.1.1" check_command = "hostalive" }
これで、指定したホストが監視対象として追加されます。
サービスの監視設定
Icinga 2では、監視するサービスを設定することができます。例えば、HTTPサービスを監視するためには、次のように設定します。
bashapply Service "http" {
import "generic-service"
check_command = "http"
assign where host.name == "example-host"
}
これにより、指定したホストのHTTPサービスが監視されるようになります。
アラート設定
Icinga 2では、サービスやホストの状態に応じてアラートを送信することができます。アラート設定は/etc/icinga2/conf.d
ディレクトリ内の設定ファイルで行います。例えば、メールでアラートを送信する場合、次のような設定を行います。
bashobject Notification "mail-host-notification" {
import "mail-service-notification"
user_groups = [ "icingaadmin" ]
interval = 0m
command = {
"mail-host-notification" = {
host_state = "DOWN"
}
}
}
これにより、ホストがダウンした場合にアラートが送信されます。
Icingaの管理と運用
-
Webインターフェースの活用
Icinga Web 2を使用することで、監視対象のサーバーやサービスの状態を視覚的に確認できます。ダッシュボードでは、すべての監視対象の状態や履歴を一目で確認できるため、迅速に問題を発見し対応できます。
-
監視の拡張
Icingaは、さまざまなプラグインを追加することで機能を拡張できます。例えば、MySQLやPostgreSQL、FTP、SSHなど、さまざまなサービスの監視プラグインが用意されています。プラグインは、Icingaの公式サイトからダウンロードして追加できます。
-
スケーラビリティ
Icingaは、分散型の監視システムを構築することができ、複数のIcingaサーバーを使って大規模なネットワークの監視を行うことができます。この機能を活用することで、監視対象を増やしてもスケーラブルな監視が可能です。
まとめ
IcingaをUbuntu 14.04にインストールすることで、サーバーやサービスの監視を効率的に行うことができます。インストールから設定までの手順をしっかりと理解し、Icingaの強力な機能を活用して、システムの健全性を維持し、問題が発生した際には即座に対応できる体制を整えましょう。