Syslog日志采集

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.mzph.cn/news/704152.shtml

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

相关文章

matplotlib plt.show()却弹出空白框并之后自动退出程序的原因及解决方法

运行下列代码并使用plt.show()进行展示时候&#xff0c;cmd输出如下&#xff1a; 先弹出空白框&#xff1a; 而后直接退出程序&#xff1a; 之前遇到过很多次&#xff0c;由于不输出Traceback&#xff0c;完全不知道什么原因。结果发现是因为没有导入torch导致的。 解决办法就…

C++面试 -操作系统-安全能力:内存溢出、内存泄漏的原因与解决

目录 内存溢出&#xff08;Memory Overflow&#xff09; 内存溢出介绍 解决内存溢出问题的方法 内存泄漏&#xff08;Memory Leak&#xff09; 内存泄露基础 解决内存泄漏问题的方法 内存溢出&#xff08;Memory Overflow&#xff09; 内存溢出介绍 内存溢出是指程序在执…

人工智能在测绘行业的应用与挑战

目录 一、背景 二、AI在测绘行业的应用方向 1. 自动化特征提取 2. 数据处理与分析 3. 无人机测绘 4. 智能导航与路径规划 5. 三维建模与可视化 6. 地理信息系统&#xff08;GIS&#xff09;智能化 三、发展前景 1. 技术融合 2. 精准测绘 3. 智慧城市建设 4. 可…

配置QINQ

1.实验环境&#xff1a; 某运营商接了公司A和公司B的网络&#xff0c;现需要使用qinq技术实现公司A、公司B的私有网络能够使用运营商网络互通。公司A使用灵活的qinq让内部网络的vlan 10映射为公网vlan2进行数据转发&#xff0c;vlan20映射为vlan3进行数据转发。公司B使用基本的…

鸿蒙开发路由跳转踩坑

文章目录 前言常见路由不能跳转问题总结 一、前言 02-25 10:40:10.799 42182-2075594 E C03900/Ace: [manifest_router.cpp(GetPagePath)-(0)] [Engine Log] cant find this page pages 02-25 10:40:10.799 42182-2075594 E C03900/Ace: [page_router_manager.cpp(StartPush…

C++完美转发【gpt】

提问&#xff1a;用极其通俗易懂的文字解释C的完美转发 ChatGPT 好的&#xff0c;让我用非常通俗易懂的方式解释一下 C 中的完美转发。 假设你有一个房子&#xff08;函数&#xff09;&#xff0c;你想把家具&#xff08;参数&#xff09;从一个房间&#xff08;函数&#x…

「哈哥赠书活动 - 48期」-『商业分析思维与实践:用数据分析解决商业问题宣传文案』

⭐️ 赠书 - 《商业分析思维与实践》 ⭐️ 内容简介 本书以业务为导向&#xff0c;详细地讲解了如何通过大数据分析来解决商业问题。其目的在于运用大数据分析思维&#xff0c;帮助读者把学术知识应用于真实的业务场景&#xff0c;解决实际的业务问题。本书基于业务问题&#x…

Arduino单片机基础介绍

&#xff08;本文为简单介绍&#xff0c;内容源于网络和AI&#xff09; Arduino单片机&#xff0c;自2005年诞生以来&#xff0c;已经成为全球爱好者和专业工程师们快速实现创意原型的重要工具。Arduino的普及不仅因其强大的功能和简易的操作&#xff0c;还在于其背后强大的社…

CPC模型源码阅读

CPC模型源码阅读 将高维数据压缩到更紧凑的隐空间中&#xff0c;在其中条件预测更容易建模。 我们使用强大的自回归模型在这个隐空间中预测未来的许多步骤。 依靠噪声对比估计&#xff08;Noise-Contrastive Estimation&#xff09; 来计算损失函数&#xff08;和自然语言模型…

Java计划线程池ScheduledThreadPoolExecutor运行流程和源码分析

1. 计划线程池ScheduledThreadPoolExecutor简介 ScheduledThreadPoolExecutor继承自线程池ThreadPoolExecutor&#xff0c;并在其基础上增加了按时间调度执行任务的功能&#xff0c;如果对ThreadPoolExecutor还不是很熟悉&#xff0c;可以阅读一下这篇文章&#xff1a; Java线…

【C++】---内存管理new和delete详解

一、C/C内存分布 C/C内存被分为6个区域&#xff1a; &#xff08;1&#xff09; 内核空间&#xff1a;存放内核代码和环境变量。 &#xff08;2&#xff09;栈区&#xff1a;向下增长&#xff08;存放非静态局部变量&#xff0c;函数参数&#xff0c;返回值等等&#xff09; …

OCPP 1.6 接入实现文档

一、简介 OCPP&#xff08;Open Charge Point Protocol&#xff09;是一个开放的通信协议&#xff0c;用于充电站&#xff08;Charge Point&#xff09;与中央系统&#xff08;Central System&#xff0c;如充电站管理系统或服务提供商平台&#xff09;之间的通讯。本篇文档将…

纽约纳斯达克大屏投放受众群体有哪些-大舍传媒

纽约纳斯达克大屏投放受众群体有哪些-大舍传媒 1. 纳斯达克大屏的概述 纳斯达克大屏是全球金融市场中最出名的电子交易平台之一。作为一个重要的金融信息传递渠道&#xff0c;纳斯达克大屏吸引了来自全球的投资者的目光。在这个巨大的投放平台上&#xff0c;大舍传媒希望为客…

【Java】线程池总结——干货满满!!!

目录 一 使用线程池的好处 二 Executor 框架 2.1 简介 2.2 Executor 框架结构(主要由三大部分组成) 1) 任务(Runnable /Callable) 2) 任务的执行(Executor) 3) 异步计算的结果(Future) 2.3 Executor 框架的使用示意图 三 (重要)ThreadPoolExecutor 类简单介绍 3.1 Thr…

一文说清VO,BO,PO,DO,DTO的使用场景

在 Java 开发中&#xff0c;VO、BO、PO、DO、DTO 和 Entity 是一些常见的命名约定&#xff0c;它们代表了不同的概念和在不同层次中使用的对象类型。下面我将简要介绍它们的区别&#xff0c;并举例说明&#xff1a; VO&#xff08;View Object&#xff09;&#xff1a; 区别&…

如何使用Axure RP制作web页面并实现无公网ip远程访问——“cpolar内网穿透”

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

Vue知识学习

Vue 是什么&#xff1f; 概念&#xff1a;Vue 是一个用于构建用户界面的渐进式框架 Vue 的两种使用方式: ① Vue 核心包开发 场景:局部 模块改造 ② Vue 核心包& Vue插件工程化开发 场景:整站开发 创建Vue 实例&#xff0c;初始化渲染的核心步骤: 1.准备容器 2.引包(官…

基于java在线调查表单系统

基于java在线调查表单系统 一、演示效果二、特性汇总三、下载链接 一、演示效果 二、特性汇总 多种技术方案&#xff0c;满足不同的技术选型需求完善的浏览器兼容、保证传统客户也能正常使用部署简单&#xff0c;一行命令完成部署更新方便&#xff0c;直接替换原安装文件不用担…

F2图例封装 - BarAndLine

基于vue3 和 F2 3.5.0 <template><div :style"{minHeight: ${height}px,width: 100% }" ref"container"><canvas v-show"showChart" ref"canvas" :id"chartId" class"chart-canval"></canva…

【stm32】hal库-双通道ADC采集

【stm32】hal库-双通道ADC采集 CubeMX图形化配置 程序编写 /* USER CODE BEGIN PV */ #define BATCH_DATA_LEN 1 uint32_t dmaDataBuffer[BATCH_DATA_LEN]; /* USER CODE END PV *//* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 24, "Demo14_4:ADC1 ADC2 S…