Skip to content

lileichinasoft/ELK_Tutorial

 
 

Repository files navigation

ELK_Tutorial

ELK日志收集(UDP+LVS)集群的部署教程

为了更好的收集线上服务器的应用日志,迅速定位集群中的问题服务器,我们采用了logstash + elasticsearch + kibana 的方案, 利用log4jappender 将远程服务器的日志以UDP协议实时发送到日志服务器,并通过LVS+Keepalived 方式做负载均衡,建立一个可横向扩展的高可用日志分析系统。我们利用这个系统,排查出很多在生产环境下出现的应用错误,并通过对ELK的调优,使得单台机器支持亿级别的日志全文搜索。同时还编写自动程序定期从elasticsearch中获取数据,当某一时段内错误数达到一定的值时,统计错误类型,绘制相关图表,汇总集群服务器出错情况,会执行邮件报警通知相关人员,并给出快速的解决方案。

集群架构图如下:

集群搭建方法请参考ELK_Tutorial项目各文件夹中的安装说明.md

最终的系统使用效果图如下:

客户端应用接入步骤:打开应用的log4j.properties文件,加入下面的配置:

log4j.rootLogger=ERROR,fileout,gelf
log4j.appender.gelf=biz.paluch.logging.gelf.log4j.GelfLogAppender
log4j.appender.gelf.Threshold=ERROR
log4j.appender.gelf.Host=udp:日志收集服务器ip
log4j.appender.gelf.Port=12201
log4j.appender.gelf.Version=1.0
log4j.appender.gelf.Facility=您的应用名#您的负责人名(拼音,将用于邮件通知,多人用英文逗号隔开)
log4j.appender.gelf.TimestampPattern=yyyy-MM-dd HH:mm:ss,SSSS
log4j.appender.gelf.MaximumMessageSize=8192
log4j.appender.gelf.extractStackTrace=true

依赖包 logstash-gelf-1.6.0.jarjson-simple-1.1.1.jar 可以从客户端所需jar包文件夹中下载,也可以从maven仓库中下载

<dependency>
	<groupId>biz.paluch.logging</groupId>
	<artifactId>logstash-gelf</artifactId>
	<version>1.6.0</version>
</dependency>

ELK官方下载地址:Elasticsearch下载Logstash下载Kibana下载

About

ELK日志收集(UDP+LVS)集群的部署教程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%