前言
本文是基于 hub.docker.com 站点提供的 Docker 容器进行搭建的,且是 单机 ,仅用于学习。
代码仓库
talk-lucky/elkf-study ELKF目录
说明
为了能够达到更好的学习效果,这里将 Elasticsearch 设置成了无需密码的状态。
同时,Elasticsearch 也用的是免费版。
后期告警部分,会使用 Elasticsearch 白金收费版,默认只有试用 30 天,如果需要更长时间的试用,需要付费购买。
镜像版本
Docker 镜像版本: 7.6.1。
logstash:7.6.1kibana:7.6.1elasticsearch:7.6.1store/elastic/filebeat:7.6.1
Docker 镜像版本: 6.4.2。
logstash:6.4.2kibana:6.4.2elasticsearch:6.4.2store/elastic/filebeat:6.4.2
目标
FileBeat 收集日志、Logstash 解析格式化、Elasticsearch 存储、Kibana 分析、钉钉告警。
文件树
elkf ├─elasticsearch │ └─elasticsearch.yml ├─filebeat │ └─filebeat.yml ├─kibana │ └─kibana.yml └─logstash ├─logstash.yml └─pipeline └─logstash.conf
|
容器编排配置
version: "3" services: filebeat: image: store/elastic/filebeat:7.6.1 volumes: - ./nginx/logs:/var/log/nginx - ./elkf/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro links: - logstash container_name: filebeat user: "root" elasticsearch: image: elasticsearch:7.6.1 ports: - "9200:9200" - "9300:9300" volumes: - ./elkf/elasticsearch/data:/usr/share/elasticsearch/data - ./elkf/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro environment: ELASTICSEARCH_USERNAME: "root" ELASTICSEARCH_PASSWORD: "123456" ES_JAVA_OPTS: "-Xmx256m -Xms256m" discovery.type: single-node xpack.security.enabled: 'false' container_name: elasticsearch logstash: image: imjcw/logstash:7.6.1 ports: - "5044:5044" volumes: - ./elkf/logstash/pipeline:/usr/share/logstash/pipeline:ro - ./elkf/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml:ro networks: - default environment: LS_JAVA_OPTS: "-Xmx256m -Xms256m" container_name: logstash links: - elasticsearch kibana: image: kibana:7.6.1 ports: - "5601:5601" volumes: - ./elkf/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml:ro environment: I18N_LOCALE: zh-CN container_name: kibana links: - elasticsearch
|
运行环境
在 ELKF 目录下,执行 docker-compose up -d。
你将会看到如下的内容:
imjcw@marvin ELKF: docker-compose up -d Creating network "elkf_default" with the default driver Creating elasticsearch ... done Creating logstash ... done Creating filebeat ... done Creating kibana ... done
|
等两分钟后,打开 http://127.0.0.1:5601。

尽情探索吧。
最后
项目中已经做了一些基础配置,后续在各个模块会标明这些配置的作用。
本文章观点仅代表个人立场,部分观点可能已过时,仅供参考。
本博客所有文章除特别声明外,均采用
CC BY-SA 4.0 协议,转载请注明出处!