如何使用 ELK 集群对应用程序日志进行监测?

ELK 是Elasticsearch Logstash Kibana这三个开源项目的缩写,它可以低成本的实现一个性能完善的日志分析解决方案,有助于实时监控应用活动,并分析应用日志的数据。集群内,Elasticsearch是核心搜索服务,Logstash 收集解析日志并存储到Elasticsearch,Kibana 是一款基于网页的可视化分析展示工具,使用Kibana可以很方便地查看、搜索和分析日志信息,可以通过更高效的数据可视化,加快分析过程,更好地发现趋势和问题。

部署ELK 集群,首先要进行一定的环境准备,环境要求如下:

(1)集群环境要求,服务器 OS 为Centos7.6,要求两台以上的服务器,以保证 ELK 集群的容错性。

(2)Logstash 和 Elasticsearch 监听端口不能是常用端口,最好是自定义的非标准端口,以保证安全。

(3)Kibana 可设置简单的 HTTP认证访问,以达到安全性保护要求。

(4)保证 ELK 集群和需要收集日志的服务器有良好的网络连接,建议部署在同一网络层级, 以加快对日志的聚合处理。

(1)安装JAVA 1.8环境

(2)安装Elasticsearch,并且调整 Elasticsearch 相关配置,使其支持分片存储

(3)安装和配置Logstash,将 Logstash 设置为监控/var/log文件夹下的日志,支持 syslog-ng 的配置

(4)安装和配置Kibana,设置 Kibana 对 Elasticsearch 节点的访问控制

(1)在日志收集机器上安装 ELK 客户端,支持 syslog-ng 日志收集

(2)在标配收集服务器上配置 syslog-ng 对应用程序日志的收集

(3)在 ELK 归集服务器的 Logstash 配置文件中增加 syslog-ng 日志收集的配置

(1)创建 Kibana 索引

(2)Kibana 仪表板展示应用程序日志

(3)使用 Discover 功能定位问题,通过聚合,图表等功能将应用日志分析数据可视化

(4)使用报警机制,指定一定的条件,当日志达到一定的规则后,触发特定的报警机制。

(1)具备高可用和容错特性,面向网络应用领域可以形成一个独立的容灾架构,进一步保证日志的可靠性

(2)ELK 支持报警机制,对日志的存储量、规则以及实时性进行监控

(3)Logstash灵活:可以根据需求自己定义插件,使 ELK 更灵活多变,可以满足更多深度分析需求

(4)具有可视化分析功能:结合 Kibana 可视化界面,可以根据数据突出异常,帮助我们更便捷的定位问题

(5)可以对接第三方系统:结合 ERP、报表系统等可以实现对日志数据的高并发读写,更快的分析得出想要的结果。

ELK集群主要用于实现对应用程序日志的监控,有助于实时监控应用活动,并分析应用日志的数据,因此能够快速找出系统问题,加快排错分析速度,大大完善了系统运维工作。ELK集群系统安全性也比较高,日志安全传输、端口安全配置以及Kibana登录认证都能够很好地保证系统安全性。通过前面的ELK 部署环境介绍和ELK 集群实现应用程序日志监控步骤介绍,可以大致知道如何使用ELK集群对应用程序日志进行监控,ELK的技术优势也能够让它在应用中变得更加的高效安全。

随机文章