Linux系统之rsyslog配置

article/2025/10/5 22:23:38

目录

Rsyslog简介

Linux配置rsyslog

配置实验:

实验环境:

实验步骤:

实验准备:

针对UDP:

针对TCP:

针对RELP:

结果验证:

1、UDP:

2、TCP:

3、RELP:


Rsyslog简介

         Rsyslog是一个 syslogd 的多线程增强版,在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL, PostgreSQL、Oracle等)、日志内容筛选、定义日志格式模板等。除了默认的udp协议外,rsyslog还支持tcp协议来接收日志。

Linux配置rsyslog

rsyslog一般是预先就安装于linux系统的发行版上的,rsyslog后台进程默认不能接受外部信息的,但可以通过配置它的配置文件/etc/rsyslog.conf来配置。

1、打开/etc/rsyslog.conf文件,查询和去掉它们行首的#字符来得到去注释化后的下两行

$ModLoad imudp 
$UDPServerRun 514

这个是允许rsyslog后台进程在udp协议的514端口上接收日志信息。UDP比TCP快,但是其是不可靠的数据传输协议。如果你想要可靠的传输,那你要使用没有注释的下面两行

$ModLoad imtcp 
$InputTCPServerRun 514

注意:rsyslog后台进程是可以同时监听TCP/UDP连接的。

 

接下来需要创建一个模板,告诉rsyslog后台进程怎样记录从其它客户端接收的信息。

2、打开/etc/rsyslog.conf文件,在GLOBAL DIRECTIVES内容块的前面追加如下模板

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs 
& ~

$template RemoteLogs指令(“RemoteLogs” 可以为其它的描述的名字)迫使rsyslog后台进程隔开本地/var/log/下文件去写日志信息。而日志文件名则依据发送远程日志的机器名及应用程序名来定义。第二行(*.*  ?RemoteLogs)暗含运行用模板RemoteLogs于所有的接收日志。

& ~则告诉rsyslog后台进程停止进一步的去处理日志信息,即不对它们进行本地化写入,它是代表一个重定向规则。如果没有这一行,则意味着接收到的日志会写入两次,一次如前两行写的方式写,第二次则以本地日志记录的方式写入。运行这个规则的另一个结论则是日志服务器自己的日志信息只会写入到依照机器主机名命名的文件中。

 

3、重启rsyslog服务

在Debian,Ubuntu或CentOS/RHEL 6下的方式如下:

 service rsyslog restart

在Fedora 或 CentOS/RHEL 7下的方式如下:

 systemctl restart rsyslog

 

4、通过过netstat命令来验证rsyslog后台进程是否运行。

 netstat -pantu | grep rsyslog

其输出应该像下面这种情况,rsyslog后台进程在UDP的端口上进行监听。

udp    0 0    0.0.0.0:514    0.0.0.0:*      551/rsyslogd 
udp6    0 0    :::514        :::*          551/rsyslogd

如果rsyslog后台进程设置于监听TCP的连接,则输出应该是像下面的情况。

tcp    0 0    0.0.0.0:514  0.0.0.0:*    LISTEN    1891/rsyslogd 
tcp6    0 0    :::514        :::*          LISTEN    1891/rsyslogd

5、建立所有的配置后,就可以开启服务和通过tail -f命令来观察在rsyslog日志服务器上的日志文件。

配置实验:

  • 实验环境:

服务端:Rsyslog Server

客户端:Rsyslog Client

  • 实验步骤:

实验准备:

重命名客户端主机名,以区分服务端与客户端区别

重启系统生效

分别设置iptables清空策略,设置selinux临时禁用

查看是否为同一网段,若不是则设置为同一网段

分别在服务端和客户端安装Rsyslog

针对UDP:

1、服务端设置:

在服务端取消对UDP的注释

开启传输端口监听

重启rsyslog服务,并查看udp端口

2、客户端设置

指定日志传输方式,并添加传输IP端口

重启rsyslog服务

针对TCP:

1、服务端:

对上述步骤中的UDP进行注释,重复上述步骤操作TCP

开启传输端口监听,重启rsyslog

查看TCP端口

                           

2、客户端:

重复UDP操作,并添加传输IP端口

注意:UDP为一个@,TCP为两个@

重启rsyslog服务

针对RELP:

1、服务端:

重复上述客户端操作,恢复对UDP,TCP的注释,在下面新增如下

编辑传输监听,重启rsyslog服务

查看relp端口

2、客户端:

重复上述客户端操作,并添加如下

重启rsyslog服务

  • 结果验证:

1、UDP:

先在服务端输入tail -f /var/log/messages

在客户端输入logger -t kern -p err "…"

结果如下:

2、TCP:

       重复对UDP的验证操作

       

       

3、RELP:

                     重复上述验证操作

                     

                     

 

 


http://chatgpt.dhexx.cn/article/Q6cu1hWG.shtml

相关文章

rSyslog日志

日志服务管理 系统日志管理 系统日志介绍 日志的作用: 软件的运行记录软件运行排错运行分析 日志记录的内容包括: 历史事件:时间,地点,人物,事件日志级别:事件的关键性程度,Lo…

Linux rsyslog详细介绍

转自:http://llei623.blog.163.com/blog/static/852075042010111482731766/ 作者:llei WEB服务器多的时候检查日志是一件痛苦的事情,用 perl 脚本登录到服务器上grep一些错误信息两次之后就觉得是纯体力活,想办法偷懒。 准备弄…

Linux系统日志rsyslogd

Linux系统日志rsyslogd Linux系统日志 Linux上使用rsyslogd守护进程接收用户进程输出的日志和接收内核日志。 用户进程是通过syslogd函数生成系统日志。该函数将日志输出到一个UNIX本地域socket类型(AF_UNIX)的文件/dev/log中,rsyslogd则监听该文件以…

Linux之 rsyslog、日志轮转

1.rsyslog 1.1rsyslog介绍 Rsyslog的全称是 rocket-fast system for log,它提供了高性能,高安全功能和模块化设计。rsyslog能够接受从各种各样的来源,将其输入,输出的结果到不同的目的地。rsyslog可以提供超过每秒一百万条消息给…

rsyslog日志服务简介

1、简介 rsyslog是一个linux系统日志服务的工具,主要用来监控收集系统从开机运行之后所发生的所有日志,包括内核日志,服务日志,应用日志等等;记录的日志全部都写到/var/log下面,常用的有dmsg(内…

Linux 日志管理 Rsyslog Loganalyzer

Syslog常被称为系统日志或系统记录,是一种用来在互联网协议(TCP/IP)的网上中传递记录档消息的标准。这个词汇常用来指涉实际的syslog 协议,或者那些提交syslog消息的应用程序或数据库。 syslog协议属于一种主从式协议&#xff1a…

建立 rsyslog 日志服务器

文章目录 1. rsyslog 介绍2. 实验目的3. 实验环境4. 配置服务端5. 配置客户端6. 在服务端验证效果 1. rsyslog 介绍 rsyslog 是一个快速处理收集系统日志的开源程序,提供了高性能、安全功能和模块化设计。rsyslog 是 syslog 的升级版,它将多种来源输入输…

rsyslog配置

rsyslog配置文件详解: #### MODULES #### #定义日志的模块。 $ModLoad imuxsock #imuxsock为模块名,支持本地系统日志的模块。 $ModLoad imjournal #imjournal为模块名,支持对系统日志的访问。 #$ModLo…

syslog 和 rsyslog

1. 介绍 rsyslog可以简单的理解为syslog的超集,在老版本的Linux系统中,Red Hat Enterprise Linux 3/4/5默认是使用的syslog作为系统的日志工具,从RHEL 6 开始系统默认使用了rsyslog。 其特性包括: 支持输出日志到各种数据库&…

rsyslog日志服务详解

rsyslog日志服务详解 原文出处:http://blog.51cto.com/6638225/1862902 内容: 1、rsyslog日志服务简介 2、rsyslog的配置详解 3、实现日志服务器收集日志及last、lastb、dmseg命令的使用 4、实现日志存储在mysql中 一、rsyslog日志服务简介 ​ 日…

【Linux】rsyslog日志服务(配置,测试、日志转储)

一、rsyslog简介 Rsyslog的全称是 rocket-fast system for log ,可用于接受来自各种来源的输入,转换 它们,并将结果输出到不同的目的地。 它提供了高性能、强大的安全功能和模块化设计。虽然rsyslog最初是一个常规的系 统日志,但它已经发展…

Linux原生日志系统Rsyslog详解

一、概述 Rsyslog 是一个 syslogd 的多线程增强版,依然基于Syslog协议(linux6之前默认使用syslog程序,centos6用rsyslog所取代)完成系统日志的处理转发,官方形容它是一个极速(如火箭般快速)的日…

N皇后问题-回溯法-C语言

关于对N皇后问题和回溯法的理解 个人非常推荐下面这个视频:算法与数据结构,回溯法求解八皇后,最经典的递归问题_哔哩哔哩_bilibili八皇后问题是计算机科学中最为经典的问题之一,该问题由国际西洋棋棋手马克斯贝瑟尔于1848年提出。…

Java——N皇后问题

题目链接 leetcode在线oj题——N皇后 题目描述 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff…

N 皇后问题

n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 Q 和 . 分别代表了皇后和…

N皇后问题(C++)

n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 输入格式 共一行,包含整数 n。 输出…

回溯法求解n皇后问题

一、实验目的 1.掌握能用回溯法求解的问题应满足的条件; 2.加深对回溯法算法设计方法的理解与应用; 3.锻炼学生对程序跟踪调试能力; 4.通过本次实验的练习培养学生应用所学知识解决实际问题的能…

N皇后问题(java)

n皇后问题是一个以国际象棋为背景的问题:在nn的国际象棋棋盘上放置n个皇后,使得任何一个皇后都无法直接吃掉其他的皇后,即任意两个皇后都不能处于同一条横行、纵行或斜线上。 我们通过回溯的方法将所有可能的情况遍历一遍 假设现在有一个4*4…

N皇后问题(Python实现)

n 皇后问题研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 也就是说:存在一个N*N的棋盘,要放N个棋子,每个棋子不同行,不同列,不同(正反)对角线&…

数据结构之N皇后问题(C语言)

一、N皇后问题的概念 n 皇后问题,研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 一个皇后可以向水平、垂直以及向斜对角方向移动,如果一个皇后出现在另一个皇后的同一行,同一列或者斜对角&#x…