日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
开源实时日志分析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日志分析系统部署完成。
菜鸟自学编程
长按左侧二维码添加
领取专属 10元无门槛券
私享最新 技术干货