当前位置:首页 > RockyLinux > 正文

RockyLinux日志监控集成全攻略(手把手教你搭建集中式日志系统)

在企业运维中,RockyLinux日志监控是保障系统稳定与安全的重要环节。本文将为初学者详细讲解如何在RockyLinux上集成日志监控系统,涵盖本地日志收集、远程转发以及与ELK(Elasticsearch, Logstash, Kibana)栈的对接。即使你是Linux小白,也能轻松上手!

一、为什么需要日志监控?

系统运行过程中会产生大量日志,如登录记录、服务状态、错误信息等。通过系统日志集成,我们可以统一收集、分析这些日志,及时发现异常、排查故障,提升运维效率。

RockyLinux日志监控集成全攻略(手把手教你搭建集中式日志系统) RockyLinux日志监控 系统日志集成 ELK日志分析 Rsyslog配置教程 第1张

二、准备工作

确保你有一台安装了 RockyLinux 8 或 9 的服务器,并具备 root 权限。我们以 RockyLinux 9 为例。

三、使用 Rsyslog 实现日志收集与转发

Rsyslog 是 RockyLinux 默认的日志服务,支持本地记录和远程转发。我们将配置它将日志发送到中央日志服务器(或 ELK 的 Logstash)。

1. 安装并启用 Rsyslog

通常 Rsyslog 已预装,若未安装,请执行:

sudo dnf install rsyslog -ysudo systemctl enable --now rsyslog

2. 配置 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。

3. 重启 Rsyslog 服务

sudo systemctl restart rsyslog

四、集成 ELK 日志分析平台

为了实现可视化分析,我们可以将日志接入 ELK日志分析 系统。这里简要说明 Logstash 如何接收 Rsyslog 发送的日志。

1. 在 Logstash 中配置输入

创建配置文件 /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}"  }}

2. 启动 Logstash

sudo systemctl start logstashsudo systemctl enable logstash

完成后,打开 Kibana,创建索引模式 syslog-*,即可查看来自 RockyLinux 的日志数据。

五、常见问题排查

  • 防火墙是否放行 514 端口?使用 firewall-cmd --add-port=514/tcp --permanent 开放端口。
  • Rsyslog 是否正常运行?使用 systemctl status rsyslog 检查状态。
  • 日志是否被 SELinux 阻止?可临时禁用测试:setenforce 0(生产环境慎用)。

六、总结

通过本教程,你已经掌握了在 RockyLinux 上实现Rsyslog配置教程级别的日志收集与转发,并成功对接 ELK 实现可视化分析。这套方案适用于中小型企业,成本低、效果好,是运维自动化的基础组件之一。

提示:定期备份日志配置,避免误操作导致监控中断。