すでにTreasure Data様に、英語での素晴らし記事を提供していただいているので、Datadog Agent 5.2以降を使ったFluentdを監視するための設定記事は、そのポストが日本語版に翻訳されて掲載されるのを待つことにします。
今回のブログポストでは、現在ネット上に点在するFluentdとDatadogに関連する情報で、先のポストで十分表現されていない部分を補足したいと思います。
Datadog のFluentdインテグレーションの監視項目
インテグレーションの提供者である@takusさんがQiitaの「Datadog で Fluentd のバッファ監視をする方法」記事でも書かれているように、Datadogが公式に提供しているFluentdインテグレーションは、Fluentd本体の健康状態を把握する目的でバッファーの状況を取得する仕組みになっています。
具体的には、Fluentdのoutputプラグインのretrycount, **bufferqueuelength, buffertotalqueuedsizeをDatadogで収集し、グラフ化したり、他のイベント事項と関連付けすることで、予防的な視点でFluentdの健康状態を把握することが出来ます。****
Fluentdで処理したログ情報のDatadogへの送信
Fluentd本体をDatadogで監視するということは、Fluentdで処理している各種のログ情報をDatadogで動的に可視化してインフラ全体の状況を把握することも目的に含まれるのではないかと思います。
Fluentd側に組み込むDatadog Pluginに関して
この目的のために、Fluentdのログ処理結果をDatadogへ送信するfluentdのpluginが次の2種類になります。
前者と後者のpluginを簡単に比較すると、以下のようになります。
項目 | fluent-plugin-dd | fluent-plugin-datadog |
---|---|---|
公開元 | コミュニティー (winebarrel) | Datadog (alq666) |
公開開始 | 2014/02 | 2013/09 |
version | 0.1.6 | 0.0.3 |
備考 | 単体でのgemインストール | dogapiとpluginを手動インストール |
deviceなどを含む各種オプションがある | 基本項目のみ |
上記の状況を見ると、現状では特別な理由がない限りfluent-plugin-ddの選択で問題がないと思われます。
Fluentd側からメトリクスを送信するサンプル
Fluentdからメトリクスを送信するには、いろいろな準備と方法があります。 以下に紹介するブログで、Fluentd側で必要な処理が理解できると思いますので是非参考にしてください。
- fluentd 復習(1)〜 fluentd-plugin-datacounter と fluent-plugin-map や fluent-plugin-dd を使った可視化の例〜
- Fluentd で HTTP ステータスコードを集計して Datadog で可視化 or 監視する
- fluentdとDataDogでアクセスログをグラフ化
Datadogでは、全ての機能が体験できる14日間のフリートライアルを準備してしています。
Fluentdから出力されるメトリクスを動的に視覚化し、他のメトリクスやイベントと関連付けて、インフラの状況を把握しようと考えている場合は、Datadogを是非試してみてください。