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%/%$YEAR%-%$MONTH%/%fromhost-ip%%$YEAR%-%$MONTH%-%$DAY%.log"
$template LinuxLogs,"/data/Linuxrsyslog/%fromhost-ip%/%$YEAR%-%$MONTH%/%fromhost-ip%%$YEAR%-%$MONTH%-%$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%/%$YEAR%-%$MONTH%/message%$YEAR%-%$MONTH%-%$DAY%.log"
)

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

template(name="Office_Network_FW_Msg" type="string"
string="/data/Office_NetworkFW/%fromhost-ip%/%$YEAR%-%$MONTH%/message%$YEAR%-%$MONTH%-%$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日志并进行多维度分析。
相关文章
|
8天前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
25 1
|
9天前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
18 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
2月前
|
运维 网络协议 网络安全
干货 | USG配置端口映射图解&映射不通的排查
干货 | USG配置端口映射图解&映射不通的排查
102 9
|
2月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
38 6
|
2月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
24 4
|
2月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
2月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
|
2月前
|
人工智能
【Azure Application Insights】在Azure Function中启用Application Insights后,如何配置不输出某些日志到AI 的Trace中
【Azure Application Insights】在Azure Function中启用Application Insights后,如何配置不输出某些日志到AI 的Trace中