Rsyslog配置不同端口收集不同设备日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Rsyslog配置不同端口收集不同设备日志

Rsyslog默认只有514端口,收集来的不同设备日志,无法根据:fromhost-ip, startswith等匹配条件拆分不同目录存放.
目录层级:
/data
-/data/IDC_Linux #收集linux日志存放
-/data/IDC_Windows #收集windows日志存放
-/Office_Network_FW #收集network device日志存放

]# cat default.conf

根据客户端的IP单独存放主机日志在不同目录,目录需要手动创建

$template NetworkLogs,"/data/Networkrsyslog/%fromhost-ip%/%YEARMONTH%/%fromhost-ip%%YEARMONTH%-%DAYtemplate LinuxLogs,"/data/Linuxrsyslog/%fromhost-ip%/%YEARMONTH%/%fromhost-ip%%YEARMONTH%-%$DAY%.log"

if prifilt(".") then {
:fromhost-ip, startswith, "10.11" ?NetworkLogs
:fromhost-ip, startswith, "10.12" ?LinuxLogs
}
. stop

以上Rsyslog规则,如果多个不同设备在一个网段,则无法实现拆分目录. 如果根据hostname则需要统一修改不同设备的hostname.
考虑使用不同端口收集不同设备日志,规则改进为如下.

~]# cat /etc/rsyslog.conf
......

Include all config files in /etc/rsyslog.d/

include(file="/etc/rsyslog.d/*.conf" mode="optional") #注释

Provides UDP syslog reception

for parameters see http://www.rsyslog.com/doc/imudp.html

module(load="imudp") # needs to be done just once
input(type="imudp" port="514") #可注释

Provides TCP syslog reception

for parameters see http://www.rsyslog.com/doc/imtcp.html

module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514") #可注释

Include all config files in /etc/rsyslog.d/

include(file="/etc/rsyslog.d/*.conf" mode="optional") #放到模块规则后
.....

~]# cat /etc/rsyslog.d/multi-port.conf

GLOBAL DIRECTIVES

Use default timestamp format # 使用自定义的日志格式

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$template myFormat,"%timestamp% %fromhost-ip% %syslogtag% %msg%\n"

$ActionFileDefaultTemplate myFormat

根据客户端的IP单独存放主机日志在不同目录,目录需要手动创建

~]# cat /etc/rsyslog.d/multi-port.conf
template(name="IDC_Linux_Msg" type="string"
string="/data/IDCLinux/%fromhost-ip%/%YEARMONTH%/message%YEARMONTH%-%$DAY%.log"
)

template(name="IDC_Windows_Msg" type="string"
string="/data/IDCWindows/%fromhost-ip%/%YEARMONTH%/message%YEARMONTH%-%$DAY%.log"
)

template(name="Office_Network_FW_Msg" type="string"
string="/data/Office_NetworkFW/%fromhost-ip%/%YEARMONTH%/message%YEARMONTH%-%$DAY%.log"
)

ruleset(name="officenetworkfw") {
action(type="omfile" DynaFile="Office_Network_FW_Msg")
stop
}

ruleset(name="idclinux") {
action(type="omfile" DynaFile="IDC_Linux_Msg")
stop
}
{spa.nekotonakayoku.com]
{spa.hxjpg.com]
{spa.qn-solar.com]
{spa.fun-lifeday.com]
{spa.swissryoko.com]
{spa.sc12315.com]

ruleset(name="idcwindows") {
action(type="omfile" DynaFile="IDC_Linux_Msg")
stop
}

input(type="imudp" port="10516" ruleset="officenetworkfw")
input(type="imudp" port="10520" ruleset="idclinux")
input(type="imudp" port="10521" ruleset="idcwindows")

input(type="imtcp" port="10516" ruleset="officenetworkfw")
input(type="imtcp" port="10520" ruleset="idclinux")
input(type="imtcp" port="10521" ruleset="idcwindows")

. stop

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
3
3
1
41
分享
相关文章
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
807 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态
如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
51 30
网络设备日志记录
网络设备日志记录是追踪设备事件(如错误、警告、信息活动)的过程,帮助IT管理员进行故障排除和违规后分析。日志详细记录用户活动,涵盖登录、帐户创建及数据访问等。为优化日志记录,需启用日志功能、管理记录内容、区分常规与异常活动,并使用专用工具进行事件关联和分析。集中式日志记录解决方案可收集并统一管理来自多种设备和应用的日志,提供简化搜索、安全存储、主动监控和更好的事件可见性,增强网络安全。常用工具如EventLog Analyzer能灵活收集、存储和分析日志,确保高效管理。
|
1月前
|
SQL
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
69 5
HTTPS为什么可以穿越NAT端口映射设备
HTTPS能穿越NAT端口映射设备的原因在于,NAT设备仅在IP和端口层面进行地址转换,不对应用层协议(如TLS)的内容进行解析或干预。因此,HTTPS的加密通信可在客户端与服务器间直接建立,NAT设备充当透明中介,确保数据包正确路由,而不涉及加密或认证过程。这样即使没有在NAT设备上配置证书,HTTPS连接也能顺利建立并保持安全。
63 6
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
80 6
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
57 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等