|
|
Rsyslog 安装与日志收集配置指南
Rsyslog 是一个强大的日志处理系统,广泛用于 Linux 服务器上的日志收集和管理。以下是安装和配置 rsyslog 的详细步骤。
一、安装 rsyslog
在基于 Debian/Ubuntu 的系统上- sudo apt update
- sudo apt install rsyslog -y
复制代码
在基于 RHEL/CentOS 的系统上- sudo yum install rsyslog -y
- # 或对于较新版本
- sudo dnf install rsyslog -y
复制代码
二、基本配置
rsyslog 的主要配置文件位于,模块配置可能在目录下。
1. 启用网络接收(可选)
如果需要从其他服务器接收日志:- # 编辑配置文件
- sudo vim /etc/rsyslog.conf
- # 取消以下两行的注释(通常在文件末尾附近)
- module(load="imudp")
- input(type="imudp" port="514")
- module(load="imtcp")
- input(type="imtcp" port="514")
复制代码
2. 配置日志收集规则
在或新建- /etc/rsyslog.d/custom.conf
复制代码 文件中添加规则:
- # 示例:收集所有设施(facility)的 info 及以上级别的日志
- *.info /var/log/all-info.log
- # 示例:收集特定应用的日志
- authpriv.* /var/log/secure.log
- # 示例:按设施和优先级分开存储
- mail.* -/var/log/mail.log
- *.*;mail.none;news.none -/var/log/messages
复制代码
3. 配置远程日志收集(作为服务器)
如果作为日志服务器接收其他主机的日志:- # 在 /etc/rsyslog.conf 或单独配置文件中
- $template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
- *.* ?RemoteLogs
- & ~
复制代码
4. 配置发送日志到远程服务器(作为客户端)
在客户端机器上配置或新建配置文件:- *.* @@remote-server-ip:514 # 使用TCP
- # 或
- *.* @remote-server-ip:514 # 使用UDP
复制代码
三、常用配置选项
- 日志轮转:通常与 logrotate 配合使用,rsyslog 本身不处理轮转
- 队列配置:对于高负载环境,可以配置内存或磁盘队列
- $ActionQueueFileName queue # 磁盘队列文件名
- $ActionQueueMaxDiskSpace 1g # 最大磁盘空间
- $ActionQueueSaveOnShutdown on # 关机时保存队列
复制代码
- $template MyTemplate,"/var/log/myapp/%$YEAR%-%$MONTH%-%$DAY%/log.log"
复制代码
四、启动与测试
1. 重启 rsyslog 服务- # Debian/Ubuntu
- sudo systemctl restart rsyslog
- # RHEL/CentOS
- sudo systemctl restart rsyslog
- # 或旧版本
- sudo service rsyslog restart
复制代码
2. 验证配置- # 检查语法
- sudo rsyslogd -N1
- # 查看服务状态
- sudo systemctl status rsyslog
- # 实时查看日志(测试用)
- sudo tail -f /var/log/syslog # 或其他日志文件
复制代码
3. 测试日志发送- # 在客户端测试发送日志
- logger "This is a test message from client"
- # 在服务器端检查是否收到
- sudo tail -f /var/log/remote/客户端主机名/相关日志文件
复制代码
五、安全注意事项
- 如果启用网络接收,考虑配置防火墙只允许可信IP访问514端口
- 考虑使用TLS加密传输敏感日志
- 定期清理旧日志,防止磁盘填满
- 设置适当的文件权限(通常640,属主root:adm)
六、高级功能
- 数据库存储:使用 ommysql 或 ompostgresql 模块将日志存入数据库
- 过滤与重写:使用属性比较器和重写规则处理日志内容
- 负载均衡:配置多个远程日志服务器实现高可用
通过以上配置,您可以建立一个灵活可靠的日志收集系统,满足不同规模的服务器环境需求。 |
|