企业神器——ELK日志分析系统

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

开源实时日志分析ELK平台由ElasticSearch、Logstash和Kiabana三个开源工具组成:

1)ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。在elasticsearch中,所有节点的数据是均等的。

2)Logstash是一个完全开源的工具,它可以对你的日志进行收集、过滤、分析,支持大量的数据获取方法,并将其存储供以后使用(如搜索)。说到搜索,logstash带有一个web界面,搜索和展示所有日志。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

3)Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

ELK工作原理展示图:

如上图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。

ELK环境部署

一、准备工作

(1)系统环境

系统:CentOS7.2

防火墙:关闭

Centos7防火墙关闭方法与Centos6的有所区别

CentOS6关闭防火墙使用以下命令:

CentOS7中关闭防火墙使用以下命令:

selinux:关闭

selinux关闭方式有两种,一种是临时关闭,另一种是永久关闭。

临时关闭方式:

永久关闭方式:

编辑配置文件/etc/selinux/config

(2)ELK源码包(Elasticsearch、Logstash 、Kibana)

ELK官网下载地址https://www.elastic.co/downloads,下载相应的软件包

二、部署ElasticSearch

将下载好的源码包上传至linux服务器

注意:ELK的安装jdk的版本必须要求1.8以上

(1)安装jdk

(2)安装ElasticSearch

2.1、解压并移动至/usr/local下

2.2、修改配置文件elasticsearch.yml

[root@node1 local]# vim elasticsearch/config/elasticsearch.yml #修改或增加以下配置

2.3、创建数据目录和日志目录

2.4、创建elk用户(elasticsearch不能以root用户身份启动)

2.5、修改文件所属主、所属组

2.6、启动elasticsearch

2.7、验证elasticsearch是否安装成功

若出现上述访问结果,则表示elasticsearch部署成功。

注意:在启动过程中可能会报错,根据错误提示搜索解决方法,以下是本文在搭建过程中遇到的错误和解决方法,读者可作为参考。

三、部署Kibana

3.1、解压并移动至/usr/local下

3.2、修改配置文件kibana.yml

[root@node1 kibana-6.3.2]# vim config/kibana.yml #修改或增加以下内容

3.3、启动Kibana

3.4、检查Kibana是否安装成功

若访问出现上述截图,则表示kibana安全成功。

四、部署Logstash

在需要搜集日志的服务上部署logstash,注意,在部署logstash之前应先安装jdk,并且jdk版本在1.8以上。

4.1、解压并移动至/usr/local下

4.2、编辑收集文件

说明:path定义日志的路径,type自定义程序类型,hosts定义elasticsearch服务地址端口,index表示索引。

4.3、启动logstash

五、验证日志是否收集成功

5.1 登陆Kibana访问地址,选择“Managemen”,然后点击“index Patterns”,如下图所示:

5.2、选择“Create index pattern”,如下图所示:

5.3、 输入索引,索引支持匹配,然后点击“Next step”,如下图所示:

5 .4、选择“timestamp”,点击“Create index pattern”,如下图所示:

5.5、选择“Discover”,然后添加message、type,如下图所以:

此时我们可以看到收集到了日志,如果你想看具体程序的日志只需点击type下对应程序后的放大镜标志:

指定程序日志的显示如下:

5.6、配置实时日志刷新

点击“Auto-refresh”,选择对应的刷新时间,例如选择“5 seconds”表示5s刷新一次,如下图所示

到此,整套ELK日志分析系统部署完成。

菜鸟自学编程

长按左侧二维码添加

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180906G0KVHI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券