This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. はじめに
1.1. 背景と動機
Datadog の統合は、組織内で Datadog をすでに使用しているすべてのユーザーを対象としています。 この統合により、2 つの監視システムを継続的にチェックする必要が軽減され、2 つのシステムのギャップも解消されました。
この統合により、2 つのシステムのデータを関連付け、根本原因の分析を迅速化すると同時に、Checkmk ユーザーと Datadog ユーザー間のコミュニケーションも円滑になりました。
1.2. モニターとイベント
具体的には、この接続により、Datadog のいわゆるモニターおよびイベントをCheckmk で監視および表示することができます。 もちろん、Checkmk 内から通常の方法でイベントに関する通知を受け取ることもできます。
Datadog のモニターとイベントの統合は、特別なエージェントによって提供されています。
2. 統合の設定
2.1. キーの生成とコピー
データマイニングのために、当社のスペシャルエージェントは Datadog の API を使用しています。 この API へのアクセスを保護するには、2 つのキー(API キーとアプリケーションキー)が必要です。 Checkmk で使用する 2 つの新しいキーを作成し、Checkmk での取得にのみ使用することをお勧めします。
この記事の執筆時点では、Datadog でユーザー名のある左下隅にあるボタンをクリックすると、対応するキーまたは新しいキーを作成するためのオプションが表示されます。 そこで、[Organization Settings] をクリックします。 [ACCESS ] の見出しの下に、API Keys とApplication Keys の 2 つのエントリがあります。 この 2 つのサブメニューで、[New Key ] ボタンを使用して新しいキーを作成します。

後で 2 つのキーを Checkmk に挿入できるように、キーをコピーしておくことをお勧めします。 そのためには、それぞれのキーの行をクリックし、[Copy] をクリックします。
注:この記事の執筆中に、キーの場所が 1 度変更されています。 上記のメニュー項目が見つからない場合は、Datadog のドキュメントをご覧ください。
2.2. ホストの作成
Datadog を Checkmk に統合する方法に応じて、取得したデータを Checkmk のホストに割り当てる方法はいくつかあります。 これについては後で詳しく説明します。 ここでは、簡単なセットアップに焦点を当て、すべてのデータを 1 つのホストに割り当てます。
これを行うには、Checkmk で通常どおり新しいホストを作成し、たとえば「mydatadoghost 」という名前を付けます。
このホストは、当面はスペシャルエージェント経由でのみデータを受信するため、IP address family オプションをNo IP に設定します。

その他の設定は環境に応じて行い、Save & view folder で選択内容を確認してください。
2.3. Datadog エージェントのルールを作成する
次に、Setup > Agents > Other integrations > Applications > Datadog ルールセットを使用して、スペシャルエージェントを設定する必要があります。 まず、先ほど作成した 2 つのキーを、所定のフィールドにコピーするか、Checkmk のパスワードストアを使用します。 その後、事前に入力したAPI host が Datadog インスタンスのものと一致しているかどうかを確認します。 これを行うには、Datadog インスタンスの URL をルールのデフォルトのエントリと比較し、必要に応じて編集します。
Checkmk がHTTP proxy 経由で Datadog と通信している場合は、次のオプションに入力してください。
これで、Datadog から Checkmk に転送するデータを決定できます。 ここでは、いわゆる「monitors 」と「events 」のどちらかを選択できます。
モニターの取得
モニターの監視を有効にすると、Datadog 内のタグを使用して、転送するデータをフィルタリングすることができます。
特に大規模な環境では、Checkmk で表示したいモニターに Datadog で適切なタグ(monitored_by_checkmk:yes など)を付けることをお勧めします。
次に、これらのタグをRestrict by monitor tags に入力します。
さらに、Datadog のモニターの設定に表示される他のタグもフィルタリングに使用することができます。 たとえば、Datadog でホストに「checkmk:yes」というタグを付けることができます。
次に、そのタグを持つすべてのホストを参照するホストモニターを Datadog で作成すると、Checkmk のRestrict by tags でも同じタグを使用することができます。 このようにして、わずかな作業で、タグ「checkmk:yes」を含む Datadog のすべてのモニターを取得することができます。 もちろん、これはホストタグだけでなく、Datadog でモニターを作成できるすべてのタグで機能します。

両方のオプションを使用不能のままにしておくと、すべてのモニターは Datadog から Checkmk にそのまま転送されます。
Datadog の各モニターに対して 1 つのサービスが Checkmk に作成され、Checkmk で監視できるようになります。
イベントの取得
Datadog 用のスペシャルエージェントを使用すると、Datadog から Checkmkのイベントコンソールにイベントを直接転送することもできます。 転送するイベントを制限するには、Datadog のタグを使用します。 さらに、イベントを転送する時間枠を指定することもできます。 このMaximum age of fetched events は、チェック間隔よりも短くしないでください。そうしないと、イベントが失われる可能性があります。 ただし、Datadog は過去の日付のタイムスタンプを持つイベントを作成する場合があるため、期間を短くしすぎないようにしてください。 デフォルトの 10 分は、良い出発点となります。

このルールのこの部分の他のすべてのフィールドは、Checkmk イベントコンソールで Datadog からイベントを作成するために使用するパラメータを参照しています。 これらのフィールドの詳細については、イベントコンソールの記事の「Syslog 優先度および機能」および「サービスレベル」セクションをご覧ください。
イベントについては、Checkmk のホスト上に 1 つのサービスのみ作成され、転送されたイベント数が通知されます。
ログの取得
Datadog からログをインポートし、イベントコンソールを使用して評価することもできます。その方法は、基本的にイベントの場合とまったく同じです。Log search query フィールドでは、Datadog 独自の構文を使用して検索を行ってください。 また、Text of forwarded events オプションを介して転送するテキストの構成についても、Datadog のドキュメントで説明されています。

明示的なホストの設定とサービスディスカバリーの実行
このルールで Datadog から取得したモニターとイベントが 1 つのホストにのみ届くようにするには、最後に、先ほど作成したホストを「Conditions > Explicit hosts 」に追加する必要があります。 次に、「Save.」をクリックします。 このホストのサービスディスカバリーを実行すると、Checkmk に Datadog からの最初のモニターとイベントが表示されます。
注:実際には、Checkmk ではモニターとイベントを別々のホストに配置する方が便利であることがわかっています。 この方法では、一般的に明確性が向上し、各ホストの追加パラメータの設定が容易になります。
3. 状態のマッピング
Datadog のモニターから転送される状態は、すべてのユースケースで Checkmk の状態に 1 対 1 で転送できるわけではありません。 これらの状態をニーズに応じて設定できるように、ルール「Checking of Datadog monitors 」が用意されています。 このルールは、Setup メニューで検索するか、Setup > Services > Service monitoring rules > Applications, Processes & Services > Checking of Datadog monitors で表示できます。

さらに、このルールでは、Checkmk のサービス出力に表示する Datadog のタグも指定できます。
