Zabbix 3.2でtd-agent用のテンプレートを作成する

Zabbixでtd-agentを動かす際に、監視をしたいので、テンプレートを作成します。

# テンプレートを作成

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/c45c3b17-c3ff-037e-c4f6-23d0e0a481e9.png)

以下のように設定します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/383c2498-beb2-099f-2db9-02fd1a863977.png)

作成後、テンプレート一覧からTemplate App td-agent Serviceを選択して、各種設定していきます。

まず、アプリケーションを作成します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/1a96d5d9-4b43-22d8-3a18-0d69e97c4475.png)

# アイテムの作成

つぎに、アイテムを作成します

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/30fd6559-ab4a-0e92-f023-5da20b051fea.png)

## プロセス数の監視

プロセスが立ち上がっているか確認するために、以下のように設定します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/8a241844-45b1-6f7e-74b5-142858682567.png)

## バッファのファイル数監視

Fluentdのバッファをファイルにしている場合、そのバッファのファイル数が増え続けてくると、Fluentdがouptputが捌けていないことになります。
その監視をするために、バッファのファイル数を監視します。

Zabbixエージェントのユーザパラム設定で、監視できるようにします。

```
# Zabbixエージェントの設定ファイルが ```/etc/zabbix/zabbix_agentd.d``` を読み込むように設定する


# ファイルを開きます
vi /etc/zabbix/zabbix_agentd.d/userparameter_td-agent.conf

# 以下を追記します。
UserParameter=td-agent.bufnum[*],ls $1 2>/dev/null | wc -l
```

設定が終わったらエージェントを再起動します。

```
service zabbix-agent restart
```

つぎに、ZabbixのWeb UIで監視するバッファを設定します。今回はバッファが ```/var/log/td-agent/buffer/``` 以下にあると仮定し、以下のように設定します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/0e4805f2-6eec-64bd-ab5c-73c437c8b4f9.png)


## グラフの作成

アイテムだけ作成しても、監視項目のグラフがないと状況が見えにくいのでグラフを作成します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/a2ee2303-88cb-c8f9-93b9-bd580b212de3.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/3e2c37d8-d2fb-a3c7-be75-cbbce0b583f1.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/a8002b35-81cc-9220-92c1-b7e067ce183b.png)

そうすると以下のように表示されます。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/371bd948-fd1f-09bb-ac69-d8404e354d66.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/2155d922-4dd2-70fa-d619-75dc379e14ee.png)

## トリガー

実際の運用環境ではプロセスの数が一定数を下回ったら、とか、バッファの数が一定数以上になったらなどでトリガーを設定する必要がありますが、今回は以下のものについて設定します。

### プロセス数が一定数以下になったらトリガー

[設定]->[テンプレート]で「Template App td-agent Service」を選び、トリガーをクリックします。
その後、トリガーの作成をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/8076b3fb-30af-b529-9566-0fecf6f44cfc.png)

以下のように、各種入力して、追加をクリックします。その後、図のようにアイテムを選んでいきます。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/d1fa7909-5459-1b09-53c7-c0ff23af5937.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/8c288c07-670d-492e-870b-8bedd76e73c3.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/3a73a70e-97a8-a813-6517-208ae697bc50.png)

結果的に以下のようになったら挿入します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/471c7c88-51bf-f2f3-3036-e4e3028d9de5.png)

復旧条件も足し、最終的に以下のようにｓたら追加します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/afc42de2-5cee-9956-f701-71856e17c0ba.png)

td-agentを止めてアラートがでるか確かめて、出ていれば完了です

### バッファファイル数が一定ならトリガー

以下のように設定します。

![image](https://qiita-image-store.s3.amazonaws.com/0/30079/474e7910-1e80-52bb-b427-b4c4c362239e.png)


# まとめ

Zabbixでtd-agentが監視できるようになりました。
マネージドでないサービスの場合、自分で監視する必要があるのですがZabbixを使えば、簡単に設定できます。
他のサービスも今後、折を見て設定していきます。