コンテンツにスキップ

Docker

Docker Container のメトリクス、オブジェクト、ログデータを収集します。

収集器の設定

前提条件

  • 現在 container は Docker、Containerd、CRI-O のコンテナランタイムをサポートしています
    • バージョン要件:Docker v17.04 以上、Containerd v1.5.1 以上、CRI-O 1.20.1 以上
Info
  • コンテナ収集は Docker と Containerd の 2 種類のランタイムをサポートしています Version-1.5.7、また既定でどちらも収集が有効です。
  • DataKit

Docker 環境の DataKit はホスト上にのみインストールできます。

DataKit のインストールディレクトリ内の conf.d/samples ディレクトリに入り、container.conf.sample をコピーして container.conf に名前変更します。例は以下のとおりです。

[inputs.container]
    endpoints = [
    "unix:///var/run/docker.sock"
    ]

通常は、endpoints だけを調整すれば十分です。

ログ収集

ログ収集に関する設定の詳細はこちらを参照してください。


メトリクス

以下のすべてのデータ収集では、既定で host という名前のグローバル tag が追加されます(tag の値は DataKit があるホスト名です)。設定内で [inputs.container.tags] を使って他のタグを指定することもできます。

 [inputs.container.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"
  # ...

docker_containers

コンテナのメトリクス。Running 状態のみサポートします。

  • タグ
Tag Description
aws_ecs_cluster_name AWS ECS のクラスター名。
cluster_name_k8s K8s クラスター名(既定値は default)。datakit.yaml の ENV_CLUSTER_NAME_K8S で名前を変更できます。
container_id コンテナ ID
container_name k8s のコンテナ名(label io.kubernetes.container.name)。空の場合は $container_runtime_name を使用します。
container_runtime コンテナランタイム(このコンテナは Docker/Containerd/cri-o 由来)。
container_runtime_name ランタイム上のコンテナ名(docker ps のようなもの)。空の場合は unknown を使用します。
container_runtime_version コンテナランタイムのバージョン。
container_type コンテナの種類(このコンテナは Kubernetes/Docker/Containerd/cri-o によって作成されます)。
daemonset 対象オブジェクトが属する DaemonSet の名前。
deployment 対象オブジェクトが属する Deployment の名前。
image コンテナイメージの完全名。例: nginx.org/nginx:1.21.0
image_name コンテナイメージ名。例: nginx.org/nginx
image_short_name コンテナイメージの短い名前。例: nginx
image_tag コンテナイメージのタグ。例: 1.21.0
namespace コンテナの namespace(label io.kubernetes.pod.namespace)。
pod_name コンテナの pod 名(label io.kubernetes.pod.name)。
pod_uid コンテナの pod uid(label io.kubernetes.pod.uid)。
state コンテナの状態(Running のみ)。
statefulset 対象オブジェクトが属する StatefulSet の名前。
task_arn AWS Fargate の task arn。
task_family AWS Fargate の task family。
task_version AWS Fargate の task version。
  • 指標一覧
Metric Description Type Unit
block_read_byte コンテナファイルシステムから読み取った総バイト数(docker のみサポート)。 int B
block_write_byte コンテナファイルシステムに書き込んだ総バイト数(docker のみサポート)。 int B
cpu_numbers CPU コア数。 int count
cpu_usage システムホスト上での CPU 使用率。 float percent
cpu_usage_base100 正規化された CPU 使用率。最大値は 100%。 float percent
mem_capacity ホストマシンの総メモリ。 int B
mem_limit コンテナのメモリ上限。 int B
mem_usage メモリ使用量。 int B
mem_used_percent ホストマシンの容量を基準に算出したメモリ使用率。 float percent
mem_used_percent_base_limit 上限を基準に算出したメモリ使用率。 float percent
network_bytes_rcvd ネットワークから受信した総バイト数(コンテナ内のメインプロセスの使用分のみを数え、loopback は除外)。 int B
network_bytes_sent ネットワークへ送信した総バイト数(コンテナ内のメインプロセスの使用分のみを数え、loopback は除外)。 int B

オブジェクト

docker_containers

コンテナのオブジェクト。Running 状態のみサポートします。

  • タグ
Tag Description
aws_ecs_cluster_name AWS ECS のクラスター名。
cluster_name_k8s K8s クラスター名(既定値は default)。datakit.yaml の ENV_CLUSTER_NAME_K8S で名前を変更できます。
container_id コンテナ ID
container_name k8s のコンテナ名(label io.kubernetes.container.name)。空の場合は $container_runtime_name を使用します。
container_runtime コンテナランタイム(このコンテナは Docker/Containerd/cri-o 由来)。
container_runtime_name ランタイム上のコンテナ名(docker ps のようなもの)。空の場合は unknown を使用します。
container_runtime_version コンテナランタイムのバージョン。
container_type コンテナの種類(このコンテナは Kubernetes/Docker/Containerd/cri-o によって作成されます)。
daemonset 対象オブジェクトが属する DaemonSet の名前。
deployment 対象オブジェクトが属する Deployment の名前。
image コンテナイメージの完全名。例: nginx.org/nginx:1.21.0
image_name コンテナイメージ名。例: nginx.org/nginx
image_short_name コンテナイメージの短い名前。例: nginx
image_tag コンテナイメージのタグ。例: 1.21.0
name コンテナの ID。
namespace コンテナの namespace(label io.kubernetes.pod.namespace)。
pod_name コンテナの pod 名(label io.kubernetes.pod.name)。
pod_uid コンテナの pod uid(label io.kubernetes.pod.uid)。
state コンテナの状態(Running のみ)。
statefulset 対象オブジェクトが属する StatefulSet の名前。
status コンテナのステータス。例: Up 5 hours
task_arn AWS Fargate の task arn。
task_family AWS Fargate の task family。
task_version AWS Fargate の task version。
  • 指標一覧
Metric Description Type Unit
age 経過時間(秒)。 int s
block_read_byte コンテナファイルシステムから読み取った総バイト数(docker のみサポート)。 int B
block_write_byte コンテナファイルシステムに書き込んだ総バイト数(docker のみサポート)。 int B
cpu_numbers CPU コア数。 int count
cpu_usage システムホスト上での CPU 使用率。 float percent
cpu_usage_base100 正規化された CPU 使用率。最大値は 100%。 float percent
mem_capacity ホストマシンの総メモリ。 int B
mem_limit コンテナのメモリ上限。 int B
mem_usage メモリ使用量。 int B
mem_used_percent ホストマシンの容量を基準に算出したメモリ使用率。 float percent
mem_used_percent_base_limit 上限を基準に算出したメモリ使用率。 float percent
network_bytes_rcvd ネットワークから受信した総バイト数(コンテナ内のメインプロセスの使用分のみを数え、loopback は除外)。 int B
network_bytes_sent ネットワークへ送信した総バイト数(コンテナ内のメインプロセスの使用分のみを数え、loopback は除外)。 int B

フィードバック

このページは役に立ちましたか?