Syslog日志采集

news/2025/1/3 6:39:53/

Syslog日志采集

  • 1、Linux rsyslog服务
    • 1.1、安装rsyslog
    • 1.2、配置客户端
    • 1.3、配置服务端
  • 2、Filebeat 服务端
    • 2.1、安装Filebeat
    • 2.2、配置Filebeat
  • 3、Java程序服务端
    • 3.1、服务端代码

Syslog日志采集需要syslog客户端syslog服务端客户端负责发送日志、服务端负责采集。
服务端可以是linux系统的rsyslog服务,也可以是Java程序服务、也可以是第三方Filebaet服务。

1、Linux rsyslog服务

Linux系统一般自带rsyslog服务,可修改配置指定此设备属于客户端还是服务端。

1.1、安装rsyslog

#查询是否安装rsyslog
$ rpm -qa | grep rsyslog
#更新或安装rsyslog
$ sudo yum install rsyslog
#$ sudo apt-get install rsyslog
#$ sudo apk add rsyslog

1.2、配置客户端

客户端虚机地址:192.168.154.111,服务端地址:192.168.154.222
修改/etc/rsyslog.conf,添加如下配置

#第一个*表示所有的日志类别,
#192.168.154.222是服务端地址,
#一个@表示使用UDP协议,两个表示使用@TCP协议
*.*   @192.168.154.222  

重启服务:

systemctl restart rsyslog

1.3、配置服务端

修改/etc/sysconfig/rsyslog配置文件

SYSLOGD_OPTIONS="-r -c 5"

修改/etc/rsyslog.conf 配置文件

#使用UDP接收方式:
$ModLoad imudp
$UDPServerRun 514#日志存放位置:客户端传来的日志记录在remote.log中
*.* /var/log/syslog/remote.log

重启服务:

systemctl restart rsyslog

在客户端测试产生日志

$ logger 'hello world'

此时客户端产生的所有日志都会传输至服务端,并保存在服务端的/var/log/syslog/remote.log文件中

2、Filebeat 服务端

2.1、安装Filebeat

#1、下载
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.3.2-linux-x86_64.tar.gz
#2、解压
tar xzvf filebeat-8.3.2-linux-x86_64.tar.gz

2.2、配置Filebeat

进入安装目录,修改filebeat.yml文件

#输入:日志类型:syslog; 日志格式:rfc3164; 使用协议:udp; 服务端地址(本机ip)和端口
filebeat.inputs:
- type: syslogformat: rfc3164protocol.udp:host: "0.0.0.0:514"#输出:直接打印至控制台,也可输出至es、kafka、logstash等。
output.console:pretty: true#filebeat.inputs:
#- type: syslog
#  format: rfc5424
#  protocol.tcp:
#    host: "localhost:9000"

启动filebeat:

./filebeat -e -c filebeat.yml

客户端配置都一样,同上文 1.2、配置客户端
即可采集到客户端产生的所有系统日志。

Filebeat日志采集详细使用说明:Filebeat+Kafka+ELK日志采集(二)——Filebeat

3、Java程序服务端

引入syslog依赖包

<dependency><groupId>org.graylog2</groupId><artifactId>syslog4j</artifactId><version>0.9.60</version>
</dependency>

3.1、服务端代码

//传入UDP协议参数实例化具体服务器SyslogServerIF serverIF = SyslogServer.getInstance(SyslogConstants.UDP);//从服务器里获取配置信息变量SyslogServerConfigIF config = serverIF.getConfig();//设置监听地址0.0.0.0为监听网络内全部地址//设置监听地址为514,514为syslog默认地址config.setHost("0.0.0.0");config.setPort(514);//放入接收方法config.addEventHandler(new SyslogServerSessionEventHandlerIF() {@Overridepublic Object sessionOpened(SyslogServerIF syslogServerIF, SocketAddress socketAddress) {return null;}@Overridepublic void event(Object o, SyslogServerIF syslogServerIF, SocketAddress socketAddress,SyslogServerEventIF syslogServerEventIF) {System.out.println("receive from:" + socketAddress + "	message" + syslogServerEventIF.getMessage());}@Overridepublic void exception(Object o, SyslogServerIF syslogServerIF, SocketAddress socketAddress, Exception e) {}@Overridepublic void sessionClosed(Object o, SyslogServerIF syslogServerIF, SocketAddress socketAddress, boolean b) {}@Overridepublic void initialize(SyslogServerIF syslogServerIF) {}@Overridepublic void destroy(SyslogServerIF syslogServerIF) {}});//初始化服务器serverIF.initialize(SyslogConstants.UDP, config);//设置服务器变量,用来外部调用关闭setServerIF(serverIF);//服务器启动serverIF.run();System.out.println("server start udp");

客户端配置都一样,同上文 1.2、配置客户端
服务端代码启动后,即可接收客户端所有系统日志。


http://www.ppmy.cn/news/1363933.html

相关文章

自定义神经网络二之模型训练推理

文章目录 前言模型概念模型是什么&#xff1f;模型参数有哪些神经网络参数案例 为什么要生成模型模型的大小什么是大模型 模型的训练和推理模型训练训练概念训练过程训练过程中的一些概念 模型推理推理概念推理过程 总结 前言 自定义神经网络一之Tensor和神经网络 通过上一篇…

Android Jni的介绍和简单Demo实现

Android Jni的介绍和简单Demo实现 文章目录 Android Jni的介绍和简单Demo实现一、JNI的简单介绍JNINDKJni的开发背景&#xff1a;**JNI在 Android 开发里的主要应用场景&#xff1a;** 二、JNI的简单Demo1、Demo主要界面和效果展示2、CMake编译加载文件add_library 指令的加载库…

xlsx处理库对比总结

文章目录 XInt编译库vcpkgcmake(未成功) libxlsxwriterOpenXLSXLibXLxlsliblibxlsBasicExcelxlsxioOLE XInt 编译库 vcpkg 文件夹名备注buildtrees包含从中生成每个库的源的子文件夹docs文档和示例download已下载的工具或源的缓存副本。 运行安装命令时&#xff0c;vcpkg 会…

远程英文会议常用表达

1. 开场&#xff1a;欢迎参加者 Welcome everyone, today’s meeting is about… 欢迎大家&#xff0c;今天的会议是关于… Welcome to today’s meeting. There are the issues that we want to talk about… 欢迎参加今天的会议。我们要讨论的问题有… Welcome, everyone. T…

mysql的隔离级别,和实现

参考链接 https://xiaolincoding.com/mysql/transaction/mvcc.html#%E4%BA%8B%E5%8A%A1%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB%E6%9C%89%E5%93%AA%E4%BA%9B 事务特性&#xff08;ACID&#xff09; 原子性&#xff08;Atomicity&#xff09;&#xff1a; 事务是原子的&…

抠图去除背景的方法有哪些?这些方法交给你

在昔日&#xff0c;抠图去背是一项冗长而繁复的劳作&#xff0c;需耗费大量时间和精力。然而&#xff0c;随着数字科技的日新月异&#xff0c;抠图去背已成为摄影、设计、广告等诸多领域中不可或缺的技能。摄影师和设计师们需运用各类工具&#xff0c;如画笔、橡皮擦、魔术棒等…

C++ STL :红黑树rb_tree源码剖析

STL关联式容器map、set、multimap、multiset&#xff0c;绝大部分操作如插入、修改、删除、搜索&#xff0c;都是由其内含的红黑树来完成的。 红黑树数据结构和算法的讲解见&#xff1a; 数据结构与算法&#xff1a;红黑树讲解-CSDN博客 我下面会总结 STL中rb_tree怎么实现…

【大数据】Flink SQL 语法篇(四):Group 聚合、Over 聚合

Flink SQL 语法篇&#xff08;四&#xff09;&#xff1a;Group 聚合、Over 聚合 1.Group 聚合1.1 基础概念1.2 窗口聚合和 Group 聚合1.3 SQL 语义1.4 Group 聚合支持 Grouping sets、Rollup、Cube 2.Over 聚合2.1 时间区间聚合2.2 行数聚合 1.Group 聚合 1.1 基础概念 Grou…