【微服务】日志搜集elasticsearch+kibana+filebeat(单机)
以下是一个基于Docker的简单示例,展示如何在单机上使用Elasticsearch、Kibana和Filebeat来进行日志搜集。
- 安装Docker并确保其正在运行。
- 创建一个
docker-compose.yml
文件,内容如下:
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
environment:
- discovery.type=single-node
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- "9200:9200"
networks:
- net-elk
kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
depends_on:
- elasticsearch
networks:
- net-elk
filebeat:
image: docker.elastic.co/beats/filebeat:7.10.0
volumes:
- /var/lib/docker/volumes/filebeat/_data:/usr/share/filebeat/data:rw
- /var/log/:/loggi:ro
- /usr/share/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
environment:
- ELASTICSEARCH_HOST=elasticsearch
networks:
- net-elk
volumes:
esdata1:
driver: local
networks:
net-elk:
driver: bridge
- 在含有此
docker-compose.yml
文件的目录中运行以下命令来启动服务:
docker-compose up -d
- 配置Filebeat。在上述
docker-compose.yml
文件中,Filebeat的配置映射了本地的filebeat.yml
文件到容器内的/usr/share/filebeat/filebeat.yml
。您需要创建这个本地文件,例如:
filebeat.inputs:
- type: log
paths:
- /loggi/*.log # 更改为您要监控的日志文件路径
output.elasticsearch:
hosts: ["elasticsearch:9200"]
- 在您的应用程序容器中或在宿主机上生成日志文件,Filebeat将自动将这些日志发送到Elasticsearch。
- 访问Kibana,使用浏览器打开
http://localhost:5601
,设置索引模式(如filebeat-*
),您就可以开始搜索和可视化您的日志了。
请注意,这个例子是一个基本的设置,您可能需要根据实际需求进行配置调整,例如调整资源分配、设置认证、配置网络安全等。
评论已关闭