ELK是Elasticsearch + Logstash + Kibana 这种架构的简写.
这是一种日志分析平台的架构.
如果没有ELK这样的日志分析平台,我们同样可以使用shell三剑客(grep、sed、awk)来分析日志。
这种方式略显原始而简陋,虽然也能应对大多数的场景,但是当日志量变大,分析频繁的时候,仅靠人工shell 的方式来查看分析日志,就很不方便。
尤其适当使用者,对于shell不是很擅长的情况下,一个操作简单,配置方便的日志分析平台,就显得很有必要了。
ELK是开源的,社区活跃,用户众多。
Elasticsearch + Logstash + Kibana
这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用。
Elasticsearch + Logstash + filebeat + Kibana
与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失。
Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如kafka(集群化)) + Kibana
这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。目前我司使用的就是这种架构,我个人也比较推荐这种方式。

说明: logstash节点和elasticsearch节点可以根据日志量伸缩数量, filebeat部署在每台需要收集日志的服务器上。
部署环境,关闭防火墙
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t8s9JCFB-1640835483395)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915304.png)
![- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sZ1ld2PK-1640835483395)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915400.png)
安装elasticsearch-rpm包
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2odKsE6-1640835483396)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915491.png)
加载系统服务.
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWCcDdDV-1640835483397)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915583.png)
更改elasticsearch主配置文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LdenVjFs-1640835483398)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915690.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mr8tXGRO-1640835483399)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915793.png)
创建数据存放路径并授权
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WyohKRtT-1640835483400)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023915881.png)
启动查看是否成功开启
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZaKAbLNa-1640835483400)(C:Users杨醇OneDrive桌面8)]](https://1000bd.com/contentImg/2022/08/03/023915967.png)
查看节点信息
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j71pN8cp-1640835483401)(C:Users杨醇OneDrive桌面9)]](https://1000bd.com/contentImg/2022/08/03/023916055.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Al9Yn2A-1640835483401)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023916136.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CUGTtLS1-1640835483402)(C:Users杨醇OneDrive桌面 )]](https://1000bd.com/contentImg/2022/08/03/023916237.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mr5HsEOb-1640835483403)(C:Users杨醇OneDrive桌面
)]](https://img-blog.csdnimg.cn/1a0689d29f8a4f98b282c2743d391bf7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2h5MDcwNnk=,size_20,color_FFFFFF,t_70,g_se,x_16)
安装phantomjs
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0yLYnchv-1640835483403)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023916335.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EBQUoqOX-1640835483404)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023916431.png)
安装可视化工具

修改主配置文件,启动head插件及服务
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VMP96UQW-1640835483405)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023916644.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DVqMgt1-1640835483405)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023916744.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F674jxO4-1640835483406)(C:Users杨醇OneDrive桌面8)]](https://1000bd.com/contentImg/2022/08/03/023916856.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MpYaB2mH-1640835483406)(C:Users杨醇OneDrive桌面9)]](https://1000bd.com/contentImg/2022/08/03/023916948.png)
创建索引
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y5UvJcNX-1640835483407)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917039.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ew93LRJU-1640835483407)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917165.png)
apache主机上安装logstash,并启动
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xgwtYqj-1640835483407)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917268.png)
建立logstash软连接
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hruMtQgC-1640835483408)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917357.png)
logstash与elasticsearch做对接测试
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6EwMr1T-1640835483408)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917470.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3BHVZN0-1640835483409)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917577.png)
![- 使用logstash将信息写入elasticsearch中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qOwGM2jx-1640835483409)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917695.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4rOBxFxA-1640835483409)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023917819.png)
登录主机做对接配置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YcfHUBju-1640835483410)(C:Users杨醇OneDrive桌面8)]](https://1000bd.com/contentImg/2022/08/03/023917907.png)
vi /etc/logstash/conf.d/system.conf
input {
file{
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.9.139:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMkdjiSA-1640835483410)(C:Users杨醇OneDrive桌面9)]](https://1000bd.com/contentImg/2022/08/03/023918052.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZM6EPraI-1640835483411)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918155.png)
修改配置文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JnuGwJCO-1640835483411)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918242.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCMY9v9z-1640835483411)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918333.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gODe52Ou-1640835483412)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918422.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P56rZLYF-1640835483412)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918526.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DxCrklf2-1640835483413)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918648.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqZ0rIlX-1640835483413)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918741.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gd9t8jNG-1640835483414)(C:Users杨醇OneDrive桌面)]](https://1000bd.com/contentImg/2022/08/03/023918848.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0Zz5Xes-1640835483415)(C:Users杨醇OneDrive桌面8)]](https://1000bd.com/contentImg/2022/08/03/023918995.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIxN9aMb-1640835483415)(C:Users杨醇OneDrive桌面9)]](https://1000bd.com/contentImg/2022/08/03/023919120.png)
在生产环境中,由于logstash消耗资源过多,我们一半采用filebeat轻量级日志收集代理,让logstash专注于日志格式化,又由于生产环境中日志量过大,logs他是一旦故障,会导致日志的丢失,所以要在filebeat与logstash中增加一个中间件redis或kafka来起一个缓存汇聚作用。如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFJ3i6lB-1640835483416)(C:Users杨醇OneDrive桌面 )]](https://1000bd.com/contentImg/2022/08/03/023919272.png)
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦