Icingaをインストールすると、Webインターフェイスを介してシステムを監視できます。デフォルトでは、Icingaがインストールされているローカルマシンの監視に制限されています。リモートのLinuxボックスまたはWindowsボックスを監視する場合は、リモートボックスにNagiosプラグインとNRPEアドオンをインストールする必要があります。プラグインとアドオンをインストールしたら、リモートマシンから情報を収集してWebインターフェイスに表示するようにIcingaサーバーを構成する必要があります。
Icingaをまだインストールしていない場合。 Ubuntu 14.10へのIcingaのインストールの投稿にアクセスしてください。icingaを使用すると、2つの方法でリモートサービスを監視できます。
- 公共サービスを監視する
- NRPEアドオンを使用して監視します。
公共サービスの監視:
Icingaは、HTTP、POP3、IMAP、FTP、SSHなどの公共サービスの監視をサポートしています。これらのサービスは特別なアクセス要件を必要としないためです。公共サービスとは、ネットワーク内またはインターネットを介してアクセスできることを意味します。これらのサービスは、主に日常的に使用されています。
プラグインを使用すると、監視の可能性を要件の特定のアプリケーションとプロトコルに拡張できます。このチュートリアルでは、Webサーバーのhttpサービスとsshサービスの両方を監視します。構成ファイルの作成から始めましょう。すべての新しい構成ファイルは/etc/ icinga/objectsの下に作成する必要があります。
ファイル名(itzgeek.cfg)は、任意のファイル名に置き換えることができます。末尾は.cfgである必要があります。
$ sudo nano /etc/icinga/objects/itzgeek.cfg
要件に応じてhost_nameとaddressを置き換え、hostnameとipaddressをそれぞれhost_nameフィールドとaddressフィールドに入力します。
定義ホスト{usegeneric-host;私のウェブserverAddressに23.229.xxx.xxx itzgeek.comalias usehost_nameにホストテンプレートの名前} SSHサービスがrunningdefineサービス{host_nameのitzgeek.comservice_description SSHcheck_command check_sshuse一般的なサービスであることをサービスを定義{host_nameのitzgeek.comservice_description HTTPcheck_command check_httpuse一般的なサービス}#チェック}
完了したら、icingaサービスを再起動します。
$ sudo service icinga restart
Webインターフェイスでサービスステータスを確認すると、ポータルに新しく追加されたホストが表示されます。
NRPEアドオンを使用した監視:
Icingaは、これを克服するために、リモートホストのプライベート統計を独自に収集しません。リモートホストにはアドオンがインストールされている必要があります。 NRPEアドオンはデータを収集し、icingaサーバーはそこから収集します。そのために、リモートホストにNRPEアドオンをインストールし、データを収集するようにicingaサーバーを構成します。
aptリポジトリを更新します。
$ sudo apt update
NRPEおよびnagiosプラグインをインストールします。
$ sudo apt install nagios-plugins nagios-nrpe-server
リモートホストの/etc/nagios/nrpe.cfgを変更します。これには、リモートホストのサービスを確認するためのコマンド引数が含まれています。 nrpe.cfgファイルには、リモートサービスをチェックするための基本的なコマンドが含まれています。以下は、CPUのロードと実行中のプロセスをチェックするためのコマンドラインです。監視を有効にするには、サーバーホストのテンプレートファイルにcheck_hda1とcheck_total_procsを入力する必要があります。
command [check_hda1] =/ usr / lib / nagios / plugins / check_disk -w 20%-c 10%-p / dev / hda1command [check_total_procs] =/ usr / lib / nagios / plugins / check_procs -w 150- c 200
注: check_hda1を構成するときに、リモートホストのディスクレイアウトに従って変更します。私の場合、/ dev/sda6である/マウントポイントを監視する必要があります。次のエントリは、リモートホストの/etc/nagios/nrpe.cfgに設定する必要があります。
コマンド[check_sda6]=/ usr / lib / nagios / plugins / check_disk -w 20%-c 10%-p / dev / sda6
上記のコマンドで、-wは警告を表し、-cはクリティカルアラートを表します。たとえば、ターミナルで2番目のコマンドを実行すると、実行中のプロセスがチェックされます。プロセスが150を超えると警告が表示され、プロセスが200を超えるとクリティカルが報告され、同時にプロセスが150を下回るとOKと表示されます。
$ / usr / lib / nagios / plugins / check_procs -w 150 -c 200PROCS OK:17プロセス| procs =17; 150; 200; 0;
サーバーで実行されているプロセスは非常に少ないため、テスト目的で警告を15に、クリティカルを150に変更します。これで、要件に応じて警告メッセージが表示されます。
$ / usr / lib / nagios / plugins / check_procs -w 15 -c 200PROCS警告:17プロセス| procs =17; 15; 200; 0;
ファイル内の次のパラメータを確認することを忘れないでください。これは、サービスが正しいポートで実行されていることを確認するためです。
server_port =5666
複数のネットワークカードがある場合は、特定のネットワークカードでサービスがリッスンするようにこれを構成します。
server_address =192.168.12.9
このパラメーターが設定されている場合は、allowed_hostsにicingaサーバーのIPを追加します。リストされているicingaサーバーのみがこのホストに接続できます。
allowed_hosts =192.168.12.6
Icingaサーバーはコマンドライン引数を渡すことができる必要があるため、dont_blame_nrpeを1に設定します。
dont_blame_nrpe =1
変更したら、NRPEサーバーを再起動します。
$ sudo /etc/init.d/nagios-nrpe-server restart
NRPEリスニングを確認します。
$ sudo netstat -antup | grep 5666tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 7333 / nrpetcp6 pe 6 * en 0 :::5666Icingaサーバーの構成:
次に、リモートクライアントを監視するようにIcingaサーバーを構成します。nrpe-pluginをインストールする必要があります。
$ sudo apt-get install nagios-nrpe-pluginリモートホストのNRPEサーバーのバージョンを確認します。
$ sudo / usr / lib / nagios / plugins / check_nrpe -H 192.168.12.9NRPE v2.15新しい構成ファイル(/usr/local/icinga/etc/objects/remote.cfg)を作成して、ホストとサービスの定義を定義します。
sudo nano /etc/icinga/objects/remote.cfg次のテンプレートを使用して、要件に応じて変更できます。以下は、CPU負荷、ディスクスペース、現在のユーザーを表示するように構成されています。
define host {use generic-hosthost_name remote.itzgeek.comalias My Remote Ubuntu Serveraddress 192.168.12.9} define service {use generic-servicehost_name remote.itzgeek.comservice_description Root Partitioncheck_command check_nrpe_1arg!check_sda6} define service {usegeneric-servicehost_nameremote。 itzgeek.comservice_description Current Userscheck_command check_nrpe_1arg!check_users} define service {use generic-servicehost_name remote.itzgeek.comservice_description Total Processescheck_command check_nrpe_1arg!check_total_procs} define service {use generic-servicehost_name remote.itzgeek.comservice_description Current Loadcheck_icingaサーバーを再起動します。
$ sudo /etc/init.d/icinga restartリモートマシンを監視する:
次に、Webインターフェイスにログインして、監視を開始します。次のスクリーンショットは、デフォルトのサービスが利用可能なリモートLinuxサーバーを示しています。
それで全部です。これで、Icingaを使用してリモートマシンを簡単に監視できます。
Ubuntu