【AWS】LambdaでCloudWatchの値をZabbixに送信(1)Zabbixトラッパー設定

Amazon RDSのCPU使用率など、Zabbixエージェントで取得できない情報をLambdaを利用してZabbixで取得する方法を解説します。本連載では、RDSの値取得を例に紹介します。

動作内容・概要図

  1. CloudWatch EventsがCRONのように、5分おきに起動
  2. CloudWatch EventsからLambdaに定数を送信
     (取得したい値とzabbixトラッパーのキーのセット)
  3. Lambdaが起動
  4. LambdaがCloudWatchから値を取得
  5. 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側の設定方法について解説します。