ELK日志分析系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK日志分析系统相关的知识,希望对你有一定的参考价值。

参考技术A        随着软件行业的发展,软件系统的生产部署结构日趋复杂。对于一个分布式的系统,同一应用通常部署在不同的节点上,通过负载均衡的方式将请求分发到各个不同的节点进行处理。此时就会相对增加生产运维的复杂度,在进行问题查询的时候很难判断本次请求是在哪台机器上执行的,也就无法快速的对日志进行查询从而定位问题,因此,就需要对日志进行统一的处理和分析,以便方便开发和运维人员的问题处理速度。

本文介绍的是elastic stack开源的ELK组件,主要包括elasticsearch(简称es),logstash,kibana三个核心组件。
es是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能,对外提供REST和java api,可扩展性的分布式系统。
Logstash是一个用来搜集、分析、过滤日志的工具,几乎支持所有类型的日志,能够接收多种来源的日志,包括syslog、mq,并且能够输出到多种介质中,包括es,邮件等等。
Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户定制仪表板视图,还允许用户使用es语法进行操作。

但是,在实际使用的过程中发现,logstash会占用很多系统资源,因此决定加入一个更轻量的日志收集组件(也是elastic stack的组件之一)filebeat。因此在加入filebeat之后,整个部署架构变成了如下图所示。

安装包:
    elasticsearch-6.6.2.tar.gz
    kibana-6.6.2-linux-x86_64.tar.gz
    logstash-6.6.2.tar.gz
    filebeat-6.6.0-linux-x86_64.tar.gz
    jdk-8u192-linux-x64.tar.gz
机器:
    192.168.45.174,192.168.45.175,192.168.45.176(ES集群)
    192.168.45.2(logstash,kibana)
    192.168.45.136(应用服务器,安装filebeat)

   注(1):由于ELK组件都是使用java开发的,因此需要安装1.8以上版本的jdk
      jdk的安装方法: https://www.cnblogs.com/kuoAT/p/7555298.html
   注(2):Elasticsearch不能使用root用户运行,需要单独创建用户
1)为es创建一个目录

2)创建一个elk用户,并为elk用户授权elasticsearch目录

3)上传es的安装包,并解压到elasticsearch目录

4)切换到root用户,修改以下文件

5)执行sysctl –p ,使配置生效
6)切换回elk用户,进入 elasticsearch/config/目录下,修改es的配置文件elasticsearch.yml

1)将filebeat上传到要进行日志收集的服务器上192.168.45.136,并解压

2)修改配置文件

a. 修改其中的enabled为true,并配置paths(要收集的日志路径,可以使用* 代替)。也可以根据exclude_lines和include_lines来做一些过滤日志的行为。

b. filebeat的配置文件路径,以及是否允许重新加载配置文件。并设置索引的分片数量

c. 配置kibana地址

d. 配置logstash地址

1)将logstash安装包上传到192.168.45.2服务器并解压
tar -xvf logstash-6.6.2.tar.gz
2)修改logstash输入输出的配置文件logstash-sample.yml
a.input中配置filebeat的监听端口
b.filter中可以增加过滤条件对所有或者指定索引进行过滤
c.output中可以配置filebeat输出之后的索引

1)将kibana安装包kibana-6.6.2-linux-x86_64.tar.gz上传到192.168.45.2,并解压
tar -xvf kibana-6.6.2-linux-x86_64.tar.gz
2)修改配置文件

1)分别在对应的bin目录下执行下列操作

2)启动后可以在浏览器中输入192.168.45.2:5601来进入kibana界面进行日志查询

以上是关于ELK日志分析系统的主要内容,如果未能解决你的问题,请参考以下文章

ELK日志分析系统(实例!!!)

ELK日志分析系统

运维必备——ELK日志分析系统

ELK日志分析系统搭建配置

ELK日志分析系统(理论+部署)

ELK 企业级日志分析系统