Docker事件信息记录了容器、镜像、插件、网络、存储等所有交互事件。本文介绍如何通过日志服务控制台创建Logtail采集配置来采集Docker事件。
限制说明
- Logtail可运行在容器模式或宿主机上,需具备访问Docker的权限(可以访问到
/var/run/docker.sock
)。Logtail采集Kubernetes日志请参见采集Kubernetes日志,采集标准容器日志请参见采集标准Docker容器日志。
- Logtail在重启或停止期间,无法采集容器事件。
应用场景
- 监控所有容器的启停事件,当核心容器停止后立即告警。
- 采集所有容器事件,用于审计、安全分析、问题排查。
- 监控所有镜像的拉取事件,如果拉取非合法路径的镜像时立即告警。
操作步骤
后续步骤
Logtail采集Docker事件到日志服务后,您可以在日志服务控制台查看日志,日志样例如下所示。
- 样例1:镜像拉取事件
__source__: 10.10.10.10 __tag__:__hostname__: logtail-ds-77brr __topic__: _action_: pull _id_: registry.cn-hangzhou.aliyuncs.com/ringtail/eventer:v1.6.1.3 _time_nano_: 1547910184047414271 _type_: image name: registry.cn-hangzhou.aliyuncs.com/ringtail/eventer
- 样例2:Kubernetes中容器的销毁事件
__source__: 10.10.10.10 __tag__:__hostname__: logtail-ds-xnvz2 __topic__: _action_: destroy _id_: af61340b0ac19e6f5f32be672d81a33fc4d3d247bf7dbd4d3b2c030b8bec4a03 _time_nano_: 1547968139380572119 _type_: container annotation.kubernetes.io/config.seen: 2019-01-20T15:03:03.114145184+08:00 annotation.kubernetes.io/config.source: api annotation.scheduler.alpha.kubernetes.io/critical-pod: controller-revision-hash: 2630731929 image: registry-vpc.cn-hangzhou.aliyuncs.com/acs/pause-amd64:3.0 io.kubernetes.container.name: POD io.kubernetes.docker.type: podsandbox io.kubernetes.pod.name: logtail-ds-44jbg io.kubernetes.pod.namespace: kube-system io.kubernetes.pod.uid: 6ddcf598-1c81-11e9-9ddf-00163e0c7cbe k8s-app: logtail-ds kubernetes.io/cluster-service: true name: k8s_POD_logtail-ds-44jbg_kube-system_6ddcf598-1c81-11e9-9ddf-00163e0c7cbe_0 pod-template-generation: 9 version: v1.0
Docker事件的日志字段如下,详细信息请参见Docker官方文档。
字段 | 说明 |
---|---|
_type_ | 资源类型,例如container、image。 |
_action_ | 操作类型,例如destroy、status。 |
_id_ | 事件唯一标识。 |
_time_nano_ | 事件的时间戳。 |