如何配置rsyslog实现将非标端口接收到的网络设备syslog精准重写并规范化ISO时区

夜丽大大_3736

夜丽大大_3736

2026-07-06

330人浏览

原创

rsyslog可通过原生模块实现非标端口日志接收、多厂商格式解析及iso时区标准化:一、为5140等端口单独配置imudp/imtcp输入并打标;二、用mmnormalize提取原始时间,显式设置$!timegenerated与$!timezone;三、用date-rfc3339模板输出标准iso格式。

如何配置rsyslog实现将非标端口接收到的网络设备syslog精准重写并规范化iso时区

要让 rsyslog 精准接收非标端口(比如 5140、601 等)的日志,并对思科、华为等设备发来的非标准格式日志做字段级重写、时区统一为 ISO 格式(如 2026-05-23T16:51:22+08:00),关键不在改端口本身,而在于协议层隔离 + 解析层校准 + 输出层标准化。整个过程不依赖外部脚本,全部由 rsyslog 原生模块完成。

一、监听非标端口并隔离流量

rsyslog 支持任意端口监听,但必须为每个端口单独声明输入模块和规则,避免与默认 514 端口混用导致解析冲突。
  • 启用专用模块(推荐使用新版 module() 语法,兼容性更好):

    module(load="imudp")
    input(type="imudp" port="5140" name="netdev-udp-5140")
    module(load="imtcp")
    input(type="imtcp" port="5140" name="netdev-tcp-5140")

  • 为该端口日志打上唯一标记,便于后续路由:

    if $inputname == 'netdev-udp-5140' or $inputname == 'netdev-tcp-5140' then {
      set $.src_port = "5140";
      set $.is_netdev = "true";
    }

二、用 mmnormalize 提取原始时间并覆盖 timegenerated

网络设备日志自带的时间戳(如 `May 23 16:51:22` 或 `2026-05-23 16:51:22 BEIJING`)是本地时区,rsyslog 默认不信任它。需强制提取、转换、注入。
  • 加载解析模块:

    意兔-AI漫画相机
    意兔-AI漫画相机

    一款AI图像与设计工具,主要用于照片变漫画手绘,做周边好物,适合需要提升相关任务效率的用户。

    下载

    module(load="mmnormalize")

  • 在 /etc/rsyslog.d/20-netdev-parse.conf 中定义规则(适配多厂商):

    rule=(%{date=~"\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\b"}&%{time=~"\d{2}:\d{2}:\d{2}"}&%{tz=~"[A-Z]{3,4}"}) → json
    rule=(%{iso_date=~"\d{4}-\d{2}-\d{2}"}&%{iso_time=~"\d{2}:\d{2}:\d{2}"}&%{tz=~"[A-Z]+|\+[0-9]{2}:[0-9]{2}"}) → json

  • 提取后立即修正时间字段(关键!):

    if $.parsed_time != "" then {
      set $!timestamp = $.parsed_time;
      set $!timezone = "+08:00"; # 强制东八区
      set $!iso_time = $!timestamp + $!timezone;
      set $!timegenerated = $!iso_time;
    }

三、输出为标准 ISO 时区格式日志行

使用 `$template` 定义带 RFC3339 时间戳的格式,且确保 `timegenerated` 被实际采用(不是 `timereported`):

$template ISO8601Format,"%timegenerated:::date-rfc3339% %fromhost-ip% %syslogtag% %msg% "
*.* ?ISO8601Format
& ~

  • 若需按 IP 分目录存储,模板可嵌套:

    $template NetDevISO,"/var/log/netdev/%FROMHOST-IP%/%FROMHOST-IP%_%$YEAR%-%$MONTH%-%$DAY%.log"
    if $.is_netdev == "true" then ?NetDevISO
    & ~

四、验证与避坑要点

- 时区不能靠系统 TZ 环境变量生效:rsyslog 不读取 shell 环境,必须显式设置 `$!timegenerated` 或用 `date-rfc3339` 模板函数。 - 非标端口需同步开放防火墙:

firewall-cmd --add-port=5140/udp --permanent
firewall-cmd --add-port=5140/tcp --permanent
firewall-cmd --reload

- 测试命令要匹配端口:

echo "May 23 16:51:22 R1 %LINEPROTO-5-UPDOWN: ..." | nc -u 192.168.10.100 5140

- 查看是否生效:`tail -f /var/log/netdev/192.168.10.200/192.168.10.200_2026-05-23.log`,应看到形如 `2026-05-23T16:51:22+08:00 192.168.10.200 %LINEPROTO-5-UPDOWN: ...` 的输出。

不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2832

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

956

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

849

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2556

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4752

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

767

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习