日志简介以及常用日志

日志是重要的系统信息文件,记录了许多重要的系统事件。在检查错误和受攻击时常用。
绝大多数的日志文件放在 /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】日志 日志管理服务 日志轮替相关推荐

  1. linux系统日志_第十二章:走进Linux世界——系统日志管理,日志轮转。

    1.关心问题:哪类程序---> 产生的什么日志----> 放到什么地方 2.处理日志的进程 (1) 第一类: rsyslogd: 系统专职日志程序. 处理绝大部分日志记录, 系统操作有关的 ...

  2. Linux分隔springboot项目服务日志

    Linux定时分隔springboot项目服务日志 根据进程查询启动脚本位置,以及查询服务启动输出的文件 Step1:查看进程id 输入ps或ps -ef |grep java Step1:查看进程i ...

  3. linux 设备事件管理服务 systemd-udevd.service 简介

    名称 systemd-udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd - ...

  4. Windows 事件日志分析管理

    Windows 设备是大多数商业网络中最受欢迎的选择.为了处理这些设备生成的数 TB 的事件日志数据,安全管理员需要使用功能强大的日志管理工具(如EventLog Analyzer),该工具可以通过自 ...

  5. Linux日志管理(日志配置、日志轮替)

    Linux日志管理   对运维人员来说,无论管理什么系统,对日志文件的监控.调用.管理都是其中重要的一部分.服务器问题的解决都是从查看系统(错误)日志开始的.本篇文章,我们就来了解一下Linux系统中 ...

  6. linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd

    1.日志文件格式 只要是由日志服务rsyslogd记录的日志文件,他们的格式是一样的. 基本日志格式包含以下内容: 事件产生的时间. 发生事件的服务器的主机名. 产生事件的服务名或程序名. 事件的具体 ...

  7. 【Linux】日志管理及日志轮询

    文章目录 日志管理的意义 常用的日志文件: last 查看登录日志内容 清空日志文件 2. /var/log/lastlog 查看最后登录信息 3. /var/log/btmp 用户登录系统的错误信息 ...

  8. Linux计划任务与日志的管理

    计划任务-at-cron-计划任务使用方法 大家平常都会有一些比如说:你每天固定几点起床?每天按时上班打卡.每月15号准时开工资.每年2月14你俩口子某某纪念日等这些诸如此类,这些都是定时发生的.或者 ...

  9. SpringCloud + kafka + ELK 搭建微服务日志管理平台

    SpringCloud + kafka + ELK 搭建微服务日志管理平台 2019-12-31,写在前面的话 今天是2019最后一天了,最近几天都在搞这块微服务日志管理的事情,有很多种方案实现,每种 ...

最新文章

  1. WebStorm中不小心勾选了不再显示更新项目的提示弹窗,如何重新显示版本控制(VCS)的更新项目Update Project(同步项目)提示弹窗?
  2. linux启动时间极限优化,Linux启动时间的极限优化
  3. sublime text3 jshint 安装
  4. 解决Ubuntu spyder 无法输入中文
  5. line-height的一点见识
  6. Pots (BFS ➕ 输出路径)
  7. 谷歌抽屉_Google(最终)会杀死导航抽屉吗?
  8. java报错空指针异常_夯实基础:认识一下这10 个深恶痛绝的 Java 异常
  9. 子进程会继承父进程的哪些内容_【学习教程】Node.js创建子进程方法
  10. 【英语学习】【Level 08】U04 What I love L2 My favorite sport
  11. canvas的基础使用。
  12. 50以内的质数顺口溜_【停课不停学】学习妙招|小学数学学习中的顺口溜,记住了事半功倍!...
  13. android js回调函数,JavaScript回调函数的几种用法
  14. 企业IT管理员IE11升级指南【4】—— IE企业模式介绍
  15. Hive之同比环比的计算
  16. 计算机win10无法打开小键盘,小编告诉你win10开机小键盘不自动开启的解决伎俩...
  17. 定位“良心优品”,国民手机Z5能否让联想重回辉煌?
  18. figcaption标签css,[HTML]正确使用Figure和Figcaption标签(译)_html/css_WEB-ITnose
  19. 图片的透明半透明显示!
  20. android基础--canvas绘图

热门文章

  1. 未来10年计算机发展方向,笔记本电脑在未来十年的发展方向
  2. 微信小程序现实点击图片预览功能
  3. [Stanford Algorithms: Design and Analysis, Part 2] c27 The Knapsack Problem
  4. Matlab中寻找矩阵A的一个元素
  5. ipad手写笔一定要买苹果的吗?性价比ipad手写笔推荐
  6. 稳稳当当学java之设计模式(12)
  7. excel相同数据合并
  8. 关闭firefox火狐浏览器下载完成时自动扫描(49.0.2以后版本)
  9. 夺命雷公狗—玩转SEO---46---浅谈搜索引擎
  10. 深入理解《字符串》及其函数——C语言