docker efk(filebeat+logstash+es+kibana)
1.系统架构

通常我们说的elastic stack,也就是elk,通过es 收集日志数据,存到elasticsearch,最后通过kibana进行统计分析,但是elastic公司后续又推出了新的日志收集产品beats,这里更推荐使用beats,性能更高
2.搭建es
2.1 创建docker 网络,用于不同容器间通信
之前常用--link container_name,因后面--link会被官方舍弃,故改用network方式
docker network creat efknetwork

docker search elasticsearch
docker pull elasticsearch:7.13.0(这里需要加上版本号)
2.2 启动es
docker run -idt \
--restart=always \
--name elasticsearch \
-e ES_JAVA_POTS="-Xms512m -Xmx512m"
-p 9200:9200 \
--net efknetwork \
-e "discovery.type=single-node" \
elasticsearch:7.13.0
2.3 将配置文件copy出来,方便后续更改配置
docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml
2.4 重启es,映射配置文件
docker run -idt \
--restart=always \
--name elasticsearch \
-e ES_JAVA_POTS="-Xms512m -Xmx512m"
-p 9200:9200 \
--net efknetwork \
-v /home/workspace/elk/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-e "discovery.type=single-node" \
elasticsearch:7.13.0
2.5 查看es启动情况

3.搭建kibana
docker pull kibana:7.13.0
3.1 启动kibana
docker run -idt \
--restart=always \
--name kibana \
--net efknetwork \
-p 5601:5601 \
-e "I18N_LOCALE=zh-CN" \
kibana:7.13.0
3.2 将配置文件copy出来,方便后面更改
docker cp kibana:/usr/share/kibana/config/kibana.yml /home/workspace/elk/kibana/config
3.3 更改kibana.yml配置文件
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"

这里直接使用容器名,默认的network只能使用ip地址,而新创建的network使用容器名,可以自动解析,默认是英文界面,zh-CN改为中文
3.4 重启kibana
docker run -idt \
--restart=always \
--name kibana \
--net efknetwork \
-v /home/workspace/elk/kibana/config:/config \
-p 5601:5601 \
-e "I18N_LOCALE=zh-CN" \
kibana:7.13.0
3.5 查看kibana启动情况

4.搭建logstash
docker pull logstash:7.13.0
4.1 创建需要映射的配置文件logstash.conf 和 logstash.yml
logstash.conf

logstash.yml

说明:
logstash.yml:用于挂载logstash相关配置
logstash.conf:用于挂载logstash日志处理配置文件
4.2 启动logstash
docker run -idt \
--restart=always \
-p 5044:5044 \
--name logstash \
--net efknetwork \
-v /home/workspace/elk/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-v /home/workspace/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml \
logstash:7.13.0
4.3 查看日志收集情况
docker logs logstash
5.搭建filebeat
docker pull filebeat:7.13.0
5.1 创建需要映射的配置文件filebeat.docker.yml
大致结构

以mysql慢查询为例,简单配置以示效果

这里为什么不去容器内修改配置文件呢?因为filebeat容器内的配置文件是只读的不可更改,所以只能通过映射配置文件的方式修改
5.2 启动filebeat
docker run -idt \
--restart=always \
-v /home/workspace/elk/filebeat/conf/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro \
-v /home/mysql/log:/var/log/filebeat:rw \
--name filebeat \
--net efknetwork \
-e setup.kibana.host=192.168.0.101:5601 \
elastic/filebeat:7.13.0
5.3 查看filebeat启动情况
docker logs filebeat

5.4 检验是否收集所需日志
在收集日志的目录下面添加日志文件,或者更新日志,然后去kibana查看是否有filebeat的索引生成,我在这里生成一个mysql慢查询日志,mysql_slow.log



可以通过搜索或者日期,字段进行筛选
docker efk(filebeat+logstash+es+kibana)的更多相关文章
- filebeat -> logstash -> elasticsearch -> kibana ELK 日志收集搭建
Filebeat 安装参考 http://blog.csdn.net/kk185800961/article/details/54579376 elasticsearch 安装参考http://blo ...
- Nginx filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示
filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示 by:授客 QQ:1033553122 测试环境 Win7 64 CentOS-7- ...
- Filebeat+Logstash+ElasticSearch+Kibana搭建Apache访问日志解析平台
对于ELK还不太熟悉的同学可以参考我前面的两篇文章ElasticSearch + Logstash + Kibana 搭建笔记.Log stash学习笔记(一),本文搭建了一套专门访问Apache的访 ...
- logstash+es+kibana+redis搭建
环境信息: CentOS 6.5 redis 3.0.4 logstash elasticsearch kibana 服务端ip:192.168.0.65 客户端ip:192.168.0.66 关系结 ...
- Elasticsearch核心技术(1)--- Docker容器中运行ES、Kibana、Cerebro
Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大, ...
- 0415关于通过FILEBEAT,LOGSTASH,ES,KIBNA实现数据的采集
如何通过FILEBEAT,LOGSTASH,ES,KIBNA实现数据的采集总体参考网址:https://www.olinux.org.cn/elk/1157.html官方网址:https://www. ...
- ELK搭建(filebeat、elasticsearch、logstash、kibana)
ELK部署(文章有点儿长,搭建时请到官网将tar包下载好,按步骤可以完成搭建使用) ELK指的是ElasticSearch.LogStash.Kibana三个开源工具 LogStash是负责数据的收集 ...
- 使用docker部署filebeat和logstash
想用filebeat读取项目的日志,然后发送logstash.logstash官网有相关的教程,但是docker部署的教程都太简洁了.自己折腾了半天,踩了不少坑,总算是将logstash和filebe ...
- Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志
简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...
随机推荐
- linux & windows下的动态库制作
动态链接库不是linux独有的特性,在windows下面也存在这样的特性.一般来说,windows下面的动态连接库是以*.dll作为结尾的,而linux下面的动态连接库是以*.so结尾的.和静态链接 ...
- [题解] P4556 [Vani有约会]雨天的尾巴
[题解] P4556 [Vani有约会]雨天的尾巴 ·题目大意 给定一棵树,有m次修改操作,每次修改 \(( x\) \(y\) \(z )\) 表示 \((x,y)\) 之间的路径上数值 \(z\) ...
- mongodb重启报错解决
mongodb关闭后重启失败 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName= ...
- 快速使用 Docker 上手 Sentry-CLI - 玩转 Source Maps 使用 (create-react-app)
系列 快速使用 Docker 上手 Sentry-CLI - 创建版本 入门 使用 sentry-cli 上传 source maps 时,您需要设置构建系统以创建版本(release)并上传与该版本 ...
- grpc服务发现与负载均衡
前言 在后台服务开发中,高可用性是构建中核心且重要的一环.服务发现(Service discovery)和负载均衡(Load Balance)一直都是我关注的话题.今天来谈一下我在实际中是如何理解及落 ...
- Redis的安装、基本使用以及与SpringBoot的整合
1.概述 Redis 是现在很流行的一个 NoSql 数据库,每秒读取可以达到10万次,能够将数据持久化,支持多种数据结构,容灾性强,易扩展,常用于项目的缓存中间件. 今天我们就来聊聊关于Redis的 ...
- ubuntu 20.04 发邮件配置
安装sendmail后,发邮件一直没有成功,因此卸载sendmail后,安装heirloom-mailx. # unbuntu 18.04和20.04移除了heirloom-mailx,需要另外配置软 ...
- 【LeetCode】862. 和至少为 K 的最短子数组
862. 和至少为 K 的最短子数组 知识点:单调:队列:前缀和 题目描述 返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K . 如果没有和至少为 K 的非空子数组,返回 -1 . 示例 ...
- ElasticSearch集成SpringData史上最全查询教程
1.简单介绍 springboot 使用springdata操作es,ElasticsearchRepository使用QueryBuilder构造查询条件 2.集成es //maven集成 < ...
- C# 多线程编程之锁的使用【互斥锁(lock)和读写锁(ReadWriteLock)】
多线程编程之锁的使用[互斥锁(lock)和读写锁(ReadWriteLock)] http://blog.csdn.net/sqqyq/article/details/18651335 多线程程序写日 ...