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启动情况

http://192.168.0.101:9200/

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启动情况

http://192.168.0.101:5601

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)的更多相关文章

  1. filebeat -> logstash -> elasticsearch -> kibana ELK 日志收集搭建

    Filebeat 安装参考 http://blog.csdn.net/kk185800961/article/details/54579376 elasticsearch 安装参考http://blo ...

  2. Nginx filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示

    filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示   by:授客  QQ:1033553122   测试环境 Win7 64 CentOS-7- ...

  3. Filebeat+Logstash+ElasticSearch+Kibana搭建Apache访问日志解析平台

    对于ELK还不太熟悉的同学可以参考我前面的两篇文章ElasticSearch + Logstash + Kibana 搭建笔记.Log stash学习笔记(一),本文搭建了一套专门访问Apache的访 ...

  4. logstash+es+kibana+redis搭建

    环境信息: CentOS 6.5 redis 3.0.4 logstash elasticsearch kibana 服务端ip:192.168.0.65 客户端ip:192.168.0.66 关系结 ...

  5. Elasticsearch核心技术(1)--- Docker容器中运行ES、Kibana、Cerebro

    Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大, ...

  6. 0415关于通过FILEBEAT,LOGSTASH,ES,KIBNA实现数据的采集

    如何通过FILEBEAT,LOGSTASH,ES,KIBNA实现数据的采集总体参考网址:https://www.olinux.org.cn/elk/1157.html官方网址:https://www. ...

  7. ELK搭建(filebeat、elasticsearch、logstash、kibana)

    ELK部署(文章有点儿长,搭建时请到官网将tar包下载好,按步骤可以完成搭建使用) ELK指的是ElasticSearch.LogStash.Kibana三个开源工具 LogStash是负责数据的收集 ...

  8. 使用docker部署filebeat和logstash

    想用filebeat读取项目的日志,然后发送logstash.logstash官网有相关的教程,但是docker部署的教程都太简洁了.自己折腾了半天,踩了不少坑,总算是将logstash和filebe ...

  9. Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志

    简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...

随机推荐

  1. Struts2常见问题

    时间:2017-1-14 21:29 1.配置Struts2过滤器之后无法正常访问Servlet    自己手动配置过滤器,参数为要访问的Servlet

  2. Java HdAcm1174

    空间一般直线的方程是:(x-x0)/a=(y-y0)/b=(z-z0)/c,这是一条过(x0,y0,z0),方向矢量为{a,b,c}的直线.假设已知点的坐标是A(e,f,g),过A点,且与{a,b,c ...

  3. Storm重启topology,失败

    storm新加节点,重启topology后,出现错误 如果检查了CPU和内存不高后,还出现 java.lang.OutOfMemoryError: unable to create new nativ ...

  4. 分数化循环小数C++实现

    引言 前一阵做了一个有理数四则混合运算的程序(详见:用C++实现的有理数(分数)四则混合运算计算器),以分数形式呈现运算结果.这次添加以循环小数形式呈现运算结果的功能.例如: Please input ...

  5. JavaScript高级程序设计学习笔记之事件

    1.事件流 事件流描述的是从页面中接收事件的顺序. 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播 ...

  6. Docker私有镜像仓库Harbor

    一.安装Harbor(离线安装包的方式安装) 1.解压离线包 2.进入harbor目录中编辑harbor.yml 3.安装docker-compose yum -y install docker-co ...

  7. noip模拟43

    A. 第一题 儿子遍历顺序按深度由小到大即可 B. 第二题 二分最小值,以点权作为初始距离跑最长路即可 直接用大根堆跑 \(dij\) 会 \(T\),考虑初始权值可以处理,且边权一定,用类似蚯蚓的方 ...

  8. Git 系列教程(3)- 初次运行 Git 前的配置

    前言 直接搬官网教程,再修改下,先啰嗦可以直接看以前的文章 Window初始化Git环境 https://www.cnblogs.com/poloyy/p/12185132.html Linux初始化 ...

  9. Windos下通过Wpcap抓包实现两个网卡桥接

    目录 1. 背景: 2. 需要的技术手段: 3. 实现逻辑: 4. 应用实例: 1. 背景: 一台电脑允许接多个网口,当然大部分只有一个网口其余都是USB扩展而来,而每个网口之间需要配置不同的网段IP ...

  10. RMI源码调试

    看RMI漏洞时候,对其漏洞原理并不是很理解,所以简单调试了下源码加强下漏洞理解 由于要调试到RegistryImpl_Stub这种动态类,刚开始用的源码版本是JDK8u141,后来发现源码有些地方进行 ...