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 に名前変更します。例は以下のとおりです。
通常は、endpoints だけを調整すれば十分です。
ログ収集¶
ログ収集に関する設定の詳細はこちらを参照してください。
メトリクス¶
以下のすべてのデータ収集では、既定で host という名前のグローバル tag が追加されます(tag の値は DataKit があるホスト名です)。設定内で [inputs.container.tags] を使って他のタグを指定することもできます。
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 |