Docker笔记(十):使用Docker来搭建一套ELK日志分析系统
一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储、索引日志, logstash —— 可用于日志传输、转换,kibana —— WebUI,将日志可视化),发现最新版已到7.4了。所以别问程序员为什么这么忙?因为不是在加班就是在学习新框架中。
本文整理了使用Docker来快速搭建一套ELK日志分析系统的方法。
1. 部署elk
github上有人整理了一套使用docker compose来部署elk的配置,可直接下载使用。
git clone https://github.com/deviantony/docker-elk.git  | 
如果没有git,那就安装一下(yum install git),或者直接下载github仓库的源码包。
当前是基于7.2.1版(docker-elk目录下.env文件中定义,可修改)。
调整一下相应的配置。
修改docker-compose,设置es密码等,
vim docker-compose.yml # 在elasticsearch部分设置环境变量,将jvm堆内存增大到了1g,设置es elastic用户的密码  | 
注意:因为es容器内部是以elasticsearch用户启动进程的,所以在做持久化数据目录挂载的时候,需要将目录权限进行设置,否则会因为没有访问权限而启动失败。elasticsearch的uid是1000,可以建一个uid为1000的用户,然后将目录所有者赋予该用户。
修改es配置文件,将xpack从trial改为basic,禁用付费功能
vim elasticsearch/config/elasticsearch.yml #xpack.license.self_generated.type: trial  | 
修改logstash配置文件,设置es的用户名密码
vim logstash/config/logstash.yml xpack.monitoring.elasticsearch.username: elastic  | 
修改logstash的pipeline配置
vim logstash/pipeline/logstash.conf # 这里codec根据具体情况配置  | 
修改kibana配置,设置es密码
vim kibana/config/kibana.yml ## X-Pack security credentials  | 
配置调整后,使用 docker-compose up -d 即可启动es,logstash,kibana三个容器。第一次启动需要下载所有镜像,会比较慢,启动完后,访问 elk所在服务器IP:5601即可进入kibana页面。
这里默认是起一个es容器,如果想起多个,参考: https://github.com/deviantony/docker-elk/wiki/Elasticsearch-cluster
2. 部署filebeat
filebeat部署在产生日志的服务器上。先下载镜像,
docker pull docker.elastic.co/kibana/kibana:7.3.1  | 
下载一个示例配置文件
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.3/deploy/docker/filebeat.docker.yml  | 
修改配置文件
vim filebeat.docker.yml filebeat.config:  | 
去掉了一些不必要的配置,基本就是一个input, 一个output。input paths部分配置你日志所在目录,注意这里是容器内的目录,真正服务器的日志目录需要在启动容器时挂载到这里配置的目录。
启动容器
docker run -d --name filebeat --user=root -v $(pwd)/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro \  | 
对配置文件及实际日志目录与容器日志目录进行了挂载。
启动成功后,对应目录下的日志就会通过filebeat,logstash传输到es,进入kibana对日志数据建立索引进行查询了。
3. 总结
前面用elk来搭建日志分析系统还是5.1版,两年时间已到7.4,配置方式,包括UI风格都做了很大的调整,很有一种人间一年,技术圈十载的感觉。
本文整理了基于Docker来搭建ELK框架的整个过程,供参考。
—————————————————————————————
作者:空山新雨
欢迎关注我的微信公众号:jboost-ksxy (一个不只有技术干货的公众号)
Docker笔记(十):使用Docker来搭建一套ELK日志分析系统的更多相关文章
- 十分钟搭建和使用ELK日志分析系统
		
前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为“十分钟搭建和使用ELK日志分析系统”听 ...
 - Windows搭建Log4Net+FileBeat+ELK日志分析系统过程
		
参考博客:http://udn.yyuap.com/thread-54591-1-1.html ; https://www.cnblogs.com/yanbinliu/p/6208626.html ; ...
 - Rsyslog+ELK日志分析系统搭建总结1.0(测试环境)
		
因为工作需求,最近在搭建日志分析系统,这里主要搭建的是系统日志分析系统,即rsyslog+elk. 因为目前仍为测试环境,这里说一下搭建的基础架构,后期上生产线再来更新最后的架构图,大佬们如果有什么见 ...
 - ELK日志分析系统搭建
		
之前一段时间由于版本迭代任务紧,组内代码质量不尽如人意.接二连三的被测试提醒后台错误之后, 我们决定搭建一个后台日志分析系统, 经过几个方案比较后,选择的相对更简单的ELK方案. ELK 是Elast ...
 - ELK日志分析系统搭建(转)
		
摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...
 - CentOs 7.3下ELK日志分析系统搭建
		
系统环境 为了安装时不出错,建议选择这两者选择一样的版本,本文全部选择5.3版本. System: Centos release 7.3 Java: openjdk version "1.8 ...
 - 快速搭建ELK日志分析系统
		
一.ELK搭建篇 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/ ...
 - 搭建ELK日志分析系统
		
看了辣么多博客,就数这个最详细最容易理解了:https://blog.csdn.net/qq_22211217/article/details/80764568 >>>>> ...
 - ELK日志分析系统搭建 windows
		
1 分别下载elk包 下载地址 https://www.elastic.co/cn/downloads 2 将这三个解压到同一个目录下,便于管理 3 elasticsearch不需要修改配置 默认即可 ...
 
随机推荐
- Windbg程序调试系列-索引篇
			
最近整理了一下Windbg程序调试系列的文章,做个了索引贴,方便大家查询.搜索: Windbg程序调试系列1-常用命令说明&示例 Windbg程序调试系列1-Mex扩展使用总结 Windbg程 ...
 - Jquery  实现添加删除,checkbok  的全选,反全选,但是批量删除没有实现
			
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title& ...
 - 微信公众平台注册及AppID和AppSecret的获取
			
一.注册公众平台 1.入口 浏览器搜索“微信公众平台”,进入官网,点右上角立即注册. 2.选择账号类型 注册前需要选择一个账号类型,共有4个账号类型可以选择,每种类型能提供不同的功能,功能区别见下图. ...
 - jdk1.8 HashMap底层数据结构:深入解析为什么jdk1.8 HashMap的容量一定要是2的n次幂
			
前言 1.本文根据jdk1.8源码来分析HashMap的容量取值问题: 2.本文有做 jdk1.8 HashMap.resize()扩容方法的源码解析:见下文“一.3.扩容:同样需要保证扩容后的容量是 ...
 - 一起来学JavaScript吧(JS兔子领进门)
			
首先我们学习一门语言呢不一要学习它的所有历史,但是一定要知道它的使用基本规则.不要在最基础的部分出错.不过胡萝贝还是带你了解JavaScript的历史吧. 1994年网景公司(Netscape)发布了 ...
 - elk系列教程:docker中安装配置elk
			
elasticSearch Docker安装elasticsearch: docker pull docker.io/elasticsearch:7.2.0 启动: docker run -p 920 ...
 - java学习中碰到的疑惑和解答(一)
			
今天写一个接口的时候发现,接口的方法不需要写修饰符,直接写数据类型加上方法名(参数)即可通过编译. import java.util.List; import com.bjm.pojo.Flower; ...
 - C语言编程入门之--第五章C语言基本运算和表达式-part2
			
5.1.4 再来一个C库函数getchar吸收回车键 回车键也是一个字符,在使用scanf的时候,输入完毕要按下回车键,这时候回车键也会被输入到stdin流中,会搞乱我们的程序. 注意:stdin是输 ...
 - 谈谈我对Ext的认识,元芳,你怎么看
			
实用Ext第一步当然是引用jar包啦. 下载地址 在页面上加上div用于显示这也是必须的 <div id='loginpanel' ></div> 在js中我们肯定需要将Ext ...
 - 给你的SpringBoot做埋点监控--JVM应用度量框架Micrometer
			
JVM应用度量框架Micrometer实战 前提 spring-actuator做度量统计收集,使用Prometheus(普罗米修斯)进行数据收集,Grafana(增强ui)进行数据展示,用于监控生成 ...