Docker 集成
编辑Docker 集成
编辑此集成从 Docker 容器收集指标和日志。指标收集的默认数据流包括:container
、cpu
、diskio
、healthcheck
、info
、memory
和 network
。image
指标集默认未启用。用于收集容器日志的 container_logs
数据流默认启用。
兼容性
编辑Docker 模块目前已在 Linux 和 Mac 上使用社区版引擎 1.11 和 17.09.0-ce 版本进行了测试。
在 Docker 内部运行
编辑docker
集成将尝试连接到 Docker 套接字,默认位于 unix:///var/run/docker.sock
。如果 Elastic Agent 在 Docker 内部运行,您需要在容器内部挂载 Unix 套接字。
docker run -d \ --name=metricbeat \ --user=root \ --volume="/var/run/docker.sock:/var/run/docker.sock:ro" \ docker.elastic.co/beats/metricbeat:latest metricbeat -e \ -E output.elasticsearch.hosts=["elasticsearch:9200"]
对于日志收集,由于容器的发现是自动进行的,因此同样需要访问 unix:///var/run/docker.sock
,以便 Agent 能够监视容器事件。此外,还需要访问容器的日志文件,这些文件默认遵循 /var/lib/docker/containers/${docker.container.id}/*-json.log
模式。如果 Elastic Agent 在 Docker 内部运行,您还需要在容器内部挂载日志目录。
docker run -d \ --name=metricbeat \ --user=root \ --volume="/var/run/docker.sock:/var/run/docker.sock:ro" \ --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" \ docker.elastic.co/beats/metricbeat:latest metricbeat -e \ -E output.elasticsearch.hosts=["elasticsearch:9200"]
在所有情况下,请确保 Agent 具有访问这些文件的适当权限。
模块特定的配置说明
编辑强烈建议您以 3 秒或更长的 period
运行 Docker 指标集。对 Docker API 的请求已经需要长达 2 秒的时间。指定小于 3 秒将导致请求超时,并且这些请求将不会报告任何数据。
指标
编辑容器
编辑Docker container
数据流收集有关正在运行的 Docker 容器的信息和统计数据。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
|
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
|
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
|
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
|
container.id |
唯一的容器 ID。 |
keyword |
|
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
|
container.name |
容器名称。 |
keyword |
|
container.runtime |
管理此容器的运行时。 |
keyword |
|
data_stream.dataset |
数据流数据集。 |
constant_keyword |
|
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
|
data_stream.type |
数据流类型。 |
constant_keyword |
|
docker.container.command |
在 Docker 容器中执行的命令。 |
keyword |
|
docker.container.created |
创建容器的日期。 |
date |
|
docker.container.ip_addresses |
容器 IP 地址。 |
ip |
|
docker.container.labels.* |
容器标签 |
object |
|
docker.container.size.root_fs |
容器中所有文件的总大小。 |
long |
gauge |
docker.container.size.rw |
自创建以来创建或更改的文件的大小。 |
long |
gauge |
docker.container.status |
容器状态。 |
keyword |
|
docker.container.tags |
镜像标签。 |
keyword |
|
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
|
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
|
event.module |
事件模块 |
constant_keyword |
|
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
|
host.architecture |
操作系统架构。 |
keyword |
|
host.ip |
主机 IP 地址。 |
ip |
|
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
|
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
|
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
|
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
|
host.os.full.text |
|
match_only_text |
|
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
|
host.os.name |
操作系统名称,不带版本。 |
keyword |
|
host.os.name.text |
|
match_only_text |
|
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
|
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
|
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
|
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
|
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
以下是 container
的示例事件
{ "@timestamp": "2017-10-12T08:05:34.853Z", "agent": { "hostname": "host.example.com", "name": "host.example.com" }, "container": { "id": "cc78e58acfda4501105dc4de8e3ae218f2da616213e6e3af168c40103829302a", "image": { "name": "metricbeat_elasticsearch" }, "name": "metricbeat_elasticsearch_1_df866b3a7b3d", "runtime": "docker" }, "docker": { "container": { "command": "/usr/local/bin/docker-entrypoint.sh eswrapper", "created": "2019-02-25T10:18:10.000Z", "ip_addresses": [ "172.23.0.2" ], "labels": { "com_docker_compose_config-hash": "e3e0a2c6e5d1afb741bc8b1ecb09cda0395886b7a3e5084a9fd110be46d70f78", "com_docker_compose_container-number": "1", "com_docker_compose_oneoff": "False", "com_docker_compose_project": "metricbeat", "com_docker_compose_service": "elasticsearch", "com_docker_compose_slug": "df866b3a7b3d50c0802350cbe58ee5b34fa32b7f6ba7fe9e48cde2c12dd0201d", "com_docker_compose_version": "1.23.1", "license": "Elastic License", "org_label-schema_build-date": "20181006", "org_label-schema_license": "GPLv2", "org_label-schema_name": "elasticsearch", "org_label-schema_schema-version": "1.0", "org_label-schema_url": "https://elastic.ac.cn/products/elasticsearch", "org_label-schema_vcs-url": "https://github.com/elastic/elasticsearch-docker", "org_label-schema_vendor": "Elastic", "org_label-schema_version": "6.5.1" }, "size": { "root_fs": 0, "rw": 0 }, "status": "Up 7 minutes (healthy)" } }, "event": { "dataset": "docker.container", "duration": 115000, "module": "docker" }, "metricset": { "name": "container" }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
CPU
编辑Docker cpu
数据流收集运行时 CPU 指标。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
date |
||
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
||
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
||
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
||
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
||
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
||
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
||
container.cpu.usage |
由 CPU 内核数量归一化的总 CPU 使用率。 |
scaled_float |
percent |
gauge |
container.id |
唯一的容器 ID。 |
keyword |
||
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
||
container.name |
容器名称。 |
keyword |
||
container.runtime |
管理此容器的运行时。 |
keyword |
||
data_stream.dataset |
数据流数据集。 |
constant_keyword |
||
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
||
data_stream.type |
数据流类型。 |
constant_keyword |
||
docker.container.labels.* |
容器标签 |
object |
||
docker.cpu.core.*.norm.pct |
此内核中 CPU 时间的百分比,由 CPU 内核数量归一化。 |
scaled_float |
percent |
gauge |
docker.cpu.core.*.pct |
此内核中 CPU 时间的百分比。 |
scaled_float |
percent |
gauge |
docker.cpu.core.*.ticks |
此内核中的 CPU 滴答数。 |
long |
counter |
|
docker.cpu.kernel.norm.pct |
内核空间中时间的百分比,由 CPU 内核数量归一化。 |
scaled_float |
percent |
gauge |
docker.cpu.kernel.pct |
内核空间中时间的百分比。 |
scaled_float |
percent |
gauge |
docker.cpu.kernel.ticks |
内核空间中的 CPU 滴答数。 |
long |
counter |
|
docker.cpu.system.norm.pct |
系统中总 CPU 时间的百分比,由 CPU 内核数量归一化。 |
scaled_float |
percent |
gauge |
docker.cpu.system.pct |
系统中总 CPU 时间的百分比。 |
scaled_float |
percent |
gauge |
docker.cpu.system.ticks |
CPU 系统滴答数。 |
long |
counter |
|
docker.cpu.total.norm.pct |
由 CPU 内核数量归一化的总 CPU 使用率。 |
scaled_float |
percent |
gauge |
docker.cpu.total.pct |
总 CPU 使用率。 |
scaled_float |
percent |
gauge |
docker.cpu.user.norm.pct |
用户空间中时间的百分比,由 CPU 内核数量归一化。 |
scaled_float |
percent |
gauge |
docker.cpu.user.pct |
用户空间中时间的百分比。 |
scaled_float |
percent |
gauge |
docker.cpu.user.ticks |
用户空间中的 CPU 滴答数。 |
long |
counter |
|
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
||
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
||
event.module |
事件模块 |
constant_keyword |
||
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
||
host.architecture |
操作系统架构。 |
keyword |
||
host.ip |
主机 IP 地址。 |
ip |
||
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
||
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
||
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
||
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
||
host.os.full.text |
|
match_only_text |
||
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
||
host.os.name |
操作系统名称,不带版本。 |
keyword |
||
host.os.name.text |
|
match_only_text |
||
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
||
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
||
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
||
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
||
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
以下是 cpu
的示例事件
{ "@timestamp": "2017-10-12T08:05:34.853Z", "container": { "id": "7f3ca1f1b2b310362e90f700d2b2e52ebd46ef6ddf10c0704f22b25686c466ab", "image": { "name": "metricbeat_beat" }, "name": "metricbeat_beat_run_8ba23fa682a6", "runtime": "docker" }, "docker": { "container": { "labels": { "com_docker_compose_oneoff": "True", "com_docker_compose_project": "metricbeat", "com_docker_compose_service": "beat", "com_docker_compose_slug": "8ba23fa682a68e2dc082536da22f59eb2d200b3534909fe934807dd5d847424", "com_docker_compose_version": "1.24.1" } }, "cpu": { "core": { "0": { "norm": { "pct": 0.00105707400990099 }, "pct": 0.00845659207920792, "ticks": 7410396430 }, "1": { "norm": { "pct": 0.004389216831683168 }, "pct": 0.035113734653465345, "ticks": 7079258391 }, "2": { "norm": { "pct": 0.003178435024752475 }, "pct": 0.0254274801980198, "ticks": 7140978706 }, "3": { "norm": { "pct": 0.0033261257425742574 }, "pct": 0.02660900594059406, "ticks": 7705738146 }, "4": { "norm": { "pct": 0.0016827236386138613 }, "pct": 0.01346178910891089, "ticks": 8131054429 }, "5": { "norm": { "pct": 0.000781541707920792 }, "pct": 0.006252333663366336, "ticks": 7213899699 }, "6": { "norm": { "pct": 0.0005364748762376238 }, "pct": 0.00429179900990099, "ticks": 7961016581 }, "7": { "norm": { "pct": 0.0005079449257425743 }, "pct": 0.004063559405940594, "ticks": 7946529895 } }, "kernel": { "norm": { "pct": 0.007425742574257425 }, "pct": 0.0594059405940594, "ticks": 26810000000 }, "system": { "norm": { "pct": 1 }, "pct": 8, "ticks": 65836400000000 }, "total": { "norm": { "pct": 0.015459536757425743 }, "pct": 0.12367629405940594 }, "user": { "norm": { "pct": 0.006188118811881188 }, "pct": 0.04950495049504951, "ticks": 35720000000 } } }, "event": { "dataset": "docker.cpu", "duration": 115000, "module": "docker" }, "metricset": { "name": "cpu", "period": 10000 }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
Diskio
编辑Docker diskio
数据流收集磁盘 I/O 指标。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
date |
||
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
||
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
||
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
||
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
||
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
||
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
||
container.disk.read.bytes |
容器生命周期内读取的字节数 |
long |
counter |
|
container.disk.write.bytes |
容器生命周期内写入的字节数 |
long |
byte |
counter |
container.id |
唯一的容器 ID。 |
keyword |
||
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
||
container.name |
容器名称。 |
keyword |
||
container.runtime |
管理此容器的运行时。 |
keyword |
||
data_stream.dataset |
数据流数据集。 |
constant_keyword |
||
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
||
data_stream.type |
数据流类型。 |
constant_keyword |
||
docker.container.labels.* |
容器标签 |
object |
||
docker.diskio.read.bytes |
容器生命周期内读取的字节数 |
long |
counter |
|
docker.diskio.read.ops |
容器生命周期内的读取次数 |
long |
counter |
|
docker.diskio.read.queued |
排队请求的总数 |
long |
gauge |
|
docker.diskio.read.rate |
当前每秒读取次数 |
long |
gauge |
|
docker.diskio.read.service_time |
服务 IO 请求的总时间,以纳秒为单位 |
long |
counter |
|
docker.diskio.read.wait_time |
请求在队列中等待服务所花费的总时间,以纳秒为单位 |
long |
counter |
|
docker.diskio.summary.bytes |
容器生命周期内读取和写入的字节数 |
long |
byte |
counter |
docker.diskio.summary.ops |
容器生命周期内的 I/O 操作次数 |
long |
counter |
|
docker.diskio.summary.queued |
排队请求的总数 |
long |
counter |
|
docker.diskio.summary.rate |
当前每秒操作次数 |
long |
gauge |
|
docker.diskio.summary.service_time |
服务 IO 请求的总时间,以纳秒为单位 |
long |
counter |
|
docker.diskio.summary.wait_time |
请求在队列中等待服务所花费的总时间,以纳秒为单位 |
long |
counter |
|
docker.diskio.write.bytes |
容器生命周期内写入的字节数 |
long |
byte |
counter |
docker.diskio.write.ops |
容器生命周期内的写入次数 |
long |
counter |
|
docker.diskio.write.queued |
排队请求的总数 |
long |
counter |
|
docker.diskio.write.rate |
当前每秒写入次数 |
long |
gauge |
|
docker.diskio.write.service_time |
服务 IO 请求的总时间,以纳秒为单位 |
long |
counter |
|
docker.diskio.write.wait_time |
请求在队列中等待服务所花费的总时间,以纳秒为单位 |
long |
counter |
|
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
||
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
||
event.module |
事件模块 |
constant_keyword |
||
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
||
host.architecture |
操作系统架构。 |
keyword |
||
host.ip |
主机 IP 地址。 |
ip |
||
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
||
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
||
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
||
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
||
host.os.full.text |
|
match_only_text |
||
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
||
host.os.name |
操作系统名称,不带版本。 |
keyword |
||
host.os.name.text |
|
match_only_text |
||
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
||
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
||
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
||
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
||
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
以下是 diskio
的示例事件
{ "@timestamp": "2017-10-12T08:05:34.853Z", "container": { "id": "8abaa1f3514d3554503034a1df6ee09457f328757bbc9555245244ee853c0b44", "image": { "name": "zookeeper" }, "name": "some-zookeeper", "runtime": "docker" }, "docker": { "diskio": { "read": { "bytes": 42409984, "ops": 1823, "queued": 0, "rate": 0, "service_time": 0, "wait_time": 0 }, "summary": { "bytes": 42414080, "ops": 1824, "queued": 0, "rate": 0, "service_time": 0, "wait_time": 0 }, "write": { "bytes": 4096, "ops": 1, "queued": 0, "rate": 0, "service_time": 0, "wait_time": 0 } } }, "event": { "dataset": "docker.diskio", "duration": 115000, "module": "docker" }, "metricset": { "name": "diskio", "period": 10000 }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
事件
编辑Docker event
数据流收集 Docker 事件
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
date |
container.id |
唯一的容器 ID。 |
keyword |
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
container.name |
容器名称。 |
keyword |
container.runtime |
管理此容器的运行时。 |
keyword |
data_stream.dataset |
数据流数据集。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
docker.container.labels.* |
容器标签 |
object |
docker.event.action |
事件的类型 |
keyword |
docker.event.actor.attributes |
对象的各种键/值属性,具体取决于其类型 |
flattened |
docker.event.actor.id |
发出事件的对象的 ID |
keyword |
docker.event.from |
事件源 |
keyword |
docker.event.id |
可用时的事件 ID |
keyword |
docker.event.status |
事件状态 |
keyword |
docker.event.type |
发出事件的对象的类型 |
keyword |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
event.module |
事件模块 |
constant_keyword |
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
host.architecture |
操作系统架构。 |
keyword |
host.ip |
主机 IP 地址。 |
ip |
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
host.os.full.text |
|
match_only_text |
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
host.os.name |
操作系统名称,不带版本。 |
keyword |
host.os.name.text |
|
match_only_text |
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
以下是 event
的示例事件
{ "@timestamp": "2017-10-12T08:05:34.853Z", "agent": { "hostname": "host.example.com", "name": "host.example.com" }, "docker": { "event": { "action": "pull", "actor": { "attributes": { "name": "busybox" }, "id": "busybox:latest" }, "from": "", "id": "busybox:latest", "status": "pull", "type": "image" } }, "event": { "dataset": "docker.event", "module": "docker" }, "service": { "type": "docker" } }
健康检查
编辑Docker healthcheck
数据流收集有关正在运行的 Docker 容器的健康检查状态指标。
健康检查数据仅在 docker HEALTHCHECK
指令已用于构建 docker 镜像的 docker 容器中可用。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
|
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
|
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
|
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
|
container.id |
唯一的容器 ID。 |
keyword |
|
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
|
container.name |
容器名称。 |
keyword |
|
container.runtime |
管理此容器的运行时。 |
keyword |
|
data_stream.dataset |
数据流数据集。 |
constant_keyword |
|
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
|
data_stream.type |
数据流类型。 |
constant_keyword |
|
docker.container.labels.* |
容器标签 |
object |
|
docker.healthcheck.event.end_date |
健康检查结束日期 |
date |
|
docker.healthcheck.event.exit_code |
健康检查状态代码 |
integer |
|
docker.healthcheck.event.output |
健康检查输出 |
keyword |
|
docker.healthcheck.event.start_date |
健康检查开始日期 |
date |
|
docker.healthcheck.failingstreak |
并发失败检查 |
integer |
counter |
docker.healthcheck.status |
健康检查状态代码 |
keyword |
|
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
|
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
|
event.module |
事件模块 |
constant_keyword |
|
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
|
host.architecture |
操作系统架构。 |
keyword |
|
host.ip |
主机 IP 地址。 |
ip |
|
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
|
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
|
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
|
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
|
host.os.full.text |
|
match_only_text |
|
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
|
host.os.name |
操作系统名称,不带版本。 |
keyword |
|
host.os.name.text |
|
match_only_text |
|
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
|
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
|
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
|
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
|
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
一个 healthcheck
的示例事件如下所示
{ "@timestamp": "2017-10-12T08:05:34.853Z", "agent": { "hostname": "host.example.com", "name": "host.example.com" }, "container": { "id": "cc78e58acfda4501105dc4de8e3ae218f2da616213e6e3af168c40103829302a", "image": { "name": "metricbeat_elasticsearch" }, "name": "metricbeat_elasticsearch_1_df866b3a7b3d", "runtime": "docker" }, "docker": { "container": { "labels": { "com_docker_compose_config-hash": "e3e0a2c6e5d1afb741bc8b1ecb09cda0395886b7a3e5084a9fd110be46d70f78", "com_docker_compose_container-number": "1", "com_docker_compose_oneoff": "False", "com_docker_compose_project": "metricbeat", "com_docker_compose_service": "elasticsearch", "com_docker_compose_slug": "df866b3a7b3d50c0802350cbe58ee5b34fa32b7f6ba7fe9e48cde2c12dd0201d", "com_docker_compose_version": "1.23.1", "license": "Elastic License", "org_label-schema_build-date": "20181006", "org_label-schema_license": "GPLv2", "org_label-schema_name": "elasticsearch", "org_label-schema_schema-version": "1.0", "org_label-schema_url": "https://elastic.ac.cn/products/elasticsearch", "org_label-schema_vcs-url": "https://github.com/elastic/elasticsearch-docker", "org_label-schema_vendor": "Elastic", "org_label-schema_version": "6.5.1" } }, "healthcheck": { "event": { "end_date": "2019-02-25T10:59:07.472Z", "exit_code": 0, "output": " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 338 100 338 0 0 13188 0 --:--:-- --:--:-- --:--:-- 13520\n{\n \"license\" : {\n \"status\" : \"active\",\n \"uid\" : \"ea5a516e-d9ee-4131-8eec-b39741e80869\",\n \"type\" : \"basic\",\n \"issue_date\" : \"2019-02-25T10:18:24.885Z\",\n \"issue_date_in_millis\" : 1551089904885,\n \"max_nodes\" : 1000,\n \"issued_to\" : \"docker-cluster\",\n \"issuer\" : \"elasticsearch\",\n \"start_date_in_millis\" : -1\n }\n}\n", "start_date": "2019-02-25T10:59:07.342Z" }, "failingstreak": 0, "status": "healthy" } }, "event": { "dataset": "docker.healthcheck", "duration": 115000, "module": "docker" }, "metricset": { "name": "healthcheck" }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
镜像
编辑Docker image
数据流收集关于 Docker 镜像的指标
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
|
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
|
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
|
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
|
container.id |
唯一的容器 ID。 |
keyword |
|
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
|
container.name |
容器名称。 |
keyword |
|
container.runtime |
管理此容器的运行时。 |
keyword |
|
data_stream.dataset |
数据流数据集。 |
constant_keyword |
|
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
|
data_stream.type |
数据流类型。 |
constant_keyword |
|
docker.image.created |
镜像创建的日期和时间。 |
date |
|
docker.image.id.current |
镜像创建时给定的唯一标识符。 |
keyword |
|
docker.image.id.parent |
当前镜像直接继承的父镜像的标识符(如果存在)。 |
keyword |
|
docker.image.labels.* |
镜像标签。 |
object |
|
docker.image.size.regular |
与当前镜像关联的所有缓存镜像的总大小。 |
long |
counter |
docker.image.size.virtual |
镜像的大小。 |
long |
gauge |
docker.image.tags |
镜像标签。 |
keyword |
|
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
|
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
|
event.module |
事件模块 |
constant_keyword |
|
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
|
host.architecture |
操作系统架构。 |
keyword |
|
host.ip |
主机 IP 地址。 |
ip |
|
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
|
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
|
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
|
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
|
host.os.full.text |
|
match_only_text |
|
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
|
host.os.name |
操作系统名称,不带版本。 |
keyword |
|
host.os.name.text |
|
match_only_text |
|
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
|
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
|
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
|
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
|
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
一个 image
的示例事件如下所示
{ "@timestamp": "2017-10-12T08:05:34.853Z", "docker": { "image": { "created": "2019-03-25T09:57:14.000Z", "id": { "current": "sha256:fa96dbd9baead0b3a4550c861cc871f40c0c7482889fb5f09c705e7d0622358f", "parent": "" }, "labels": { "license": "Elastic License", "org_label-schema_build-date": "20190305", "org_label-schema_license": "GPLv2", "org_label-schema_name": "logstash", "org_label-schema_schema-version": "1.0", "org_label-schema_url": "https://elastic.ac.cn/products/logstash", "org_label-schema_vcs-url": "https://github.com/elastic/logstash-docker", "org_label-schema_vendor": "Elastic", "org_label-schema_version": "8.0.0-SNAPSHOT" }, "size": { "regular": 770558778, "virtual": 770558778 }, "tags": [ "docker.elastic.co/logstash/logstash:8.0.0-SNAPSHOT" ] } }, "event": { "dataset": "docker.image", "duration": 115000, "module": "docker" }, "metricset": { "name": "image" }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
信息
编辑Docker info
数据流基于 https://docs.docker.net.cn/engine/reference/api/docker_remote_api_v1.24//display-system-wide-information[Docker[https://docs.docker.net.cn/engine/reference/api/docker_remote_api_v1.24//display-system-wide-information[Docker] 远程 API]收集系统范围的信息。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
|
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
|
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
|
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
|
container.id |
唯一的容器 ID。 |
keyword |
|
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
|
container.name |
容器名称。 |
keyword |
|
container.runtime |
管理此容器的运行时。 |
keyword |
|
data_stream.dataset |
数据流数据集。 |
constant_keyword |
|
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
|
data_stream.type |
数据流类型。 |
constant_keyword |
|
docker.info.containers.paused |
暂停容器的总数。 |
long |
counter |
docker.info.containers.running |
运行容器的总数。 |
long |
counter |
docker.info.containers.stopped |
停止容器的总数。 |
long |
counter |
docker.info.containers.total |
现有容器的总数。 |
long |
counter |
docker.info.id |
唯一的 Docker 主机标识符。 |
keyword |
|
docker.info.images |
现有镜像的总数。 |
long |
counter |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
|
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
|
event.module |
事件模块 |
constant_keyword |
|
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
|
host.architecture |
操作系统架构。 |
keyword |
|
host.ip |
主机 IP 地址。 |
ip |
|
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
|
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
|
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
|
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
|
host.os.full.text |
|
match_only_text |
|
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
|
host.os.name |
操作系统名称,不带版本。 |
keyword |
|
host.os.name.text |
|
match_only_text |
|
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
|
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
|
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
|
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
|
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
一个 info
的示例事件如下所示
{ "@timestamp": "2017-10-12T08:05:34.853Z", "docker": { "info": { "containers": { "paused": 0, "running": 2, "stopped": 12, "total": 14 }, "id": "VF5E:SKD6:YFIG:VDGO:JU3M:ZT2N:4E6B:7IOL:5QOS:M3HT:EM7E:VL22", "images": 425 } }, "event": { "dataset": "docker.info", "duration": 115000, "module": "docker" }, "metricset": { "name": "info", "period": 10000 }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
内存
编辑Docker memory
数据流从 Docker 收集内存指标。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
date |
||
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
||
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
||
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
||
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
||
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
||
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
||
container.id |
唯一的容器 ID。 |
keyword |
||
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
||
container.memory.usage |
内存使用百分比。 |
scaled_float |
percent |
gauge |
container.name |
容器名称。 |
keyword |
||
container.runtime |
管理此容器的运行时。 |
keyword |
||
data_stream.dataset |
数据流数据集。 |
constant_keyword |
||
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
||
data_stream.type |
数据流类型。 |
constant_keyword |
||
docker.container.labels.* |
容器标签 |
object |
||
docker.memory.commit.peak |
Windows 上峰值提交字节数 |
long |
byte |
gauge |
docker.memory.commit.total |
总字节数 |
long |
byte |
counter |
docker.memory.fail.count |
失败计数器。 |
scaled_float |
counter |
|
docker.memory.limit |
内存限制。 |
long |
byte |
gauge |
docker.memory.private_working_set.total |
Windows 上的私有工作集 |
long |
byte |
gauge |
docker.memory.rss.pct |
内存驻留集大小百分比。 |
scaled_float |
percent |
gauge |
docker.memory.rss.total |
内存驻留集总大小。 |
long |
byte |
gauge |
docker.memory.stats.* |
来自 cgroups memory.stat 接口的原始内存统计信息 |
object |
||
docker.memory.usage.max |
最大内存使用量。 |
long |
byte |
gauge |
docker.memory.usage.pct |
内存使用百分比。 |
scaled_float |
percent |
gauge |
docker.memory.usage.total |
总内存使用量。 |
long |
byte |
gauge |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
||
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
||
event.module |
事件模块 |
constant_keyword |
||
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
||
host.architecture |
操作系统架构。 |
keyword |
||
host.ip |
主机 IP 地址。 |
ip |
||
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
||
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
||
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
||
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
||
host.os.full.text |
|
match_only_text |
||
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
||
host.os.name |
操作系统名称,不带版本。 |
keyword |
||
host.os.name.text |
|
match_only_text |
||
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
||
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
||
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
||
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
||
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
一个 memory
的示例事件如下所示
{ "@timestamp": "2017-10-12T08:05:34.853Z", "container": { "id": "aa41902101351f415e6e983b0673c0ba715dd4bc316bd5fc0ebd6fcf94287f86", "image": { "name": "redis:latest" }, "name": "amazing_cohen", "runtime": "docker" }, "docker": { "memory": { "fail": { "count": 0 }, "limit": 2095878144, "rss": { "pct": 0.0004025882909345325, "total": 843776 }, "stats": { "active_anon": 421888, "active_file": 36864, "cache": 86016, "dirty": 0, "hierarchical_memory_limit": 9223372036854771712, "hierarchical_memsw_limit": 9223372036854771712, "inactive_anon": 421888, "inactive_file": 49152, "mapped_file": 53248, "pgfault": 1587, "pgmajfault": 1, "pgpgin": 2426, "pgpgout": 2199, "rss": 843776, "rss_huge": 0, "total_active_anon": 421888, "total_active_file": 36864, "total_cache": 86016, "total_dirty": 0, "total_inactive_anon": 421888, "total_inactive_file": 49152, "total_mapped_file": 53248, "total_pgfault": 1587, "total_pgmajfault": 1, "total_pgpgin": 2426, "total_pgpgout": 2199, "total_rss": 843776, "total_rss_huge": 0, "total_unevictable": 0, "total_writeback": 0, "unevictable": 0, "writeback": 0 }, "usage": { "max": 7860224, "pct": 0.000672283359618831, "total": 1409024 } } }, "event": { "dataset": "docker.memory", "duration": 115000, "module": "docker" }, "metricset": { "name": "memory" }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
网络
编辑Docker network
数据流收集网络指标。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
用于在多租户环境中标识不同实体的云账户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
|
cloud.instance.id |
主机机器的实例 ID。 |
keyword |
|
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
|
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
|
container.id |
唯一的容器 ID。 |
keyword |
|
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
|
container.name |
容器名称。 |
keyword |
|
container.network.egress.bytes |
传出字节总数。 |
long |
counter |
container.network.ingress.bytes |
传入字节总数。 |
long |
counter |
container.runtime |
管理此容器的运行时。 |
keyword |
|
data_stream.dataset |
数据流数据集。 |
constant_keyword |
|
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
|
data_stream.type |
数据流类型。 |
constant_keyword |
|
docker.container.labels.* |
容器标签 |
object |
|
docker.network.inbound.bytes |
传入字节总数。 |
long |
counter |
docker.network.inbound.dropped |
丢弃的传入数据包总数。 |
long |
counter |
docker.network.inbound.errors |
传入数据包的总错误数。 |
long |
counter |
docker.network.inbound.packets |
传入数据包的总数。 |
long |
counter |
docker.network.interface |
网络接口名称。 |
keyword |
|
docker.network.outbound.bytes |
传出字节总数。 |
long |
counter |
docker.network.outbound.dropped |
丢弃的传出数据包总数。 |
long |
counter |
docker.network.outbound.errors |
传出数据包的总错误数。 |
long |
counter |
docker.network.outbound.packets |
传出数据包的总数。 |
long |
counter |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
|
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
|
event.module |
事件模块 |
constant_keyword |
|
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
|
host.architecture |
操作系统架构。 |
keyword |
|
host.ip |
主机 IP 地址。 |
ip |
|
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
|
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
|
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
|
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
|
host.os.full.text |
|
match_only_text |
|
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
|
host.os.name |
操作系统名称,不带版本。 |
keyword |
|
host.os.name.text |
|
match_only_text |
|
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
|
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
|
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
|
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
|
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
示例
一个 network
的示例事件如下所示
{ "@timestamp": "2017-10-12T08:05:34.853Z", "agent": { "hostname": "host.example.com", "name": "host.example.com" }, "container": { "id": "cc78e58acfda4501105dc4de8e3ae218f2da616213e6e3af168c40103829302a", "image": { "name": "metricbeat_elasticsearch" }, "name": "metricbeat_elasticsearch_1_df866b3a7b3d", "runtime": "docker" }, "docker": { "container": { "labels": { "com_docker_compose_config-hash": "e3e0a2c6e5d1afb741bc8b1ecb09cda0395886b7a3e5084a9fd110be46d70f78", "com_docker_compose_container-number": "1", "com_docker_compose_oneoff": "False", "com_docker_compose_project": "metricbeat", "com_docker_compose_service": "elasticsearch", "com_docker_compose_slug": "df866b3a7b3d50c0802350cbe58ee5b34fa32b7f6ba7fe9e48cde2c12dd0201d", "com_docker_compose_version": "1.23.1", "license": "Elastic License", "org_label-schema_build-date": "20181006", "org_label-schema_license": "GPLv2", "org_label-schema_name": "elasticsearch", "org_label-schema_schema-version": "1.0", "org_label-schema_url": "https://elastic.ac.cn/products/elasticsearch", "org_label-schema_vcs-url": "https://github.com/elastic/elasticsearch-docker", "org_label-schema_vendor": "Elastic", "org_label-schema_version": "6.5.1" } }, "network": { "inbound": { "bytes": 23047, "dropped": 0, "errors": 0, "packets": 241 }, "interface": "eth0", "outbound": { "bytes": 0, "dropped": 0, "errors": 0, "packets": 0 } } }, "event": { "dataset": "docker.network", "duration": 115000, "module": "docker" }, "metricset": { "name": "network" }, "service": { "address": "/var/run/docker.sock", "type": "docker" } }
container_logs
编辑Docker container_logs
数据流收集容器日志。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
date |
container.id |
唯一的容器 ID。 |
keyword |
container.image.name |
构建容器所基于的镜像的名称。 |
keyword |
container.labels.* |
容器标签 |
object |
container.name |
容器名称。 |
keyword |
container.runtime |
管理此容器的运行时。 |
keyword |
data_stream.dataset |
数据流数据集。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
event.dataset |
数据集的名称。如果事件源发布多种类型的日志或事件(例如,访问日志、错误日志),则使用数据集来指定事件的来源。建议但不是必须以模块名称开头,后跟点号,然后是数据集名称。 |
keyword |
event.module |
事件模块 |
constant_keyword |
host |
主机被定义为通用计算实例。ECS host.* 字段应填充有关事件发生或进行测量的宿主机的详细信息。主机类型包括硬件、虚拟机、Docker 容器和 Kubernetes 节点。 |
group |
host.architecture |
操作系统架构。 |
keyword |
host.ip |
主机 IP 地址。 |
ip |
host.mac |
主机 MAC 地址。建议使用 RFC 7042 中的表示格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,这些数字给出八位字节的无符号整数值。连续的八位字节用连字符分隔。 |
keyword |
host.name |
主机的名称。它可以包含 Unix 系统上 |
keyword |
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
host.os.full |
操作系统名称,包括版本或代码名称。 |
keyword |
host.os.full.text |
|
match_only_text |
host.os.kernel |
操作系统内核版本,以原始字符串形式表示。 |
keyword |
host.os.name |
操作系统名称,不带版本。 |
keyword |
host.os.name.text |
|
match_only_text |
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
keyword |
host.os.version |
操作系统版本,以原始字符串形式表示。 |
keyword |
host.type |
主机类型。对于云提供商,这可以是机器类型,例如 |
keyword |
input.type |
Filebeat 输入的类型。 |
keyword |
log.file.device_id |
包含文件所在文件系统的设备的 ID。 |
keyword |
log.file.fingerprint |
启用指纹识别时文件的 sha256 指纹标识。 |
keyword |
log.file.idxhi |
与文件关联的唯一标识符的高位部分。(仅限 Windows) |
keyword |
log.file.idxlo |
与文件关联的唯一标识符的低位部分。(仅限 Windows) |
keyword |
log.file.inode |
日志文件的 inode 号。 |
keyword |
log.file.path |
日志文件的路径。 |
keyword |
log.file.vol |
包含文件的卷的序列号。(仅限 Windows) |
keyword |
log.offset |
日志文件中条目的偏移量。 |
long |
message |
对于日志事件,message 字段包含日志消息,针对在日志查看器中查看进行了优化。 对于没有原始 message 字段的结构化日志,可以将其他字段连接起来,形成事件的人工可读摘要。 如果存在多条消息,可以将它们合并为一条消息。 |
match_only_text |
service.address |
从中收集有关此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
service.type |
从中收集服务数据的服务类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 |
keyword |
stream |
容器日志流 |
keyword |
示例
以下是 container
的示例事件
{ "container": { "image": { "name": "docker.elastic.co/elastic-agent/elastic-agent-complete:8.5.0" }, "name": "elastic-package-stack_elastic-agent_1", "id": "cf67fae3321ec426e720311c345c758d5ceb5260e6ea171ea9ca509175458b04", "labels": { "io_k8s_display-name": "Elastic-Agent image", "org_opencontainers_image_title": "Elastic-Agent", "com_docker_compose_oneoff": "False", "release": "1", "com_docker_compose_project": "elastic-package-stack", "org_opencontainers_image_created": "2022-10-24T20:20:43Z", "description": "Agent manages other beats based on configuration provided.", "maintainer": "[email protected]", "org_opencontainers_image_vendor": "Elastic", "org_label-schema_vcs-url": "github.com/elastic/elastic-agent", "org_label-schema_vcs-ref": "9da6ba5fce5d6b4d2c473c1f5ff6056794e9a644", "vendor": "Elastic", "org_label-schema_vendor": "Elastic", "com_docker_compose_service": "elastic-agent", "org_opencontainers_image_licenses": "Elastic License", "io_k8s_description": "Agent manages other beats based on configuration provided.", "org_label-schema_license": "Elastic License", "org_label-schema_build-date": "2022-10-24T20:20:43Z", "summary": "elastic-agent", "com_docker_compose_config-hash": "877e65101e9a2d525e764de557ab89ee529bee1f43d36e1f458fd3f9def52cf8", "org_label-schema_version": "8.5.0", "com_docker_compose_project_config_files": "/home/chrismark/.elastic-package/profiles/default/stack/snapshot.yml", "version": "8.5.0", "url": "https://elastic.ac.cn/beats/elastic-agent", "org_label-schema_name": "elastic-agent", "license": "Elastic License", "org_label-schema_schema-version": "1.0", "name": "elastic-agent", "com_docker_compose_container-number": "1", "com_docker_compose_version": "1.29.2", "com_docker_compose_project_working_dir": "/home/chrismark/.elastic-package/profiles/default/stack", "org_label-schema_url": "https://elastic.ac.cn/beats/elastic-agent" } }, "agent": { "name": "docker-fleet-agent", "id": "069c0cc8-d191-42b2-92c8-fe4dd065685b", "type": "filebeat", "ephemeral_id": "93ca0744-1bef-4a2a-8534-6cbd9e33287a", "version": "8.5.0" }, "log": { "file": { "path": "/var/lib/docker/containers/cf67fae3321ec426e720311c345c758d5ceb5260e6ea171ea9ca509175458b04/cf67fae3321ec426e720311c345c758d5ceb5260e6ea171ea9ca509175458b04-json.log" }, "offset": 17027 }, "elastic_agent": { "id": "069c0cc8-d191-42b2-92c8-fe4dd065685b", "version": "8.5.0", "snapshot": false }, "message": "{\"log.level\":\"info\",\"@timestamp\":\"2022-11-24T10:16:39.493Z\",\"log.origin\":{\"file.name\":\"stateresolver/stateresolver.go\",\"file.line\":66},\"message\":\"Updating internal state\",\"ecs.version\":\"1.6.0\"}\n", "input": { "type": "filestream" }, "@timestamp": "2022-11-24T10:16:39.493Z", "ecs": { "version": "8.0.0" }, "stream": "stderr", "data_stream": { "namespace": "default", "type": "logs", "dataset": "docker.container_logs" }, "host": { "hostname": "docker-fleet-agent", "os": { "kernel": "5.14.0-1054-oem", "codename": "focal", "name": "Ubuntu", "type": "linux", "family": "debian", "version": "20.04.5 LTS (Focal Fossa)", "platform": "ubuntu" }, "containerized": true, "ip": [ "172.26.0.7" ], "name": "docker-fleet-agent", "id": "66392b0697b84641af8006d87aeb89f1", "mac": [ "02-42-AC-1A-00-07" ], "architecture": "x86_64" }, "event": { "agent_id_status": "verified", "ingested": "2022-11-24T10:16:42Z", "dataset": "docker.container_logs" } }
变更日志
编辑变更日志
版本 | 详情 | Kibana 版本 |
---|---|---|
2.12.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.11.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.10.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.9.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.8.3 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.8.2 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
2.8.1 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.8.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.7.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.6.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.5.1 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.5.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.4.3 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.4.2 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.4.1 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.4.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.3.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
2.2.0 |
Bug 修复 (查看拉取请求) |
8.2.0 或更高版本 |
2.1.1 |
Bug 修复 (查看拉取请求) |
— |
2.1.0 |
增强 (查看拉取请求) |
— |
2.0.1 |
增强 (查看拉取请求) |
— |
2.0.0 |
重大更改 (查看拉取请求) |
— |
1.2.0 |
增强 (查看拉取请求) |
7.14.0 或更高版本 |
1.1.1 |
增强 (查看拉取请求) |
— |
1.1.0 |
增强 (查看拉取请求) |
— |
1.0.0 |
增强 (查看拉取请求) |
7.14.0 或更高版本 |
0.5.1 |
增强 (查看拉取请求) |
— |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) |
— |
0.2.1 |
错误修复 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) |
— |
0.1.1 |
增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |