要在CentOS上使用Filebeat监控Docker容器,您需要遵循以下步骤:
安装Docker和Docker Compose(如果尚未安装): Docker:https://docs.docker.com/engine/install/centos/ Docker Compose:https://docs.docker.com/compose/install/centos/
安装Filebeat: 您可以从Elastic官方网站下载Filebeat的RPM包,或者使用以下命令安装:
sudo yum install filebeat
配置Filebeat以监控Docker容器:
编辑Filebeat配置文件/etc/filebeat/filebeat.yml,添加以下内容:
filebeat.inputs:
- type: docker
containers.ids:
- "*"
processors:
- add_docker_metadata: ~
- decode_json_fields:
fields: ["message"]
target: ""
overwrite_keys: true
field_prefix: docker.
fields:
docker.container_id: "{{ .ContainerID }}"
docker.image: "{{ .Image }}"
docker.command: "{{ .Config.Cmd }}"
docker.name: "{{ .Name }}"
docker.startup_time: "{{ .State.StartedAt }}"
docker.running: "{{ .State.Running }}"
docker.paused: "{{ .State.Paused }}"
docker.exit_code: "{{ .State.ExitCode }}"
docker.error: "{{ .Error }}"
docker.log_file: "{{ .LogPath }}"
docker.stream: "{{ .Stream }}"
docker.tags: "{{ .Config.Tags }}"
这将配置Filebeat以监控所有Docker容器,并将容器的元数据添加到日志事件中。
启动并启用Filebeat服务:
sudo systemctl start filebeat
sudo systemctl enable filebeat
验证Filebeat是否正在监控Docker容器: 使用以下命令查看Filebeat的输出:
sudo filebeat modules list
您应该看到名为docker的模块已启用。
现在,Filebeat将收集Docker容器的日志并将其发送到配置的输出(例如Elasticsearch或Logstash)。您可以根据需要进一步自定义Filebeat配置以满足您的需求。