irpas技术客

ELK日志分析系统_why0706y_elk日志分析系统

网络 8104

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部署

部署环境,关闭防火墙

安装elasticsearch-rpm包

加载系统服务.

更改elasticsearch主配置文件

创建数据存放路径并授权

启动查看是否成功开启

查看节点信息

查看集群状态

安装head插件

安装phantomjs

安装可视化工具

修改主配置文件,启动head插件及服务

创建索引

apache主机上安装logstash,并启动

建立logstash软连接

logstash与elasticsearch做对接测试

登录主机做对接配置

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}" } }

node1上安装kibana

修改配置文件

配置索引

对接apache主机的日志文件

四、扩展

在生产环境中,由于logstash消耗资源过多,我们一半采用filebeat轻量级日志收集代理,让logstash专注于日志格式化,又由于生产环境中日志量过大,logs他是一旦故障,会导致日志的丢失,所以要在filebeat与logstash中增加一个中间件redis或kafka来起一个缓存汇聚作用。如下图:


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #elk日志分析系统 #ELK一什么是ELK