ELK
一、什么是ELK
ELK是Elasticsearch + Logstash + Kibana 这种架构的简写.
这是一种日志分析平台的架构.
如果没有ELK这样的日志分析平台,我们同样可以使用shell三剑客(grep、sed、awk)来分析日志。
这种方式略显原始而简陋,虽然也能应对大多数的场景,但是当日志量变大,分析频繁的时候,仅靠人工shell 的方式来查看分析日志,就很不方便。
尤其适当使用者,对于shell不是很擅长的情况下,一个操作简单,配置方便的日志分析平台,就显得很有必要了。
ELK是开源的,社区活跃,用户众多。
二、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部署在每台需要收集日志的服务器上。
三、简单ELK部署
-
部署环境,关闭防火墙
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t8s9JCFB-1640835483395)(C:\Users\杨醇\OneDrive\桌面\1)]](https://i-blog.csdnimg.cn/blog_migrate/2b10dbdd6d4526b138095589c8238ee9.png)
![- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sZ1ld2PK-1640835483395)(C:\Users\杨醇\OneDrive\桌面\2)]](https://i-blog.csdnimg.cn/blog_migrate/48a0ef3f5e7272485fe1ee5f0f3fa8f7.png)
-
安装elasticsearch-rpm包
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2odKsE6-1640835483396)(C:\Users\杨醇\OneDrive\桌面\3)]](https://i-blog.csdnimg.cn/blog_migrate/469fac1fc6192ab3a573b8d2ff86354f.png)
-
加载系统服务.
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWCcDdDV-1640835483397)(C:\Users\杨醇\OneDrive\桌面\4)]](https://i-blog.csdnimg.cn/blog_migrate/735981ed691c0d9ae556045013749fc2.png)
-
更改elasticsearch主配置文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LdenVjFs-1640835483398)(C:\Users\杨醇\OneDrive\桌面\5)]](https://i-blog.csdnimg.cn/blog_migrate/09e253eb1c119165cd43dc5953493184.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mr8tXGRO-1640835483399)(C:\Users\杨醇\OneDrive\桌面\6)]](https://i-blog.csdnimg.cn/blog_migrate/225b6a895264bf02c3671ffe3d646866.png)
-
创建数据存放路径并授权
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WyohKRtT-1640835483400)(C:\Users\杨醇\OneDrive\桌面\7)]](https://i-blog.csdnimg.cn/blog_migrate/27d420b319b55572907a0ee11db65b53.png)
-
启动查看是否成功开启
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZaKAbLNa-1640835483400)(C:\Users\杨醇\OneDrive\桌面\8)]](https://i-blog.csdnimg.cn/blog_migrate/296c50806b9cd8364520ee19d2c88ed3.png)
-
查看节点信息
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j71pN8cp-1640835483401)(C:\Users\杨醇\OneDrive\桌面\9)]](https://i-blog.csdnimg.cn/blog_migrate/139d07fb351049afab62b33e8f0d6348.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Al9Yn2A-1640835483401)(C:\Users\杨醇\OneDrive\桌面\10)]](https://i-blog.csdnimg.cn/blog_migrate/eb6cff2faa108b1f40759625b4da4164.png)
- 查看集群状态
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CUGTtLS1-1640835483402)(C:\Users\杨醇\OneDrive\桌面\11)]](https://i-blog.csdnimg.cn/blog_migrate/e12f4552244ab146699fef7d458b9ef7.png)
- 安装head插件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mr5HsEOb-1640835483403)(C:\Users\杨醇\OneDrive\桌面\12)]](https://i-blog.csdnimg.cn/blog_migrate/f24f24c9f76cf08a6ab11b6ebaa54af2.png)
-
安装phantomjs
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0yLYnchv-1640835483403)(C:\Users\杨醇\OneDrive\桌面\13)]](https://i-blog.csdnimg.cn/blog_migrate/49ff8c6313b88df67043eec4e6c469d4.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EBQUoqOX-1640835483404)(C:\Users\杨醇\OneDrive\桌面\14)]](https://i-blog.csdnimg.cn/blog_migrate/4053049a1a2f1f07ae532615d81c5d03.png)
-
安装可视化工具

-
修改主配置文件,启动head插件及服务
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VMP96UQW-1640835483405)(C:\Users\杨醇\OneDrive\桌面\16)]](https://i-blog.csdnimg.cn/blog_migrate/3537ff6aa1748d52b59f60284b4a8618.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DVqMgt1-1640835483405)(C:\Users\杨醇\OneDrive\桌面\17)]](https://i-blog.csdnimg.cn/blog_migrate/a6e775299cf2a474d4a5ff4ffdfe7ff6.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F674jxO4-1640835483406)(C:\Users\杨醇\OneDrive\桌面\18)]](https://i-blog.csdnimg.cn/blog_migrate/a71cf9274a0fd6a8ca8072903e3487e7.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MpYaB2mH-1640835483406)(C:\Users\杨醇\OneDrive\桌面\19)]](https://i-blog.csdnimg.cn/blog_migrate/f5bf654f23ae8204d87cc38a08082ab8.png)
-
创建索引
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y5UvJcNX-1640835483407)(C:\Users\杨醇\OneDrive\桌面\20)]](https://i-blog.csdnimg.cn/blog_migrate/e097cbb546d06399c8a8f231a68a4219.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ew93LRJU-1640835483407)(C:\Users\杨醇\OneDrive\桌面\21)]](https://i-blog.csdnimg.cn/blog_migrate/99ca3646253cdb28629d820151423740.png)
-
apache主机上安装logstash,并启动
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xgwtYqj-1640835483407)(C:\Users\杨醇\OneDrive\桌面\22)]](https://i-blog.csdnimg.cn/blog_migrate/972fd508e0b5dca34b0fee2722c0febd.png)
-
建立logstash软连接
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hruMtQgC-1640835483408)(C:\Users\杨醇\OneDrive\桌面\23)]](https://i-blog.csdnimg.cn/blog_migrate/4611922b1818f5cbc494c062249101b6.png)
-
logstash与elasticsearch做对接测试
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6EwMr1T-1640835483408)(C:\Users\杨醇\OneDrive\桌面\24)]](https://i-blog.csdnimg.cn/blog_migrate/2ea0c9e5f3e617cd19be3a0da7b6934d.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3BHVZN0-1640835483409)(C:\Users\杨醇\OneDrive\桌面\25)]](https://i-blog.csdnimg.cn/blog_migrate/6babdaf86f2677b74c5aae94fd65950c.png)
![- 使用logstash将信息写入elasticsearch中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qOwGM2jx-1640835483409)(C:\Users\杨醇\OneDrive\桌面\26)]](https://i-blog.csdnimg.cn/blog_migrate/f5165b6f3390945f8dbeccb5c4962a7c.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4rOBxFxA-1640835483409)(C:\Users\杨醇\OneDrive\桌面\27)]](https://i-blog.csdnimg.cn/blog_migrate/623222edfad5f4046d71a6c8cefe2a5b.png)
-
登录主机做对接配置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YcfHUBju-1640835483410)(C:\Users\杨醇\OneDrive\桌面\28)]](https://i-blog.csdnimg.cn/blog_migrate/e3ddc7cf085c564453782d41a01f5a8e.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\桌面\29)]](https://i-blog.csdnimg.cn/blog_migrate/601a3b60602dc37b210042a027274d05.png)
- node1上安装kibana
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZM6EPraI-1640835483411)(C:\Users\杨醇\OneDrive\桌面\30)]](https://i-blog.csdnimg.cn/blog_migrate/f85520745e5c046ff962827de70e1d20.png)
-
修改配置文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JnuGwJCO-1640835483411)(C:\Users\杨醇\OneDrive\桌面\31)]](https://i-blog.csdnimg.cn/blog_migrate/14f2fdf0bfb7e02c72f9d0adc693aa6b.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCMY9v9z-1640835483411)(C:\Users\杨醇\OneDrive\桌面\32)]](https://i-blog.csdnimg.cn/blog_migrate/04ca37452c6c6512691cba624cc89c36.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gODe52Ou-1640835483412)(C:\Users\杨醇\OneDrive\桌面\33)]](https://i-blog.csdnimg.cn/blog_migrate/e12571775652cb4fa08b52e1e771bf05.png)
- 配置索引
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P56rZLYF-1640835483412)(C:\Users\杨醇\OneDrive\桌面\34)]](https://i-blog.csdnimg.cn/blog_migrate/c044e17c1ae98d08524fe791e2d1e3fb.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DxCrklf2-1640835483413)(C:\Users\杨醇\OneDrive\桌面\35)]](https://i-blog.csdnimg.cn/blog_migrate/f88531619daf08637863490f0e14b280.png)
- 对接apache主机的日志文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqZ0rIlX-1640835483413)(C:\Users\杨醇\OneDrive\桌面\36)]](https://i-blog.csdnimg.cn/blog_migrate/637b80abbe95b4b6923006b17fa05c1d.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gd9t8jNG-1640835483414)(C:\Users\杨醇\OneDrive\桌面\37)]](https://i-blog.csdnimg.cn/blog_migrate/a063e574cfbef671b6ac41d5250c28b1.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0Zz5Xes-1640835483415)(C:\Users\杨醇\OneDrive\桌面\38)]](https://i-blog.csdnimg.cn/blog_migrate/cce65bf30ea000a9f840cb39a069ab56.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIxN9aMb-1640835483415)(C:\Users\杨醇\OneDrive\桌面\39)]](https://i-blog.csdnimg.cn/blog_migrate/2a3d6480f9061896c5f14629bde77163.png)
四、扩展
在生产环境中,由于logstash消耗资源过多,我们一半采用filebeat轻量级日志收集代理,让logstash专注于日志格式化,又由于生产环境中日志量过大,logs他是一旦故障,会导致日志的丢失,所以要在filebeat与logstash中增加一个中间件redis或kafka来起一个缓存汇聚作用。如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFJ3i6lB-1640835483416)(C:\Users\杨醇\OneDrive\桌面\40)]](https://i-blog.csdnimg.cn/blog_migrate/7f9560be4205e4071d63306a60a4125e.png)
本文介绍了ELK架构(Elasticsearch+Logstash+Kibana)在日志管理中的应用,重点讲解了不同架构模式,从基础部署到生产环境的扩展策略,包括filebeat的使用和中间件如Redis的引入,适合日志处理大量且复杂的企业环境。
2109





