Ubuntu16.04にIcingaとIcingaWebをインストールする方法
序章
Icingaは、ネットワーク化されたホストとサービスの状態を監視するために使用される、柔軟で強力なオープンソースの監視システムです。 Webワーカーのクラスターの負荷と稼働時間、ストレージデバイスの空きディスク容量、キャッシュサービスのメモリ消費量などを監視するために使用できます。 適切に設定されると、Icingaは、多数のホストとサービスのステータスの概要、通知、ダウンタイムスケジューリング、パフォーマンスデータの長期保存を一目で確認できます。
このチュートリアルでは、Icingaコア、そのデータベースバックエンド、およびIcingaWebインターフェイスのインストールについて説明します。 最後に、サービスが誤動作しているときに受信トレイでアラートを受信できるように、電子メール通知を設定します。
前提条件
このチュートリアルを開始する前に、次のものが必要です。
- LAMPスタックがインストールされたUbuntu16.04サーバー。これについては、チュートリアル Ubuntu 16.04 にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法で詳しく説明されています。
- Icinga Webにはログインページがあり、セットアップ中に機密情報を入力するように求められるため、ApacheのSSL暗号化を有効にする必要があります。 無料のSSL証明書を取得してインストールする方法については、チュートリアル Ubuntu16.04でLet’sEncryptを使用してApacheを保護する方法をご覧ください。
ステップ1—Icingaをインストールする
Icingaの最新バージョンを入手するには、最初にIcingaチームが管理するソフトウェアリポジトリを追加する必要があります。 次に、apt-get
を使用してソフトウェアをインストールし、いくつかの構成画面を実行して、Icingaのデータベースバックエンドをセットアップします。
まず、Icinga開発者のパッケージ署名キーをダウンロードしてapt
システムに追加します。
- curl -sSL https://packages.icinga.com/icinga.key | sudo apt-key add -
このキーは、Icingaリポジトリからダウンロードしたソフトウェアの整合性を自動的に検証するために使用されます。 次に、リポジトリアドレスをapt
構成ファイルに追加する必要があります。 お気に入りのテキストエディタでファイルを開きます。 このチュートリアルでは、nano
を使用します。
- sudo nano /etc/apt/sources.list.d/icinga.list
これにより、新しい空白のテキストファイルが開きます。 次の行に貼り付けます。
deb https://packages.icinga.com/ubuntu icinga-xenial main
ファイルを保存して閉じてから、パッケージキャッシュを更新します。
- sudo apt-get update
apt-get
は、追加したリポジトリから情報をダウンロードし、Icingaパッケージをインストールできるようにします。
- sudo apt-get install icinga2 icinga2-ido-mysql
これにより、メインのIcingaソフトウェアと、Icingaが履歴データやその他の情報をMySQLデータベースに入れることができるデータベースアダプターがインストールされます。 データベースアダプタの設定画面がいくつか表示されます。
- Icinga 2のido-mysql機能を有効にしますか? はい
- dbconfig-commonを使用してicinga2-ido-mysqlのデータベースを構成しますか? はい
- 次に、Icingaデータベースのパスワードを設定するように求められます。 強力なパスワードを作成し、後で使用できるように記録します。 Webインターフェイスを設定するときに必要になります。
次に、Icingaデータベースバックエンドを実際に有効にする必要があります。 icinga2
コマンドは、コマンドラインの機能を有効または無効にすることができます。 その間、コマンド機能も有効にします。これにより、最終的にWebインターフェイスから手動のヘルスチェックを実行できるようになります。
- sudo icinga2 feature enable ido-mysql command
次に、icinga2
を再起動して、新しい機能を使用します。
- sudo systemctl restart icinga2
最後に、icinga2
のステータスをチェックして、正しく実行されていることを確認しましょう。
- sudo systemctl status icinga2
Output● icinga2.service - Icinga host/service/network monitoring system
Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2017-04-20 00:54:55 UTC; 3s ago
Process: 15354 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS)
Main PID: 15416 (icinga2)
Tasks: 11
Memory: 7.7M
CPU: 488ms
. . .
Active: active (running)
が表示されている場合は、Icingaが稼働しています。 Icingaコアシステムとデータベースバックエンドをセットアップしたので、次はWebインターフェイスを起動して実行します。
ステップ2–IcingaWebインターフェイスのインストール
Icingaコアは完全に構成可能であり、Webインターフェイスなしで使用できますが、Icinga Webは、ホストとサービスの状態の優れたブラウザー可能な概要を提供し、ダウンタイムのスケジュール、問題の確認、手動でのヘルスチェックのトリガー、通知の送信を可能にします。ブラウザから。
apt-get
を使用してIcingaWebをインストールしましょう。
- sudo apt-get install icingaweb2
Icinga Webの残りのセットアップはWebブラウザーで行われますが、切り替える前に、更新する必要のある設定が1つあります。 Icinga WebではPHP環境にタイムゾーンを設定する必要があるため、PHP構成ファイルを編集してみましょう。
- sudo nano /etc/php/7.0/apache2/php.ini
更新する特定の行を見つける必要があります。 nano
で、CTRL-W
を押して検索インターフェイスを表示し、date.timezone
と入力して、ENTER
を押します。 カーソルが更新する必要のある行に移動します。 まず、最初の;
セミコロンを削除して行のコメントを解除してから、正しいタイムゾーンを入力します。 正しいタイムゾーン形式は、PHPマニュアルのタイムゾーンセクションにあります。 終了すると、次のようになります。
date.timezone = America/New_York
ファイルを保存して閉じます。 Apacheを再起動して更新します。
- sudo systemctl restart apache2
次に、IncingaWebのブラウザベースのセットアップを実行します。
ステップ3—IcingaWebインターフェイスを設定する
Webベースのセットアッププロセスをブラウザに切り替える前に、セットアップトークンを作成する必要があります。 これは、Webセットアップツールの使用を許可するコマンドラインで生成するキーです。 このキーは、icingacli
コマンドで作成します。
- sudo icingacli setup token create
短いトークンが印刷されます:
Output1558c2c0ec4572ab
トークンをクリップボードにコピーしてから、ブラウザに切り替えてIcingaWebアドレスをロードします。 デフォルトでは、これはサーバーのドメイン名またはIPアドレスの後に/icingaweb2
が続きます。
https://icinga-master.example.com/icingaweb2
設定画面が表示されます。 クリップボードにコピーしたトークンを貼り付け、次へを押してプロセスを開始します。 通過するオプションのページがたくさんあります。 それらを1つずつステップスルーします。
モジュールのセットアップ
2ページ目には、Webインターフェイス用にいくつかの追加モジュールを有効にするオプションがあります。 Monitoringモジュールのみを有効にするというデフォルトを安全に受け入れることができます。 次へをクリックして続行します。
環境ステータス
3ページ目は、PHP環境のステータスを示しています。 問題または構成の誤りを示す赤いボックスは表示されないはずです。 PostgreSQLモジュールが欠落していることを示す黄色のボックスが表示される場合があります。 PostgreSQLではなくMySQLを使用しているため、これらは無視しても問題ありません。 次へをクリックして続行します。
IcingaWeb認証
4番目のページでは、IcingaWebユーザーを認証する方法を選択できます。 認証のためにLDAPサービスと統合したい場合は、これを選択する場所になります。 デフォルトのDatabaseを使用して、MySQLデータベースにユーザーを保存します。 次へをクリックして続行します。
ユーザーデータベースの設定
5ページ目では、ユーザーデータを保存するためのデータベースを設定するように求められます。 これは、コマンドラインのインストール時に以前に設定したデータベースとは別のものです。
ほとんどのデフォルトは問題ありませんが、データベース名とユーザー/パスワードの組み合わせも選択する必要があります。
- リソース名: icingaweb_db
- データベースタイプ: MySQL
- ホスト: localhost
- ポート:
- データベース名: icingaweb_users
- ユーザー名: icingaweb
- パスワード:パスワードを設定して記録します
- キャラクターセット:
- 永続的:チェックを外したままにする
- SSLを使用する:チェックを外したままにする
次へを押して続行します。
ユーザーデータベースの作成
次のページには、データベースが存在せず、データベースを作成するための資格情報がないことが示されます。 ユーザー名にrootと入力し、MySQLルートパスワードを入力し、NextをクリックしてIcingaWebデータベースとユーザーを作成します。
認証プロバイダーに名前を付ける
次に、作成した認証バックエンドに名前を付ける必要があります。 デフォルトのicingaweb2で問題ありません。 次へをクリックします。
管理者アカウントを作成する
ユーザーデータベースを設定したので、最初のIcingaWeb管理アカウントを作成できます。 ユーザー名とパスワードを選択し、次へをクリックして続行します。
設定とログストレージ
次に、ユーザー設定とログを保存する方法に関するオプションが表示されます。 デフォルトは問題なく、syslogにログを記録している間データベースに設定を保存します。 次へを押して続行します。
構成レビュー
すべての構成を確認するためのページが表示されます。 次へをクリックして構成の詳細を確認し、監視モジュールの構成に進みます。
監視構成の概要
次に、IcingaWebの実際の監視モジュールの構成を開始します。 次へをクリックして開始します。
モニタリングバックエンドを選択します
まず、監視バックエンドを選択します。 icingaのデフォルト名とIDOのタイプで問題ありません。 これは、Icinga Webが、コマンドラインにインストールするときに以前に構成したido-mysqlデータベースから情報を取得することを示しています。
監視データベースの設定
ido-mysqlデータベースの接続の詳細を入力する必要があります。 このパスワードはインストール時に作成しました。
このページには、ユーザーデータベースの設定画面と同じオプションがすべてあります。
- リソース名: icinga_ido
- データベースタイプ: MySQL
- ホスト: localhost
- ポート:
- データベース名: icinga2
- ユーザー名: icinga2
- パスワード:インストール時に作成したパスワード
- キャラクターセット
- 永続的:チェックなし
- SSLを使用:チェックなし
次へをクリックして続行します。
コマンド転送方法を選択します
次は、 CommandTransportプロンプトです。 これにより、Webインターフェイスでヘルスチェックを手動で実行するときにIcingaWebがコマンドをIcingaに渡す方法を指定できます。 デフォルトのローカルコマンドファイルは問題なく、手順1で有効にしたコマンド機能で動作します。 次へをクリックして続行します。
監視インターフェイスのセキュリティを設定する
これにより、Webインターフェイスでマスクする必要のあるデータを指定して、潜在的な見物人がパスワードやその他の機密情報を見るのを防ぐことができます。 デフォルトは問題ありません。 次へを押して続行します。
監視モジュール構成の概要
ここでも、構成の概要が表示されます。 終了を押して、IcingaWebのセットアップを終了します。 おめでとうございます!メッセージが読み込まれます。
Icinga Web 2 にログインし、管理者のユーザー名とパスワードでログインします。
IcingaWebのメインインターフェイスが読み込まれます。 少し調べて、インターフェースに慣れてください。 サーバーにスワップスペースが設定されていない場合は、赤い重大エラーボックスが表示される場合があります。 今のところこれは無視できます。または、赤いボックスをクリックし、右側の列から Acknowledge を選択し、コメントを入力して、最後に[ X202X]問題の確認