ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
日志对于系统管理员来说,非常重要,查询系统/软件的运行情况,是否出现错误,日常系统监控等等都离不开日志。 在`Linux`系统中,系统日志是由一个名为`rsyslog`的服务管理的,默认的日志守护进程为 rsyslog , rsyslog 是 syslog 的升级版本,默认安装,随机启动。主配置文件位于`/etc/rsyslog.conf` ## /etc/rsyslog.conf 日志主配置文件 rsyslog.conf 的语法为: ~~~ 设备.级别 [-]动作 ~~~ * 设备字段说明: | 类型 | 说明 | | --- | --- | | auth | 用户认证时产生的日志,如 login 命令、su 命令等 | | authpriv | 与 auth 类似, 但只能被特定用户查看 | | console | 针对系统控制台的消息 | | cron | 系统定期执行计划任务时产生的日志 | | daemon | 某些守护进程产生的日志 | | ftp | FTP服务产生的日志 | | kern | 系统内核消息 | | local0.local7 | 自定义程序使用 | | lpr | 打印机相关的日志 | | mail | 邮件相关的日志 | | mark | 产生的时间戳,系统每隔一段时间向日志文件中输出当前时间 | | news | 网络新闻传输协议(nntp)产生的日志 | | ntp | 网络时间协议(ntp)产生的日志 | | user | 用户相关进程产生的日志 | | uucp | uucp子系统进程 | * 级别字段说明: | 优先级 | 说明 | | --- | --- | | emerg | 紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户 | | alert | 需要立即修复,例如系统数据库损坏 | | crit | 危险情况,例如硬盘错误,可能会影响程序的部分功能 | | err | 一般错误消息 | | warning | 警告消息 | | notice | 不是错误,但可能需要处理 | | info | 通用性消息,一般用来提供有用信息 | | debug | 调试程序产生的信息 | | none | 没有优先级,不记录任何日志信息 | * 动作字段说明: | 值 | 说明 | | --- | --- | | filename | 指定绝对路径的日志文件名来记录日志信息 | | -filename | 异步记录日志文件 | | :omusrmsg:users | 发送信息到指定的用户,users 可以是用逗号分隔符的用户类别,*表示所有用户 | | device | 将信息发送到指定设备中,如 /dev/console | | |named-pipe | 将日志记录到命令管道,用于日志调试非常方便 | | @hostname | 将信息发送可解析远程主机hostname或IP,该主机必须正在运行 rsyslogd ,并可以识别 rsyslog 的配置文件,使用 upd:514 端口传送日志信息 | | @@hostname | 将信息发送可解析远程主机 hostname 或 IP ,该主机必须正在运行 rsyslogd ,并可以识别 rsyslog 的配置文件,使用 tcp:514 端口传送日志信息 | * rsyslog程序管理 * 安装:`yum install -y rsyslog` * 启动:`systemctl start rsyslog` * 查询:`systemctl status rsyslog` * 查询:`ps aux | grep rsyslog` * 升级:`yum update rsyslog` ## 日志轮转 logrotate.conf 日志轮转文件为:`/etc/logrotate.conf` 和 `/etc/logrotate.d/`目录下的所有文件 日志轮转规则: * weekly 按周轮转 * rotate 4 保留4份日志文件 * create 创建新文件 * dateext 用日期做文件附加名字 * compress 压缩日志文件