Jef-log-tail日志采集工具使用说明

news2024/11/17 9:28:44

介绍

jef-log-tail是一款基于netty实现的日志采集工具,支持指定目录、指定文件、指定后缀的动态持续日志采集,日常使用场景如:集群部署后将多台主机的日志集中存放到一台日志服务器上,或者将日志统一输出到数据库、redis、kafka、es等存储组件上供后续分析查看。

优缺点

jef-log-tail是一款轻量级的日志采集工具,使用简单,对比现有的比较成熟的FileBeat有如下优点:
①、配置文件内容简单,学习成本低
②、支持自定义输出环境,目前支持本地文件、mysql、oracle、redis、Kafka、MQ
③、支持自定义文件拆分规则,比如收集到的文件每100M为一个新文件。
④、由于底层采用java实现,目前绝大部分主机都有java环境,所以不需要额外安装其他环境,启动方式简单使用java -jar即可运行。
⑤、提供agent的方式与java程序紧密结合实现日志实时传输
⑥、保存到数据库时支持自定义插入语句:insert into xxx values(?);
缺点:
①、目前仅笔者自己所在的团队有使用,原因是笔者所在的团队维护一个比较老的项目,项目暂时没有接入公司日志中心,所以日志收集目前依赖jef-log-tail,由于目前使用者少,一些问题可能并未暴露,需日后逐渐完善。
②、jef-log-tail使用长轮询的方式监听文件目录可能会产生一些性能损耗。但是目前使用下来没有发现问题。

Jef-log-tail使用

①、下载代码后使用maven打包log-tail-client和log-tail-server.
②、将log-tail-client做为采集端部署到日志产生源。
③、将log-tail-server做为服务器端部署到任意一台机器。
④、修改配置文件。见下文。
⑤、启动服务

nohup java -Djef.properties=file:///home/acctuser/tools/logTail/config/server.properties -jar -Dorg.slf4j.simpleLogger.defaultLogLevel=debug ./LogTail-server-1.0-SNAPSHOT-start.jar > ./log/logTail.log 2>&1 &

客户端配置如下:

netty.server.ip = 127.0.0.1
# netty.server.ip = fe80::f816:3eff:fe17:bb2e/64
netty.server.port = 9999
# 重连次数
netty.max.retry.count=13
# 连接超时时间
netty.connect.timeout=60
# 心跳间隔时间 单位 秒
netty.heart.interval = 10
# 重连最大间隔时间
netty.connect.retry.intervalue = 7200

# 监听文件的后缀
log.listen.suffix=.sql
# 监听文件夹
log.listen.filepath=D:\test\test1
# 轮询间隔时间 单位s
log.listen.intervalue.time=5

log.file.chatset=UTF-8

# 是否添加ip地址
log.add.address = true

服务端配置如下:

# 服务端口
server.port = 9999
# 心跳超时断开时间,该配置需要大于客户端的心跳间隔时间
server.heart.read.time=20
# 文件全路径
log.filepath = D:\test\all\20221005.txt
# 文件分割原则 单位 M
log.split.size = 10
# 存储方案,目前支持:redis、simpledb、localfile、kafka
save.plan = redis
# 数据库配置,可自定义表,并指定插入语句
db.username=czMysql
db.password=123456
db.url=jdbc:mysql://127.0.0.1/postgirl?
db.driver=com.mysql.jdbc.Driver
# db.insert.sql=insert into test_table(conent) values(?)

# reids配置
redis.host=127.0.0.1
redis.port= 6379
redis.password= czRedis
redis.maxactive= 100
redis.maxwait= 10000
redis.maxidle=40
redis.timeout= 1000

使用效果:

1、将输出指定为本地文件:

image.png

2、将输出指定为redis

13e817490256e89c80c32750f734b23.png

3、将输出指定为simpledb.
mysql:

-- 建表语句如下:
CREATE TABLE JEF_LOG_TAIL(
  so_nbr INT NOT NULL AUTO_INCREMENT COMMENT '流水号',
  content TEXT COMMENT '内容',
  PRIMARY KEY (so_nbr)
) COMMENT = '日志存储表';

f992ade923076a1363b3e1ec069f9e2.png

oracle:

-- 建表语句如下:
CREATE TABLE JEF_LOG_TAIL(
  so_nbr INT,
  content CLOB
);
COMMENT ON TABLE JEF_LOG_TAIL IS '日志存储表';
COMMENT ON COLUMN JEF_LOG_TAIL.so_nbr IS '流水号:';
COMMENT ON COLUMN JEF_LOG_TAIL.content IS '内容:';

image.png

image.png

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第31天,点击查看活动详情

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32实战项目-温湿度传感器

程序功能: 1、软件模拟I2C协议与SHT30数字温湿度传感器通讯; 2、数码管显示环境温湿度; 3、串口打印环境温湿度。 目录 一、硬件电路 二、技术讲解 2.1IIC简介 2.2 IIC总线协议 2.2设备接入 三、SHT30数字温湿度传感器 3.1性能介绍 …

Rollup 实践:插件生态和实用技巧(续)

在前面的文章中,我们已经了解了 Rollup 的性能优化和高级用法。本篇文章将继续探讨 Rollup 的插件生态和实用技巧。 插件生态 Rollup 拥有一个丰富的插件生态,下面我们介绍几个实用的插件: rollup-plugin-terser:使用 Terser 压…

FlowForge 使用教程 团队资源管理

前言 本篇文章结合FF的操作来给大家解释一下,FF在团队管理上都与那些资源可以操作。 团队创建 使用超管第一次登录FF平台,默认什么资源都没有,你只能先去创建一个团队才能继续往下操作。 在FF平台上,团队就代表一个租户,也是一种资源隔离的手段。 创建团队可以通过右上…

Rollup 实践:性能优化和高级用法(续)

在前面的文章中,我们已经了解了 Rollup 的基本概念和配置。本篇文章将继续探讨 Rollup 的性能优化和高级用法。 懒加载 通过 Rollup 的代码分割功能,我们可以实现懒加载,从而减小初始页面加载时间。假设我们有一个动态导入的模块 dynamic.j…

vue项目用后端返回的文件流实现docx和pdf文件预览

前端docx和pdf文件预览实现效果图docx-preview文件预览pdf文件预览写这篇文章的目的,是因为我比较懒,想把代码记录一下,方便日后使用;哈哈,如果你也需要,也可以复制粘贴啊,为了方便自己和需要的…

windows10开发环境下部署kafka消息服务

下载kafka,官方地址https://kafka.apache.org/downloads 百度网盘链接:https://pan.baidu.com/s/1h3iXtfzEIBoajGPId5Dcag?pwd0000 提取码:0000直接把下载的文件解压到某个盘的根目录,要不然后面的命令就会遇到“命令行过长”的报…

linux 系统的一些使用小技巧

实现RedHat非正常关机的自动磁盘修复 先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下: AUTOFSCK_DEF_CHECKyes PROMPTyes 改变文件或目录之最后修改时间(变为当前时间) 执行格式:touch name ( name 可为文件或目录名称…

Matlab vs Python:哪个更适合数据分析和可视化?

当谈到数据分析和可视化时,许多人会思考使用哪种编程语言来实现这一目标。在IT行业,最流行的两种编程语言是Matlab和Python。这两种语言都有广泛的应用,但是对于初学者来说,选择哪种语言可能会有些困难。在本文中,我们…

【ENVI】监督分类

好久没用ENVI了,用起来有点生疏,这里记录一下操作流程。。。 基础数据:从91卫图下载相应地区影像数据。 下载影像推荐:地理空间数据云、91卫图、水经注等。 1、加载tif数据 2、样本选择 (1)在图层管理器…

Baumer工业相机堡盟工业相机如何通过BGAPISDK里的工具函数来计算工业相机的实时帧率(C#)

Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来计算相机的实时帧率(C#)Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率计算方式在BufferEvent声明显示FrameID设计显示帧率的函数Baumer工业相机通过BGAPI SDK计算帧率的优势​B…

亚马逊云科技:智能家居时代已来,如何抢滩海外市场的“真空区”?

在充满着不确定性的2022年,电子消费市场一片哀鸿遍野,智能家居行业却如同逆水行舟,显示出稳健的发展之势,宣告着智能家居时代已来。在2023年3月24日举办的“智能家居,出海闭门会”上,为进一步发挥产业带潜力…

微前端--qiankun原理概述

demo放最后了。。。 一、微前端 一》微前端概述 微前端概念是从微服务概念扩展而来的,摒弃大型单体方式,将前端整体分解为小而简单的块,这些块可以独立开发、测试和部署,同时仍然聚合为一个产品出现在客户面前。可以理解微前端是…

2023.04.16 学习周报

文章目录摘要文献阅读1.题目2.摘要3.简介4.Dual-Stage Attention-Based RNN4.1 问题定义4.2 模型4.2.1 Encoder with input attention4.2.2 Decoder with temporal attention4.2.3 Training procedure5.实验5.1 数据集5.2 参数设置和评价指标5.3 实验结果6.结论MDS降维算法梯度…

亚马逊listing如何提高?测评要满足什么条件?

为什么有些大卖就可以卖得很好,而有些卖家始终都做不起来?其中的影响因素之一就是listing,listing页面做得好,转化率自然就提高了。而这其中的原理还需要卖家去具体了解亚马逊的算法。 首先来看一下亚马逊最大的流量搜索&#xf…

第十三届蓝桥杯Web组国赛真题 开学礼物大放送

介绍 又是一年开学季,蓝桥为大家准备了开学礼物,想制作一个页面来宣传一下该活动。 本题需要按照要求完成一个以“开学季”为主题的页面布局。 准备 开始答题前,需要先打开本题的项目代码文件夹,目录结构如下: ├─…

微服务-微服务为什么要用到 API 网关

什么是微服务 微服务架构(通常简称为微服务)是指开发应用所用的一种架构形式。通过微服务,可将大型应用分解成多个独立的组件,其中每个组件都有各自的责任领域。 在处理一个用户请求时,基于微服务的应用可能会调用许多…

C语言标准CRC-16校验函数

C语言标准CRC-16校验函数 CRC-16校验产生2个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。获得的校验码是随数据绑定获得。 CRC校验原理及标准CRC-8校验函数可参考:C语言标准CRC-8校验函数。…

48.现有移动端开源框架及其特点—MDL(mobile-deep-learning)

48.1 功能特点 一键部署,脚本参数就可以切换ios或者android支持iOS gpu运行MobileNet、squeezenet模型已经测试过可以稳定运行MobileNet、GoogLeNet v1、squeezenet、ResNet-50模型体积极小,无任何第三方依赖。纯手工打造。提供量化函数,对32位float转8位uint直接支持,模型…

嵌套列表,与摩尔投票进阶

title: “Python fishC 22” author: “hou wei” date: “2023-04-16” output: html_document knitr::opts_chunk$set(echo TRUE)问答题 0.请问 运算符和 is 运算符有什么区别呢? 在Python中运算符用于比较两个变量的值是否相等,而is运算符用于判断…

2023年MathorCup数模A题赛题详细思路

MathorCup俗称妈杯,是除了美赛国赛外参赛人数首屈一指的比赛,而我们的妈杯今天也如期开赛。今年的妈杯难度,至少在我看来应该是2023年截至目前来讲最难的一场比赛。问题的设置、背景的选取等各个方面都吐露着我要难死你们的想法。难度是恒定的…