前回と類似でWindowsServerとAmazonLinuxの連携です。
今回はNSClient++をWindowsサーバのエージェントとして使用してLinuxのNagiosに情報を送ります。
動作環境は下記のようになります。
■監視対象サーバ
OS:Windows_Server-2012-R2
ミドルウェア:NSClient++ 0.4.2.114
■監視サーバ
OS:Amazon Linux
ミドルウェア:Nagios Core 3.5.1
1.監視対象サーバの設定
まずはNSCPの公式サイトからインストーラをダウンロードします。
https://www.nsclient.org/download/0.4.2/
指示に従ってインストールを進めていきます。
基本的にデフォルトのままで進めていきます。
ホストは監視サーバのホスト名(IPアドレス)を設定します。
複数指定する場合はカンマ区切り、アドレスレンジで指定することもできます。
今回は上3つにチェックを入れています。
Nagiosの基本的なプラグイン、NRPEを使用します。
続いてNSClient++の設定をします。
下記に設定ファイルがあります。
C:\Program Files\NSClient++\nsclient.ini
このファイル対して次のように記述を追加します。
Undocumented keyの設定の続きに下記を追記
; Undocumented key NSClientServer = 1
一番下に下記を追記
[/settings/NRPE/server] allow arguments = 1 [/settings/external scripts/alias] check_nxlog=check_process process="nxlog.exe" check_win_cpu=check_cpu check_win_mem=check_memory check_win_disk=check_drivesize
監視項目は以下の4つです。
・nxlogサービスの起動確認
・CPU使用量の確認
・メモリ使用量の確認
・ディスク使用量の確認
サービスを再起動して設定完了です。
この時点ではnagios側の設定を変更していないため通信エラーとなります。
ちなみにNSClient++のログは下記のパスに出力されます。
C:\Program Files\NSClient++\nsclient.log
2.監視サーバの設定
nagiosが入っていることを前提として説明していきます。
下記のパスでファイルを作成します。
/etc/nagios/servers/windowsserver.cfg
define host{ use windows-server host_name {監視対象ホスト名} address {IPアドレス} hostgroups single-a } define service{ use generic-service host_name {監視対象ホスト名} service_description check cpu check_command check_nrpe!check_win_cpu } define service{ use generic-service host_name {監視対象ホスト名} service_description check mem check_command check_nrpe!check_win_mem } define service{ use generic-service host_name {監視対象ホスト名} service_description check diskspace check_command check_nrpe!check_win_disk } define service{ use generic-service host_name {監視対象ホスト名} service_description check nxlog check_command check_nrpe!check_nxlog }
nagiosを再起動すると各項目の監視が開始します。
sudo /etc/init.d/nagios/restart