手机网站使用微信支付,百度公司怎么样,做投资的网站好,商品网站策划书前言
目前各大公司生产部署很多都是采用的集群微服务的部署方式#xff0c;如果让日志散落在各个主机上#xff0c;查询起来会非常的困难#xff0c;所以目前我了解到的都是采用的日志中心来统一收集管控日志#xff0c;日志中心的实现方案大多基于ELK(即Elasticsearch、L…前言
目前各大公司生产部署很多都是采用的集群微服务的部署方式如果让日志散落在各个主机上查询起来会非常的困难所以目前我了解到的都是采用的日志中心来统一收集管控日志日志中心的实现方案大多基于ELK(即Elasticsearch、Logstash和Kibana三个开源软件的缩写)ELK一般都要配合FileBeat使用其中FileBeat做为采集器Logstash做为日志过滤格式化工具、Elasticsearch做为存储介质、Kibana做为视图解析器四个组件搭配组成日志中心。
已有开源日志采集实现
FileBeat作为一款日志采集工具工作原理就是轮询目标目录来监听文件的变化它是通过文件MD5值得变化来感知文件内容得变化。开源的工具虽然好用但是配置繁琐配置项多有些时候我们可能只是简单的需要将多个服务器的日志打印在同一个主机上为了便于查看。 目前有两种方案来实现日志采集 一种是在应用中集成netty客户端在打日志的时候使用aop的方式在日志后添加发送到netty服务端的逻辑。 第二种和FileBeat的思路一样采用监听轮询文件的方式来监听文件的变化最后将变化内容发送到netty服务端。
Jef-log-tail日志采集工具介绍
概述
Jef-log-tail是一款基于netty的轻量级的日志采集器支持指定文件、指定文件后缀、指定文件目录的采集方式提供了供java程序插码agent的集成方式可以实时采集日志。 Jef-log-tail分为采集端和服务端采集端将采集到的文件传输到服务端服务端根据自定义配置可输出到指定文件中也可以保存到数据库、Redis、Kafka或其他组件中。 仓库地址https://gitee.com/chengzhi2/jef-log-tail
使用方式
客户端配置如下
netty.server.ip 127.0.0.1
# netty.server.ip fe80::f816:3eff:fe17:bb2e/64
netty.server.port 9999
# 与服务端断开后重连次数
netty.max.retry.count13
# 连接超时时间
netty.connect.timeout60
# 心跳间隔时间 单位 秒
netty.heart.interval 10
# 重连最大间隔时间
netty.connect.retry.intervalue 7200# 监听文件的后缀
log.listen.suffix.sql
# 监听文件夹
log.listen.filepathD:\test\test1
# 轮询间隔时间 单位s
log.listen.intervalue.time5log.file.chatsetUTF-8# 是否在发送的消息中添加ip地址
log.add.address true服务端配置如下
# 服务端口
server.port 9999
# 心跳超时断开时间,该配置需要大于客户端的心跳间隔时间
server.heart.read.time20
# 文件存放路径
log.filepath D:\test\all\20221005.txt
# 文件分割原则 单位 M例如10M为一个新文件
log.split.size 10
# 存储方案
save.plan localFile启动方式 服务端启动其中-Djef.properties表示自定义配置文件。
nohup java -Djef.propertiesfile:///home/acctuser/tools/logTail/config/server.properties -jar -Dorg.slf4j.simpleLogger.defaultLogLeveldebug ./LogTail-server-1.0-SNAPSHOT-start.jar ./log/logTail.log 21 客户端启动同上。
开启掘金成长之旅这是我参与「掘金日新计划 · 2 月更文挑战」的第30天点击查看活动详情