温馨提示×

centos syslog怎样导入

小樊
43
2026-10-11 19:41:09
栏目: 智能运维

在 CentOS 里“syslog 导入”通常有以下几种常见场景,我先按最常见需求给你说明,你再对照自己的情况选:


一、把系统 syslog 导入到文件(默认就支持)

CentOS 默认使用 rsyslog,日志本身就会写入文件:

/var/log/messages      # 一般系统日志
/var/log/secure        # 安全相关
/var/log/cron          # 定时任务

查看 rsyslog 是否运行:

systemctl status rsyslog

如未启动:

systemctl start rsyslog
systemctl enable rsyslog

二、把远程 syslog 导入到 CentOS(接收日志)

1. 修改 rsyslog 配置

编辑:

vi /etc/rsyslog.conf

开启 UDP / TCP 接收(去掉注释):

# UDP
module(load="imudp")
input(type="imudp" port="514")

# TCP
module(load="imtcp")
input(type="imtcp" port="514")

2. 重启 rsyslog

systemctl restart rsyslog

3. 防火墙放行

firewall-cmd --add-port=514/udp --permanent
firewall-cmd --add-port=514/tcp --permanent
firewall-cmd --reload

远程设备配置发往该 CentOS 的 514 端口即可。


三、把 syslog 导入到数据库(如 MySQL)

1. 安装模块

yum install rsyslog-mysql

2. 建库并配置

mysql < /usr/share/doc/rsyslog-mysql-*/createDB.sql

3. rsyslog 配置示例

module(load="ommysql")
*.* action(type="ommysql" server="localhost" db="Syslog" uid="rsyslog" pwd="password")

重启:

systemctl restart rsyslog

四、把 syslog 导入到 Elasticsearch / Logstash

常见方式:

  • rsyslog → Logstash(TCP/UDP)
  • 或 filebeat 读取 /var/log/messages

示例(rsyslog 发往 logstash):

*.* @@logstash_ip:514

五、手动导入日志文件

如果你是想把已有日志文件导入分析:

cat old_syslog.log >> /var/log/messages

或交给 logrotate / ELK 处理。


你可以告诉我:

  1. 是接收远程 syslog 还是 导出/分析日志?
  2. 目标系统是 CentOS 7 还是 8 / Stream?
  3. 想导入到 文件 / 数据库 / ELK?

我可以给你精确配置文件。

0 踩