Linux syslog 使用教程

简介

syslogLinux 和类 Unix 系统中用于记录系统消息的标准协议。它允许应用程序、守护进程和内核将日志消息发送到集中式日志管理系统。

Syslog 组件

  • Syslog 守护进程:syslogdrsyslogd,收集并管理日志消息

  • 日志设施:日志类别(例如,auth、daemon、mail、local0-local7)

  • 日志级别(严重级别):定义消息的优先级(例如信息、警告、错误)

  • 日志文件位置:默认储存位置:/var/log/syslog/var/log/messages/var/log/auth.log

Syslog消息格式

典型的系统日志消息具有以下结构:

shell 复制代码
<priority> timestamp hostname application_name [PID]: message

示例

shell 复制代码
Mar 18 12:34:56 myserver sshd[12345]: Failed password for user root from 192.168.1.1 port 22 ssh2

常见的 Syslog 工具

  • auth / authpriv:身份验证日志

  • cron:Cron 作业日志

  • daemon:系统守护进程日志

  • kern:内核日志

  • mail:邮件服务器日志

  • syslog:内部系统日志消息

  • user:用户应用程序日志

  • local0 - local7:应用程序的自定义日志

Syslog 严重性级别

级别 名称 描述
0 emerg 系统无法使用
1 alert 需要立即采取行动
2 crit 危急情况
3 err 错误情况
4 warning 警告消息
5 notice 正常但重要的事件
6 info 信息性消息
7 debug 调试消息

示例用法

查看Syslog消息

shell 复制代码
cat /var/log/syslog

或

tail -f /var/log/syslog

发送自定义系统日志消息

shell 复制代码
logger -p local0.info "This is a test log message"

# 将日志存储在 /var/log/syslog 中(或按照 /etc/rsyslog.conf 中的配置)

过滤特定日志

  • 查看认证日志
shell 复制代码
cat /var/log/auth.log
  • 查看内核日志
shell 复制代码
dmesg | tail -20
  • 查看启动日志
shell 复制代码
journalctl -b

配置 Syslog(rsyslog)

修改 Syslog 规则

编辑 /etc/rsyslog.conf/etc/rsyslog.d/*.conf

shell 复制代码
authpriv.*    /var/log/auth.log
*.info;mail.none;authpriv.none;cron.none /var/log/syslog

重启日志服务

shell 复制代码
sudo systemctl restart rsyslog

监控 SSH 登录尝试

  • 查看失败的登录尝试
shell 复制代码
grep "Failed password" /var/log/auth.log
  • 查看登录成功
shell 复制代码
grep "Accepted password" /var/log/auth.log
  • 检查系统错误
shell 复制代码
grep "error" /var/log/syslog

集中日志记录

  • 将日志发送到远程系统日志服务器(192.168.1.100

编辑 /etc/rsyslog.conf 并添加:

shell 复制代码
*.* @192.168.1.100:514

重启 rsyslog

shell 复制代码
sudo systemctl restart rsyslog
相关推荐
哈哈幸运1 小时前
MySQL运维三部曲初级篇:从零开始打造稳定高效的数据库环境
linux·运维·数据库·mysql·性能优化
soulermax2 小时前
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
java·linux·服务器
黑心老人2 小时前
Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿
linux·运维·服务器·macos
Zenexus2 小时前
Linux学习笔记协议篇(六):SPI FLASH设备驱动
linux·笔记·arm
口嗨农民工2 小时前
ubuntu18.04启动不了修复
linux·运维·ubuntu
辣个蓝人QEX3 小时前
【ZYNQ MP开发】Linux下使用bootgen命令生成BOOT.bin报错架构不对问题探究
linux·arm开发·xilinx·zynq·mpsoc·bootgen·u-boot移植
Vesan,3 小时前
无人机飞控运行在stm32上的RTOS实时操作系统上,而不是linux这种非实时操作系统的必要性
linux·stm32·无人机
GalaxyPokemon4 小时前
Muduo网络库实现 [十六] - HttpServer模块
linux·运维·服务器·网络
Zfox_4 小时前
Git 进阶之路:高效协作之分支管理
大数据·linux·运维·c++·git·elasticsearch
夏天里的肥宅水4 小时前
解决方案:远程shell连不上Ubuntu服务器
linux·运维·服务器·ubuntu