ELK 是三个开源软件的缩写, 分别表示: Elasticsearch, Logstash, Kibana, 它们都是开源软件。新增了一个 FileBeat, 它是一个轻量级的日志收集处理工具 (Agent), Filebeat 占用资源少, 适合于在各个服务器上搜集日志后传输给 Logstash, 官方也推荐此工具。
Elasticsearch 是个开源分布式搜索引擎, 提供搜集、分析、存储数据三大功能。它的特点有: 分布式, 零配置, 自动发现, 索引自动分片, 索引副本机制, restful 风格接口, 多数据源, 自动搜索负载等。主要负责将日志索引并存储起来, 方便业务方检索查询。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具, 支持大量的数据获取方式。一般工作方式为 c/s
架构, client 端安装在需要收集日志的主机上, server 端负责将收到的各节点日志进行过滤、修改等操作在一并发往 elasticsearch 上去。是一个日志收集、过滤、转发的中间件, 主要负责将各条业务线的各类日志统一收集、过滤后, 转发给 Elasticsearch 进行下一步处理。
Kibana 也是一个开源和免费的工具, Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面, 可以帮助汇总、分析和搜索重要数据日志。
更多详情可参见这篇文章: https://blog.csdn.net/qq_41475058/article/details/89840468
version: '3.7'
services:
# Elasticsearch Docker Images: https://www.docker.elastic.co/
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.1
environment:
- xpack.security.enabled=false
- discovery.type=single-node
- ES_JAVA_OPTS: "-Xmx256m -Xms256m"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:7.17.1
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- 5601:5601
volumes:
- /home/x/docker-composes/elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml
depends_on:
- elasticsearch
logstash:
container_name: logstash
image: docker.elastic.co/logstash/logstash:7.17.1
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5044:5044"
depends_on:
- elasticsearch
volumes:
elasticsearch-data:
driver: local
shell on host machine:
sudo sysctl -w vm.max_map_count=262144
sudo sysctl -p #使配置生效
from: https://www.elastic.co/guide/en/elasticsearch/reference/5.0/vm-max-map-count.html#vm-max-map-count
https://www.robertobandini.it/2021/01/31/how-to-install-the-elk-stack-using-docker-compose/
这个 elk docker 如果和 datadog 在同一台电脑上运行的话可能会有 5000 端口被占用的冲突, 可以参考这里解决 https://github.com/DataDog/datadog-agent/issues/4229#issuecomment-830210940。