本教程描述了如何在 CentOS 7 上设置集中式 Rsyslog 服务器,以便从一个公共位置管理客户端系统的日志。 当您想要检查客户端系统的日志文件时,您不必访问客户端系统。 如果您的网络上有大量系统并希望从集中式专用日志服务器进行日志管理,这将很有用。
出于本指南的目的,我将使用两个系统,一个充当 rsyslog 服务器,另一个充当客户端。 以下是我的测试盒的详细信息。
系统日志服务器:
- 操作系统: CentOS 7 极简版
- IP地址: 192.168.43.150/24
- 主机名: logserver.ostechnix.local
客户端系统:
- 操作系统: CentOS 7 极简版
- IP地址: 192.168.43.151
首先,让我们设置 Ryslog 服务器。
在 CentOS 7 上设置集中式 Rsyslog 服务器
本指南已使用 CentOS 7 最小服务器版进行了测试。 但是,它应该适用于所有基于 RPM 的发行版,例如 RHEL, Fedora,科学Linux。
下面给出的所有命令都应该运行为 根 用户。
如果尚未安装 rsyslog 包,请安装它。
# yum install rsyslog
然后,编辑 rsyslog 配置文件:
# vi /etc/rsyslog.conf
查找并取消注释以下内容以使您的服务器侦听 udp 和 tcp 端口。
[...] $ModLoad imudp $UDPServerRun 514 [...] $ModLoad imtcp $InputTCPServerRun 514 [...]
打 ESC键 键和类型 :wq 保存和 close 文件。
允许防火墙/路由器上的 Rsyslog 默认端口 514。 以下命令将通过 firewalld 打开此端口。
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp
重新启动 firewalld 服务以使更改生效。
# firewall-cmd --reload
最后,启用并启动 rsyslog 服务:
# systemctl enable rsyslog
# systemctl start rsyslog
使用以下命令检查 resyslog 服务是否正在运行:
# systemctl status rsyslog
如果你看到类似下面的输出,恭喜! Rsyslog 服务器已启动并正在工作!
● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-03-23 16:30:11 IST; 17min ago Main PID: 2490 (rsyslogd) CGroup: /system.slice/rsyslog.service └─2490 /usr/sbin/rsyslogd -n Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Starting System Logging... Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Started System Logging ... Hint: Some lines were ellipsized, use -l to show in full
您可以使用以下命令检查服务器本身的日志详细信息:
# tail -10 /var/log/messages
此命令将显示日志消息的最后十行。
客户端配置
安装 rsyslog 为 根 用户使用命令:
# yum install rsyslog
然后,编辑 rsyslog 配置文件:
# vi /etc/rsyslog.conf
在下面 ##规则## 指令部分,添加以下行:
*.* @192.168.43.150:514
或者,只需将此行放在末尾。 这将记录所有内容并将日志文件发送到您的 Rsyslog 服务器。
您还可以记录特定项目。 说为 example仅记录 cron 东西,添加以下行:
cron.* @192.168.43.150:514
要记录所有邮件消息,请添加:
mail.* @192.168.43.150:514
我想记录所有内容,所以我添加了以下行。
*.* @192.168.43.150:514
您还可以提及您的 Rsyslog 服务器的 FQDN,而不是 IP 地址。
Save 和 close rsyslog 配置文件。
最后,启用并启动 rsyslog 服务:
# systemctl enable rsyslog
# systemctl start rsyslog
同样,您可以配置任意数量的客户端。 监控日志。
测试日志消息
在您的客户端系统上运行任何东西。
我将使用手动向系统日志文件添加一个条目 记录器 命令。
# logger -i -t ostechnix "This is our first log test."
现在,转到 Rsyslog 服务器机器并检查是否找到此日志。
# tail -l /var/log/messages
现在,您将从服务器获取客户端系统的日志。
Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="https://www.rsyslog.com"] start Mar 23 17:30:29 client systemd: Stopping System Logging Service... Mar 23 17:30:29 client systemd: Starting System Logging Service... Mar 23 17:30:29 client systemd: Started System Logging Service. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="https://www.rsyslog.com"] exiting on signal 15. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="https://www.rsyslog.com"] start Mar 23 17:30:34 logserver systemd: Stopping System Logging Service... Mar 23 17:30:34 logserver systemd: Starting System Logging Service... Mar 23 17:30:34 logserver systemd: Started System Logging Service. Mar 23 17:31:35 client ostechnix[2959]: This is our first log test.
和。 就这样。 Rsyslog 服务器和客户端配置完成。 正如您在本指南中所见, 设置一个基本的 Rsyslog 服务器非常容易. 虽然这是非常基本的日志服务器设置,但它对我来说是开箱即用的。
建议阅读:
- 如何在 Linux 中使用 Logrotate 管理日志文件
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!