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

Linux的日志管理

日志管理服务rsyslogd

配置文件

| 日志类型             | 说明                                |
| -------------------- | ----------------------------------- |
| auth                 | pam产生的日志                       |
| authpriv             | ssh、ftp等登录信息的验证信息        |
| corn                 | 时间任务相关                        |
| kern                 | 内核                                |
| lpr                  | 打印                                |
| mail                 | 邮件                                |
| mark(syslog)-rsyslog | 服务内部的信息,时间标识            |
| news                 | 新闻组                              |
| user                 | 用户程序产生的相关信息              |
| uucp                 | unix to nuix copy主机之间相关的通信 |
| local 1-7            | 自定义的日志设备                    || 日志级别 | 说明                                                 |
| -------- | ---------------------------------------------------- |
| debug    | 有调试信息的,日志通信最多                           |
| info     | 一般信息日志,最常用                                 |
| notice   | 最具有重要性的普通条件的信息                         |
| warning  | 警告级别                                             |
| err      | 错误级别,阻止某个功能或者模块不能正常工作的信息     |
| crit     | 严重级别,阻止整个系统或者整个软件不能正常工作的信息 |
| alert    | 需要立刻修改的信息                                   |
| emerg    | 内核崩溃等重要信息                                   |
| none     | 什么都不记录                                         |

日志格式

由日志服务rsyslogd记录的日志文件,日志文件的格式包含以下4列
时间产生的时间
产生事件的服务器的主机名
产生事件的服务名或程序名
事件的具体信息

查看日志

查看一下/var/log/secure日志,这个日志中记录的是用户验证和授权方面的信息来分析如何查看

自定义日志

使用vim编辑器修改/etc/rsyslog.conf配置文件,给该文件中添加一行日志配置信息
*.*                                                     /var/log/giles.log[root@server01 log]# systemctl restart rsyslog
[root@server01 log]# echo "">giles.log
[root@server01 log]# cat giles.logAug  3 16:02:55 server01 sshd[9643]: Accepted password for giles from 192.168.253.1 port 53873 ssh2
Aug  3 16:02:55 server01 systemd: Created slice User Slice of giles.
Aug  3 16:02:55 server01 systemd: Started Session 22 of user giles.
Aug  3 16:02:55 server01 systemd-logind: New session 22 of user giles.
Aug  3 16:02:55 server01 sshd[9643]: pam_unix(sshd:session): session opened for user giles by (uid=0)
Aug  3 16:02:55 server01 dbus[6458]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)
Aug  3 16:02:55 server01 dbus[6458]: [system] Successfully activated service 'org.freedesktop.problems'

日志轮替

logratate配置文件

[root@server01 log]# vim /etc/logrotate.conf 
# rotate log files weekly 每周对日志文件进行一次轮替
weekly
# keep 4 weeks worth of backlogs 共保存4份日志文件,当建立新的日志文件时,旧的将会被删除
rotate 4
# create new (empty) log files after rotating old ones 创建新的空的日志文件,在日志轮替后
create
# use date as a suffix of the rotated file 使用日期作为日志轮替文件的后缀
dateext
# uncomment this if you want your log files compressed 日志文件是否压缩,如果取消注释,则日志会在转储的同时进行压缩
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
#包含/etc/logrotate.d/目录中所有的子配置文件。也就是说把这个目录中所有子配置文件读取进来
#下面是单独设置,优先级更高
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {monthly #每月对日志文件进行一次轮替create 0664 root utmp #建立的新日志文件,权限是0664,属主root,属组是utmpminsize 1M #日志文件最小轮替大小是1MB,也就是日志一定要超过1MB才会轮替,否则就算时间达到一个月,也不进行日志转储rotate 1 #仅保留一个日志备份。也就是只有wtmp和wtmp.1日志保留而已
}
/var/log/btmp {missingok  #如果日志不存在,则忽略该日志的警告信息monthlycreate 0600 root utmprotate 1
}| 参数                    | 说明                                                         |
| ----------------------- | ------------------------------------------------------------ |
| daily                   | 日志的轮替周期是每天                                         |
| weekly                  | 日志的轮替周期是每周                                         |
| monthly                 | 日志的轮替周期是每月                                         |
| rotate数字              | 保留的日志文件的个数。0指没有备份                            |
| compress                | 日志轮替时,旧的日志进行压缩                                 |
| create mode owner group | 建立新日志,同时指定新日志的权限与所有者和所属组。如create 0600 root utmp |
| mail address            | 当日志轮替时,输出内容通过邮件发送到指定的邮件地址。         |
| missingok               | 如果日志不存在,则忽略该日志的警告信息                       |
| notifempty              | 如果日志为空文件,则不进行日志轮替                           |
| minsize大小             | 日志轮替的最小值,也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替 |
| size 大小               | 日志只要大于指定大小才进行日志轮替,而不是按照时间轮替       |
| dateext                 | 使用日期作为日志轮替文件的后缀                               |
| sharedscripts           | 在此关键字之后的脚本只执行一次                               |
| prerotate/endscript     | 在日志轮替之前执行脚本命令                                   |
| postrotate/endscript    | 在日志轮替之后执行脚本命令                                   |

自定义日志轮替

在/etc/logrotate.d目录下创建admin.log文件
通过vim命令进行编辑,具体编辑的内容如下
/var/log/admin.log{monthlysize=10Mrotate 5compress
}

http://www.xdnf.cn/news/481303.html

相关文章:

  • 青少年ctf平台应急响应-应急响应2
  • 在vue3中使用Cesium的保姆教程
  • 【2025年软考中级】第一章1.5 输入输出技术(外设)
  • 代码随想录第51天|岛屿数量(深搜)、岛屿数量(广搜)、岛屿的最大面积
  • 2025年Ai写PPT工具推荐,这5款Ai工具可以一键生成专业PPT
  • Java—— 方法引用 : :
  • 【第76例】IPD流程实战:华为业务流程架构BPA进化的4个阶段
  • ROS2学习(3)------架构概述
  • 【数据仓库面试题合集①】数据建模高频面试题及解析
  • 平衡智慧在日常生活中的落地实践:构建和谐生活的行动指南
  • MYSQL创建索引的原则
  • 单例模式深度解析:从原理到高阶应用实践
  • 麒麟桌面系统文件保险箱快捷访问指南:让重要文件夹一键直达桌面!
  • [MySQL实战] 主从复制(Replication)搭建教程:实现读写分离与高可用基础
  • 项目QT+ffmpeg+rtsp(一)——Qt的安装和rtsp的测试
  • python的家教课程管理系统
  • spring cloud gateway 源码解析
  • 嵌入式单片机中STM32F1演示寄存器控制方法
  • Linux系统编程——exec族函数
  • 【生成式AI文本生成实战】DeepSeek系列应用深度解析
  • Crowdfund Insider聚焦:CertiK联创顾荣辉解析Web3.0创新与安全平衡之术
  • day22-数据结构之 栈队列
  • git版本控制学习
  • AB Download Manager v1.5.8 开源免费下载工具
  • AI 编程 “幻觉” 风险频发?飞算 JavaAI 硬核技术筑牢安全防线
  • 1688代采系统商品采集下单支付解决方案|官方API接口接入指南
  • Android从单体架构迁移到模块化架构。你会如何设计模块划分策略?如何处理模块间的通信和依赖关系
  • 开源轻量级地图解决方案leaflet
  • Mac安装Navicat16
  • mac的Cli为什么输入python3才有用python --version显示无效,pyenv入门笔记,如何查看mac自带的标准库模块