こんにちは。hacknoteのr.katoです。
今回はwindows serverにzabbixエージェントを入れ、その取得情報をAWSのCloudWatchへ送信する方法を紹介していきます。
手順
Cドライブの直下にhttps://github.com/ryo1107/zabbix-cloudwatch-windows.gitをpullしてください。
以下のバッチファイルを実行してください。その時、OSのbit数に応じて以下の様にバッチファイルを編集してください。
C:\zabbix-cloudwatch-windows\zabbix_agent\batch\install_zabbix_agent_service.bat
set AGENT="C:\zabbix-cloudwatch-windows\zabbix_agent\bin\win64\zabbix_agentd.exe" set AGENT="C:\aimluck-cloudwatch-windows\zabbix_agent\bin\win32\zabbix_agentd.exe"
- 以下のバッチファイルを実行してください。
C:\zabbix-cloudwatch-windows\zabbix_agent\batch\start_zabbix_agent_service.bat
- node.jsをインストールし、次の様に実行してください。
cd C:\zabbix-cloudwatch-windows\nodejs npm install aws-sdk
- C:\zabbix-cloudwatch-windows\nodejs ここにconfig.js.sampleがありますので、このファイルをコピーして、config.jsを作成し、次のIDとパスワードを編集してください。
accesskey: ___accesskey____, secretkey: ___secretkey____,
- 次のコマンドでCloudwatchへ情報を送信できます。
リソース情報を送信 node C:\zabbix-cloudwatch-windows\nodejs\cloudwatch-put.js >> C:\zabbix-cloudwatch-windows\nodejs\cloudwatch-put.log 2>&1 ポートが待ち受け状態かどうか送信します。0の時は待ち受けしておらず、1の時はしています。 node C:\zabbix-cloudwatch-windows\nodejs\cloudwatch-server.js >> C:\zabbix-cloudwatch-windows\nodejs\cloudwatch-server.log 2>&1
実際に送ってみた
この様に送ることができます。 port_numがチェックしたポート番号です。
C:\zabbix-cloudwatch-windows\nodejs\cloudwatch-server.js内のport_numという配列にチェックしたいポート番号を追加することで、チェックすることができる様になります。