Help us understand the problem. What is going on with this article?

【SRE】Datadogの仕組み

Kubernetesの監視

DatadogはどのようにKubernetesを監視しているのか

「Kubernetes のモニタリング」 には、「Kubernetes 上で動くコンテナたち」と「Kubernetes クラスタ」へのモニタリングが含まれています
ここでは、「Kubernetes 上で動くコンテナたち」について記載します。
また以降に関しては、下記記事をメインに記載していきます。
Monitoring Kubernetes with Datadog autodiscovery | Datadog

Datadogの仕組み

コンテナを関しする方法としては、以下2パターン存在します。

Agent as side-cars container

同じhost上の別のコンテナとしてモニタリングエージェントを配置するパターンです。
Kubernetesでは、Podの仕組みを使用し、実現することができます。

image.png

Agent with Autodiscovery

下記で示す通り、1つのhostに対して、1つのdatadog-agentを設置することになります。
具体的には、Nodeが3つあった場合は、3つdatadog-agentを設置することになります。

image.png

Kubernetesのメトリクス取得の流れ

  1. 各ノード上の全コンテナの基本的なメトリクス(CPU, Mem, Disk, Network) を cAdvisor が集める
  2. 各ノードの kubelet は同一ホスト上の cAdvisor からモニタリングデータを取得する
  3. Heapster は各 kubelet からモニタリングデータを集める
  4. Heapster はストレージバックエンド(現状は InfluxDB) にデータを投げる
  5. InfluxDB はもらったデータを永続化する
  6. Grafana は InfluxDB に永続化されたデータを元に可視化する
  7. kubedash は Heapster が短期的に持つデータを元に可視化する

Monitoring Kubernetes with Datadog autodiscovery | Datadogより引用

cAdvisor

コンテナのresource情報(CPU、メモリなど)を集めてくれます。

【Docker】cAdvisorによるDockerコンテナの監視について - Qiita

Heapster

image.png
k8sメトリックスのモニタリングとログ分析について調べたメモ - Qiitaより引用

Datadogのメトリクス取得の流れ

  1. ユーザーは KV ストアに Docker イメージごとの”モニタリング設定テンプレート”をセットしておく
  2. dd-agent は KV ストアから”モニタリング設定テンプレート”を取得する
  3. dd-agent は kubelet から pods リストを取得する
  4. dd-agent は “モニタリング設定テンプレート” と pods リストを元にモニタリング設定ファイルを動的に生成する
  5. dd-agent は生成したモニタリング設定ファイルを元にカスタムメトリクスを返すエンドポイントをモニタリングする
  6. コンテナの元になったイメージに”モニタリング設定テンプレート”が存在する場合のみモニタリング対象になる(モニタリング対象は同じホスト上のコンテナのみ)

Monitoring Kubernetes with Datadog autodiscovery | Datadogより引用

その他参考になる記事

How to monitor Google Kubernetes Engine with Datadog | Datadog
Monitoring Kubernetes with Datadog | Datadog
Kubernetesで監視を行う際の注意点 - Qiita
Datadog resources · GitHub

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした