在企业运维中,RockyLinux日志监控是保障系统稳定与安全的重要环节。本文将为初学者详细讲解如何在RockyLinux上集成日志监控系统,涵盖本地日志收集、远程转发以及与ELK(Elasticsearch, Logstash, Kibana)栈的对接。即使你是Linux小白,也能轻松上手!
系统运行过程中会产生大量日志,如登录记录、服务状态、错误信息等。通过系统日志集成,我们可以统一收集、分析这些日志,及时发现异常、排查故障,提升运维效率。
确保你有一台安装了 RockyLinux 8 或 9 的服务器,并具备 root 权限。我们以 RockyLinux 9 为例。
Rsyslog 是 RockyLinux 默认的日志服务,支持本地记录和远程转发。我们将配置它将日志发送到中央日志服务器(或 ELK 的 Logstash)。
通常 Rsyslog 已预装,若未安装,请执行:
sudo dnf install rsyslog -ysudo systemctl enable --now rsyslog 编辑配置文件 /etc/rsyslog.conf,在文件末尾添加以下内容(假设日志服务器 IP 为 192.168.1.100,端口 514):
# 加载 TCP 模块(推荐用于可靠传输)module(load="imtcp")input(type="imtcp" port="514")# 加载 UDP 模块(轻量但不可靠)module(load="imudp")input(type="imudp" port="514")# 将所有日志转发到远程服务器*.* @@192.168.1.100:514 注意:@@ 表示使用 TCP,@ 表示使用 UDP。建议生产环境使用 TCP。
sudo systemctl restart rsyslog 为了实现可视化分析,我们可以将日志接入 ELK日志分析 系统。这里简要说明 Logstash 如何接收 Rsyslog 发送的日志。
创建配置文件 /etc/logstash/conf.d/syslog.conf:
input { tcp { port => 514 type => syslog } udp { port => 514 type => syslog }}filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } }}output { elasticsearch { hosts => ["http://localhost:9200"] index => "syslog-%{+YYYY.MM.dd}" }} sudo systemctl start logstashsudo systemctl enable logstash 完成后,打开 Kibana,创建索引模式 syslog-*,即可查看来自 RockyLinux 的日志数据。
firewall-cmd --add-port=514/tcp --permanent 开放端口。systemctl status rsyslog 检查状态。setenforce 0(生产环境慎用)。通过本教程,你已经掌握了在 RockyLinux 上实现Rsyslog配置教程级别的日志收集与转发,并成功对接 ELK 实现可视化分析。这套方案适用于中小型企业,成本低、效果好,是运维自动化的基础组件之一。
提示:定期备份日志配置,避免误操作导致监控中断。
本文由主机测评网于2025-12-03发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122487.html