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

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.lryc.cn/news/2380269.html

相关文章:

  • 大语言模型 07 - 从0开始训练GPT 0.25B参数量 - MiniMind 实机训练 预训练 监督微调
  • [免费]苍穹微信小程序外卖点餐系统修改版(跑腿点餐系统)(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
  • 【RAG】RAG-MCP:基于检索增强生成来缓解大语言模型工具选择中的提示膨胀问题
  • 甘特图工具怎么选?免费/付费项目管理工具对比测评(2025最新版)
  • UI自动化测试中,一个完整的断言应所需要考虑的问题
  • AIGC与数字金融:人工智能金融创新的新纪元
  • CSS详解:特性、选择器与优先级
  • 手机怎么查看网络ip地址?安卓/iOS设备查询指南
  • React-useRef
  • 无损耗协议:PROFINET和EtherNet IP网关的高效安装指南
  • 【知识产权出版社-注册安全分析报告-无验证方式导致安全隐患】
  • std::ranges::iota
  • C++(24):容器类<list>
  • 【C++】不推荐使用的std::allocator<void>
  • 基于OAuth2+SpringSecurity+Jwt实现身份认证和权限管理后端服务
  • vue3 el-table实现字段可编辑
  • 基于React的高德地图api教程005:圆形标记的绘制、删除、修改
  • liunx定时任务,centos定时任务
  • 三种嵌入式开发常用的组网方式
  • ubuntu 20.04 ping baidu.coom可以通,ping www.baidu.com不通 【DNS出现问题】解决方案
  • 城市排水管网流量监测系统解决方案
  • Ubuntu Desktop QEMU/KVM中使用Ubuntu Server 22.04配置k8s集群
  • YOLOv8 在单片机上的几种部署方案
  • 后端框架(1):Mybatis
  • linux下tcp/ip网络通信笔记1,
  • SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
  • 语音识别——声纹识别
  • window 显示驱动开发-报告图形内存(三)
  • 安全运维 -- linux磁盘挂载到windows
  • 使用 Apache POI 生成 Word 文档