【Linux】日志 日志管理服务 日志轮替
日志简介以及常用日志
日志是重要的系统信息文件,记录了许多重要的系统事件。在检查错误和受攻击时常用。
绝大多数的日志文件放在 /var/log/ 下
常用日志:
- boot.log 系统启动日志
- cron 系统定时任务日志
- lastlog 记录所有用户最后一次登录的日志 该二进制文件需要直接用
lastlog
命令查看 - mailog 记录邮件信息日志
- message 系统重要消息日志 系统出错时首先查看
- secure 记录验证和授权方面的信息 涉及系统登录 ssh用户 su切换用户 sudo授权
- ulmp 记录当前用户的信息 需要用
w
.who
.user
等命令直接查看
日志管理服务rsyslogd
该服务是记录日志的一个后台程序
基本指令
ps -aux | grep rsyslogd
查询rsyslogd是否启动systemctl list-unit-files | grep rsyslog
查询rsyslogd的自启动状态
配置文件
/etc/rsyslogd.conf 配置文件 这里记录了rsyslogd服务信息以及日志级别
编辑文件的格式为:*.*
第一个*表示日志类型,第二个*表示日志级别
可以看到左半边是需要记录的日志内容 右半边是记录的日志文件地址
日志类型:
- auth:pam产生的日志
- authpriv:ssh ftp等登录信息的验证信息
- corn:时间任务相关
- kern:内核相关
- lpr:打印
- mail:邮件
- mark(syslog)-rsyslog:服务内部信息 时间标识
- news:新闻组
- user:用户程序产生的相关信息
- uucp:unix to nuix copy主机之间相关的通信
- loc 1-7:自定义的日志设备
日志级别:(从上到下级别逐渐增高 记录信息逐渐减少)
- debug:调试信息
- info:一般信息日志 最常用
- notice:最具有重要性的普通条件的信息
- warning:警告级别
- err:错误级别 阻止某个功能或者模块不能正常工作的信息
- crit:严重级别 阻止整个系统或者整个软件不能正常工作的信息
- alert:需要立刻修改的信息
- emerg:内核崩溃等重要信息
- none:什么都不记录
日志文件信息详解
日志文件格式主要包含以下四列:
- 事件产生的时间
- 产生事件的服务器的主机名
- 产生事件的服务名或程序名
- 事件的具体信息
自定义日志服务
了解了日志配置文件和日志服务的相关信息,我们就可以自定义日志服务,将自己关心的日志放入指定的日志文件里了。
步骤:
- 在/var/log/ 中新建一个日志文件wrssh.log
- 打开 /etc/rsyslogd.conf 按照配置文件的格式 添加一行
*.* /var/log/wrssh.log
保存并退出 (当然也可以直接执行第二步 它会自动创建一个日志文件同第一步 )
日志轮替logrotate
就是按照一定的规则,将一些不需要的旧的文件删掉。
配置文件
/etc/logrotate.conf 配置文件 可以对logrotate进行管理
这里有几个重要的默认参数:
- weekly:表示每周轮替一次
- rotate 4:表示同一个日志文件最多保存四个版本 多了会产出
- create:产生轮替之后生成一个新的空白的文件放在其后
- dateext:日志轮替文件名字的命名方式
- 如果配置文件中有dateext参数:日志会用日期作为日志文件的后缀,例如“message-20220801”
- 如果没用dateext:日志需要进行改名,当第一次日志轮替时,当前的“secure”改名为“secure.1”,然后新建“secure”日志用来保存新的日志。第二次日志轮替时,当前的“secure.1”会自动更名为“secure.2”,“secure”更名为“secure.1”,新建“secure”以保存新的日志。以此类推。
- include /etc/logrotate.d:可以将自定义的日志轮替规则写到这个文件里去
自定义日志轮替规则
格式:
日志文件地址 {参数
}
参数:
- daily:轮替周期 每天
- weekly:轮替周期 每周
- monthly:轮替周期 每月
- rotate [num]:保存日志文件的个数
- compress:轮替时对旧日志进行压缩
- create mode owner group:建立新日志的同时指定权限 所有者 所属组
- mail address:日志轮替时输出内容通过邮件发送到指定的邮件地址
- missingok:如果日志不存在则忽略日志的警告信息
- notifempty:如果日志为空文件则不进行日志轮替
- minsize [size]:日志轮替的最小值 即超过该大小才会轮替 否则到达轮替周期也不会轮替
- size [size[:日志达到指定大小进行轮替 而不是按照轮替的时间周期
- dateext:使用日期作为日志轮替文件的后缀
- sharedscripts:在此关键字之后的脚本只执行一次
- prerotate/endscripts:在日志轮替之前执行脚本命令
- postrotate/endscripts:在日志轮替之后执行脚本命令
例如:
/var/log/btmp{missingok # 如果日志不存在则忽略该日志的警告信息montly # 每月轮替一次creat 0664 zzz abc # 建立新的日志文件 权限是0664 所有者zzz 所属组abcminsize 1M # 文件最小轮替大小为1M rotate 1 # 仅保留一个日志备份
}
日志轮替的机制原理
日志轮替在指定的时间备份日志,依赖于系统定时任务。
可以在 /etc/cron.daily/ 中发现一个可执行文件logrotate
内存日志
一些日志是先写到内存日志里,还未写到文件里。重启之后会清空。
journalctl
查看所有的内存日志journalctl -n 3
查看最新3条journal --since 00:00 --until 00:10
查看区间时间内的日志 可加日期journalctl -p err
查看报错日志journalctl -o verbose
日志详细内容journalctl _PID=1245 _COMM=sshd
查看符合条件的日志
【Linux】日志 日志管理服务 日志轮替相关推荐
- linux系统日志_第十二章:走进Linux世界——系统日志管理,日志轮转。
1.关心问题:哪类程序---> 产生的什么日志----> 放到什么地方 2.处理日志的进程 (1) 第一类: rsyslogd: 系统专职日志程序. 处理绝大部分日志记录, 系统操作有关的 ...
- Linux分隔springboot项目服务日志
Linux定时分隔springboot项目服务日志 根据进程查询启动脚本位置,以及查询服务启动输出的文件 Step1:查看进程id 输入ps或ps -ef |grep java Step1:查看进程i ...
- linux 设备事件管理服务 systemd-udevd.service 简介
名称 systemd-udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd - ...
- Windows 事件日志分析管理
Windows 设备是大多数商业网络中最受欢迎的选择.为了处理这些设备生成的数 TB 的事件日志数据,安全管理员需要使用功能强大的日志管理工具(如EventLog Analyzer),该工具可以通过自 ...
- Linux日志管理(日志配置、日志轮替)
Linux日志管理 对运维人员来说,无论管理什么系统,对日志文件的监控.调用.管理都是其中重要的一部分.服务器问题的解决都是从查看系统(错误)日志开始的.本篇文章,我们就来了解一下Linux系统中 ...
- linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd
1.日志文件格式 只要是由日志服务rsyslogd记录的日志文件,他们的格式是一样的. 基本日志格式包含以下内容: 事件产生的时间. 发生事件的服务器的主机名. 产生事件的服务名或程序名. 事件的具体 ...
- 【Linux】日志管理及日志轮询
文章目录 日志管理的意义 常用的日志文件: last 查看登录日志内容 清空日志文件 2. /var/log/lastlog 查看最后登录信息 3. /var/log/btmp 用户登录系统的错误信息 ...
- Linux计划任务与日志的管理
计划任务-at-cron-计划任务使用方法 大家平常都会有一些比如说:你每天固定几点起床?每天按时上班打卡.每月15号准时开工资.每年2月14你俩口子某某纪念日等这些诸如此类,这些都是定时发生的.或者 ...
- SpringCloud + kafka + ELK 搭建微服务日志管理平台
SpringCloud + kafka + ELK 搭建微服务日志管理平台 2019-12-31,写在前面的话 今天是2019最后一天了,最近几天都在搞这块微服务日志管理的事情,有很多种方案实现,每种 ...
最新文章
- WebStorm中不小心勾选了不再显示更新项目的提示弹窗,如何重新显示版本控制(VCS)的更新项目Update Project(同步项目)提示弹窗?
- linux启动时间极限优化,Linux启动时间的极限优化
- sublime text3 jshint 安装
- 解决Ubuntu spyder 无法输入中文
- line-height的一点见识
- Pots (BFS ➕ 输出路径)
- 谷歌抽屉_Google(最终)会杀死导航抽屉吗?
- java报错空指针异常_夯实基础:认识一下这10 个深恶痛绝的 Java 异常
- 子进程会继承父进程的哪些内容_【学习教程】Node.js创建子进程方法
- 【英语学习】【Level 08】U04 What I love L2 My favorite sport
- canvas的基础使用。
- 50以内的质数顺口溜_【停课不停学】学习妙招|小学数学学习中的顺口溜,记住了事半功倍!...
- android js回调函数,JavaScript回调函数的几种用法
- 企业IT管理员IE11升级指南【4】—— IE企业模式介绍
- Hive之同比环比的计算
- 计算机win10无法打开小键盘,小编告诉你win10开机小键盘不自动开启的解决伎俩...
- 定位“良心优品”,国民手机Z5能否让联想重回辉煌?
- figcaption标签css,[HTML]正确使用Figure和Figcaption标签(译)_html/css_WEB-ITnose
- 图片的透明半透明显示!
- android基础--canvas绘图
热门文章
- 未来10年计算机发展方向,笔记本电脑在未来十年的发展方向
- 微信小程序现实点击图片预览功能
- [Stanford Algorithms: Design and Analysis, Part 2] c27 The Knapsack Problem
- Matlab中寻找矩阵A的一个元素
- ipad手写笔一定要买苹果的吗?性价比ipad手写笔推荐
- 稳稳当当学java之设计模式(12)
- excel相同数据合并
- 关闭firefox火狐浏览器下载完成时自动扫描(49.0.2以后版本)
- 夺命雷公狗—玩转SEO---46---浅谈搜索引擎
- 深入理解《字符串》及其函数——C语言