2024年4月25日发(作者:)
linux rsyslog 发日志
rsyslog 是 Linux 系统上常用的日志系统,它能够收集、处理和转发系统
日志,并且支持多种协议和格式。在 rsyslog 中,日志消息被解析并组织成结
构化的数据,以便于搜索、分析和可视化。
以下是一些关于如何在 Linux 上使用 rsyslog 发送日志的步骤:
1. 安装 rsyslog
在大多数 Linux 发行版中,rsyslog 已经预装了。如果没有预装,可以使用包
管理器安装它。例如,在 Ubuntu/Debian 上可以使用以下命令安装 rsyslog:
```sql
sudo apt-get update
sudo apt-get install rsyslog
```
2. 配置 rsyslog
rsyslog 的主要配置文件是 `/etc/`。这个文件定义了日志的输入、
输出和过滤规则。你可以使用文本编辑器打开这个文件并对其进行配置。
在配置文件中,你可以定义日志的输入源、日志格式、日志存储位置以及日志过
滤规则。例如,以下配置将 syslog 守护进程作为输入源,将日志写入到
/var/log/syslog 文件中,并使用默认的日志格式:
```bash
# /etc/
# Global configuration
global {
# 设置默认日志格式
# 使用默认的日志格式,输出内容如下:
# [local0]:33654 Aug 29 14:29:11 server01 /var/log/syslog
defaultNetstreamDriver gtls # use gtls driver for encrypted syslog
defaultNetstreamDriverParms "sec=隐私级别=TLSv1.2" # TLS security
setup
}
# Rules for logging messages to syslog
# 在这里定义日志过滤规则,将符合规则的日志消息写入到 syslog 文件中
1
if $fromhost-ip (ip("X.X.X.X") and port(514)) then { # 从指定 IP 地址发送
的日志消息被转发到 syslog 文件
action(type="omfwd" target="127.0.0.1" port="514" protocol="udp")
# 将日志消息转发到本地主机上的 syslogd 服务
} else if $fromhost-ip (ip("Y.Y.Y.Y") and port(514)) then { # 从另一个指定 IP
地址发送的日志消息被转发到 syslog 文件
action(type="omfwd" target="127.0.0.1" port="514" protocol="udp")
# 将日志消息转发到本地主机上的 syslogd 服务
} else { # 其他情况下的日志消息不会被转发到 syslog 文件
}
```
2
发布评论