温馨提示×

什么是linux syslog

小樊
59
2026-08-14 08:08:33
栏目: 智能运维

Linux syslog 是一种系统日志机制,用于收集、分类、存储和转发系统和应用程序的日志信息。它是 Linux/Unix 系统中最传统、最核心的日志体系之一。


一、syslog 是什么?

syslog 有两层含义:

  1. 一种日志协议 / 标准

    • 定义了日志消息的格式、分类和传输方式
    • 最初由 BSD 提出,后来成为 RFC 5424 / RFC 3164 标准
  2. 一套日志系统实现

    • 包括:
      • syslog 守护进程(syslogd)
      • 配置文件(如 /etc/syslog.conf)
      • 日志文件(如 /var/log/messages)

二、syslog 的作用

✅ 记录系统运行状态
✅ 记录错误、警告、调试信息
✅ 集中管理多程序日志
✅ 支持本地或远程日志
✅ 便于排错和安全审计


三、syslog 日志的基本组成

一条 syslog 消息通常包含:

<PRI> TIMESTAMP HOSTNAME APP[PID]: MESSAGE

示例:

<86> Mar 28 10:01:12 server1 sshd[1234]: Accepted password for root

四、syslog 的关键概念

1️⃣ Facility(来源分类)

表示日志来自哪个子系统:

Facility 说明
kern 内核
user 用户程序
mail 邮件系统
daemon 系统守护进程
auth / authpriv 认证相关
local0–local7 自定义用途

2️⃣ Severity(严重级别)

表示日志的重要程度(数字越小越严重):

级别 名称 含义
0 emerg 系统不可用
1 alert 必须立即处理
2 crit 严重错误
3 err 错误
4 warning 警告
5 notice 正常但重要
6 info 信息
7 debug 调试信息

五、syslog 的工作流程

应用程序
   ↓
syslog API (openlog / syslog)
   ↓
syslogd / rsyslogd
   ↓
日志文件(/var/log/*)

六、常见的 syslog 实现

1️⃣ 传统 syslog

  • syslogd
  • 配置:/etc/syslog.conf

2️⃣ rsyslog(最常见 ✅)

  • 现代 Linux 默认
  • 支持 TCP、TLS、数据库
  • 配置:/etc/rsyslog.conf

3️⃣ syslog-ng

  • 功能强大,常用于企业环境

七、常见日志文件位置

文件 内容
/var/log/messages 通用系统日志
/var/log/secure 认证、登录
/var/log/dmesg 内核日志
/var/log/cron 定时任务

八、简单示例

手动发送 syslog

logger "This is a test log"

查看:

tail -f /var/log/messages

九、现代 Linux 中的变化

✅ systemd 系统使用 journald
✅ journalctl 替代部分 syslog 功能
✅ rsyslog / syslog-ng 通常作为补充

journalctl -xe

十、一句话总结

Linux syslog 是一种用于记录系统和程序运行信息的日志机制,是系统排错、监控和安全审计的基础。

如果你愿意,我可以:

  • 对比 syslog vs journald
  • 讲 rsyslog 配置实战
  • 或结合 服务器 / 容器 / 安全审计 举例说明

0 踩