file2Udp增量日志转出Udp简介

news/2024/5/18 13:38:35 标签: udp, 网络协议, 网络

54f3f98c7b2221a2fedc69bef786f1a8.png      

https://gitee.com/tianjingle/file2udp

很多时候服务产生的日志需要进行汇总,这种统一日志处理的方式有elb,而且很多日志组件也支持日志转出的能力。但是从广义上来说是定制化的,我们需要一个小工具实现tail -f的能力,将增量日志转到udp,然后通过logstash进行集中汇总进行外发。

77ba9db0c599f23193d7a5dc5f5105d4.png

基于此,作者利用周末开发file2Udp工具,实现日志文件增量tail -f能力,以求侵入式采集具有更大的覆盖面。

https://gitee.com/tianjingle/file2udp/releases

0b240c55d19d7c468540f16133b30bb2.png

file2Udp原理

类似于CAS原理,给予检测时间片之内文件变动,通过指针滑动读时间片内的增量日志,实现`tail -f`的能力。目前支持`window、linux(x86)、linux(arm)`版本.file2udp开发采用第三方组件:

github.com/hpcloud/tail
  1. https://gitee.com/tianjingle/file2udp/releases

  2. 找到适合自己的版本并下载

  3.  编辑`conf`文件夹下的配置文件server.ini

[system]
collector.default.files = C:\Users\Administrator\GolandProjects\awesomeProject\1.txt,C:\Users\Administrator\GolandProjects\awesomeProject\2.txt
collector.default.addr = 127.0.0.1:8888
collector.test.files = C:\Users\Administrator\GolandProjects\run.txt,C:\Users\Administrator\GolandProjects\test.log
collector.test.addr = 127.0.0.1:8889

配置说明

collector.类型.files=需要监听的文件,多个文件用,隔开
collector.类型.addr=当前类型的文件需要转出的udp地址

4. 根据版本执行run.sh、run.vbs启动日志转出,执行stop.sh、stop.vbs停止日志.
* 注意: 配置变动均需重启file2Udp进程


功能测试

  1.解压window版本,如下:

88bc99982b33f2bc1fc3e2f87dc6d8db.png

2.配置监听文件

0f30b1d2524a85da1980be0dd3d854ad.png

c35b8e103492cb4adb4608326d1e4c97.png

3.启动file2Udp.exe进程

44b27c84e13bea045cdbbb783d002ee1.png

4.启动udp服务端,编辑被监听文件

70ae76cc90be8c51ea55fc5072023979.png


http://www.niftyadmin.cn/n/5179182.html

相关文章

cesium 自定义顶点属性

// 创建平面const planeGeometry new Cesium.PlaneGeometry({vertexFormat: Cesium.VertexFormat.POSITION_AND_ST, // 位置和UV});const geometry Cesium.PlaneGeometry.createGeometry(planeGeometry);// [3]-----[2]// | |// [0]-----[1]geometry.attributes.color…

区块链拆分

随着区块链技术的发展和普及,去中心化钱包逐渐成为数字货币领域的重要工具。去中心化钱包不仅具有高度安全性和隐私保护能力,还可以通过智能合约和开源技术实现定制化功能。本文将探讨去中心化钱包定制开发的基本概念、优势、流程和前景。 一、去中心化钱…

JS中sort排序

在我们JS排序中,有许多排序的方法,比如冒泡排序、选择排序等等。这次我为大家介绍一下sort排序! sort 按照 Unicode code 位置排序,默认升序 默认情况下,sort()会按照升序重新排序数组,即最小值在前最大值…

LightDB23.4支持mysql aes_encrypt/aes_decrypt/hex/unhex函数

背景介绍 为了兼容mysql数据库的功能,在LightDB23.4版本上支持hex/unhex/aes_encrypt/aes_decrypt函数。 函数原型如下: hex(data bytea) returns textunhex(data varchar) returns byteaaes_encrypt(data bytea, key bytea) returns byteaaes_encryp…

qt+opengl 着色器VAO、VBO、EBO(四)

文章目录 一、顶点着色器和片段着色器代码分析1. 着色器12. 顶点着色器2 二、使用步骤1. 使用着色器12. 使用着色器23. 在着色器2中使用EBO 三、完整代码 一、顶点着色器和片段着色器代码分析 1. 着色器1 用到的坐标矩阵, 四个四边形顶点坐标 float vertices_data[36] {// 所…

2023最新electron 进程间通讯的几种方法

数据传递(旧) 渲染进程发数据到主进程 // 按钮事件 const handleWebRootPathClick () > {ipcRenderer.send(open_dir) }// main.ts中接收 ipcMain.on(open_dir, () > {console.log(recv ok) }) 主进程发数据到渲染进程 // main.ts中发送数据 …

Perl的LWP::UserAgent库爬虫程序怎么写

Perl的LWP::UserAgent库是一个用于发送HTTP请求的Perl模块。它可以用于编写Web爬虫、测试Web应用程序、自动化Web操作等。以下是一个简单的使用LWP::UserAgent库发送HTTP GET请求的Perl脚本的例子: #!/usr/bin/perluse strict; use warnings; use LWP::UserAgent;# …

道路交通仿真方案【SUMO + TraCI + Python】

“城市交通模拟”(SUMO)是一个开源、高度可移植、微观和连续的交通模拟包,旨在处理大型网络(SUMO 文档)。 TraCI 是“交通控制接口”模块的简称,它可以访问正在运行的道路交通模拟,以检索模拟对…