运行 两台服务器上 docker 上的 ELK 堆栈
Run ELK stack on docker on two server
我想在 docker 上 运行 ELK,所以我 运行 ELK 堆栈和 filebeat 容器在一台服务器上,项目 运行 在另一台服务器上。
如何将项目日志文件传输到 ELK 运行ning 服务器?
最后,我找到了如下解决方案。如果您有任何其他想法,请推荐我。
- 我运行一台服务器上的Logstash、Elasticsearch、Kibana的镜像。
Note: I did not run the filebeat image on this server.
在Filebeat Configuration文件中,我们设置了
下面的 filebeat 是 Logstash 的 IP 地址和端口
运行在另一台服务器上。
output.logstash:
hosts: ["ELK Server IP:5044"]
现在我为filebeat创建了一个compose文件如下
version: '2.2'
services:
filebeat:
build:
context: filebeat /
volumes:
# needed to access all docker logs (read only):
- "/var/lib/docker/containers:/usr/share/dockerlogs/data:ro"
# needed to access additional information about containers
- "/var/run/docker.sock:/var/run/docker.sock"
#cpu_count: 1
cpus: 0.5
mem_limit: 2G
我运行 filebeat 的图像通过使用这些设置和合成
项目 运行ning.
服务器上的文件
通过这些设置,Filebeat 可以从“/var/lib/docker/containers”读取日志文件并使用"hosts: [" ELK 服务器IP:5044“]”将日志文件传送到 Logstash。
我想在 docker 上 运行 ELK,所以我 运行 ELK 堆栈和 filebeat 容器在一台服务器上,项目 运行 在另一台服务器上。
如何将项目日志文件传输到 ELK 运行ning 服务器?
最后,我找到了如下解决方案。如果您有任何其他想法,请推荐我。
- 我运行一台服务器上的Logstash、Elasticsearch、Kibana的镜像。
Note: I did not run the filebeat image on this server.
在Filebeat Configuration文件中,我们设置了 下面的 filebeat 是 Logstash 的 IP 地址和端口 运行在另一台服务器上。
output.logstash: hosts: ["ELK Server IP:5044"]
现在我为filebeat创建了一个compose文件如下
version: '2.2' services: filebeat: build: context: filebeat / volumes: # needed to access all docker logs (read only): - "/var/lib/docker/containers:/usr/share/dockerlogs/data:ro" # needed to access additional information about containers - "/var/run/docker.sock:/var/run/docker.sock" #cpu_count: 1 cpus: 0.5 mem_limit: 2G
我运行 filebeat 的图像通过使用这些设置和合成 项目 运行ning.
服务器上的文件
通过这些设置,Filebeat 可以从“/var/lib/docker/containers”读取日志文件并使用"hosts: [" ELK 服务器IP:5044“]”将日志文件传送到 Logstash。