Amazon RDSのCPU使用率など、Zabbixエージェントで取得できない情報をLambdaを利用してZabbixで取得する方法を解説します。本連載では、RDSの値取得を例に紹介します。
動作内容・概要図
- CloudWatch EventsがCRONのように、5分おきに起動
- CloudWatch EventsからLambdaに定数を送信
(取得したい値とzabbixトラッパーのキーのセット) - Lambdaが起動
- LambdaがCloudWatchから値を取得
- LambdaがZabbixに値を送信
第1回では、Zabbix側(Zabbixトラッパー)の設定方法を解説します。
Zabbix設定方法
Zabbixトラッパーが通信を受けるため、Zabbixサーバーの10051ポートを解放しておいてください。この記事ではZabbix 4.2のスクリーンショットを掲載しています。
1.テンプレート作成
[設定 -> テンプレート -> テンプレートの作成]から、新規にテンプレートを作成します。
2.Zabbixトラッパーアイテム作成
取得したい値毎にZabbixトラッパーアイテムを作成します。今回はそれぞれ下記の通り設定しました
取得したい値 | キー | データ型 |
---|---|---|
CPUUlitization | cpu_utilization | 数値(浮動少数) |
FreeableMemory | freeablememory | 数値(整数) |
FreeStorageSpace | freestoragespace | 数値(整数) |
ReadIOPS | readiops | 数値(浮動少数) |
WriteIOPS | writeiops | 数値(浮動少数) |
WriteLatency | writelatency | 数値(浮動少数) |
3.グラフ作成
スクリーンに利用するため、それぞれのアイテムに呼応するグラフを作成します。
4.スクリーン作成
スクリーンを作成して、作成したグラフを表示するよう設定します。
5.トリガー作成
アラートを出すためのトリガーを作成します。
- CPU使用率80%以上で警告
- FreeableStorageSpace 10GB未満で警告
6.ホスト作成
値を受け付けるためのホストを作成します。通常はここで接続先を入力しますが、Zabbixトラッパーのみを利用する場合はホスト名・表示名・グループ・テンプレート設定のみで大丈夫です。ホスト名はZabbixトラッパー送信先情報に利用します。
(ホスト設定画面)
(ホスト設定 -> テンプレート設定画面)
以上でZabbixトラッパー側の設定は完了です。次回以降、AWS側の設定方法について解説します。