Linux日志管理服务 rsyslogd

1. 基本介绍

  1. 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。
  2. 日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。
  3. 可以这样理解: 日志是用来记录重大事件的工具

2. 系统常用的日志

  • /var/log/ 目录就是系统日志文件的保存位置,看张图
  • 系统常用的日志
  • 如查看 lastlog 日志,打开的时候不能使用 cat 等命令,直接 lastlog 就能查看了,可以清晰地看到最后一次用户登录的信息等

应用案例

  • 使用 root 用户通过 xshell 登陆,第一次使用错误的密码,第二次使用正确的密码登录成功,看看在日志文件/var/log/secure 里有没有记录相关信息

  • 由于现在 secure 信息太多了,先清空下:

bash 复制代码
echo '' > secure
  • 先输入 两次错误 的密码
  • 再输入 一次正确 的密码登录成功
  • 查看 secure 日志记录了什么信息,分别记录了两次失败的登录和一次成功的登录
  • 可以通过 secure 查看相关的安全方面的日志信息

3. 日志管理服务 rsyslogd

  • CentOS 7.6 日志服务是 rsyslogd , CentOS 6.x 日志服务是 syslogd

  • rsyslogd 功能更强大。rsyslogd 的使用、日志文件的格式,和 syslogd 服务是兼容的。

  • 原理示意图:

  • 查看 rsyslogd 配置文件

bash 复制代码
more /etc/rsyslog.conf
  • 查询 Linux 中的 rsyslogd 服务是否启动
bash 复制代码
ps aux | grep "rsyslog" | grep -v "grep"

-v 表示反向选择,挑选出前面不包含 grep man grep 查看该参数的含义

  • 查询 rsyslogd 服务的自启动状态
bash 复制代码
systemctl list-unit-files | grep rsyslog
  • 配置文件:/etc/rsyslog.conf
  • 编辑文件时的格式为: *.* 存放日志文件
  • 其中第一个*代表日志类型,第二个*代表日志级别
  1. 日志类型分为:
java 复制代码
auth  ## pam 产生的日志
authpriv ##ssh、ftp 等登录信息的验证信息
corn ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to nuix copy 主机之间相关的通信
local 1-7 ##自定义的日志设备
  1. 日志级别分为:
java 复制代码
debug ##有调试信息的,日志通信最多
info ##一般信息日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等重要信息
none ##什么都不记录

注意:从上到下,级别从低到高,记录信息越来越少
  • 如:local7 表示日志类型,后面的 * 表示任何一个级别的日志都需要记录

  • 日志服务 rsyslogd 记录的日志文件,日志文件的格式包含以下四列:

java 复制代码
1) 事件产生的时间
2) 产生事件的服务器的主机名
3) 产生事件的服务名或程序名
4) 事件的具体信息
  • 日志如何查看实例

/var/log/secure 日志,这个日志中记录的是用户验证和授权方面的信息

  • 日志管理服务应用实例

/etc/rsyslog.conf 中添加一个日志文件/var/log/xdr.log,当有事件发送时(比如 sshd 服务相关事件),该文件会接收到信息并保存,(重启、登录的情况),看是否有日志保存

  • 如:增加所有类型和级别都记录的情况

  • 创建日志文件:

bash 复制代码
> /var/log/xdr.log
  • 重启:
bash 复制代码
reboot
  • 查看 sshd 服务相关的信息
bash 复制代码
cat xdr.log | grep sshd
  • 上面自定义的类型和级别可以根据自身想要的情况去设置
相关推荐
小电玩几秒前
JAVA SE8
java·开发语言
程序员大金15 分钟前
基于SSM+Vue+MySQL的酒店管理系统
前端·vue.js·后端·mysql·spring·tomcat·mybatis
努力的布布19 分钟前
Spring源码-从源码层面讲解声明式事务的运行流程
java·spring
程序员大金25 分钟前
基于SpringBoot的旅游管理系统
java·vue.js·spring boot·后端·mysql·spring·旅游
小丁爱养花27 分钟前
记忆化搜索专题——算法简介&力扣实战应用
java·开发语言·算法·leetcode·深度优先
大汉堡~33 分钟前
代理模式-动态代理
java·代理模式
爱上语文38 分钟前
Springboot三层架构
java·开发语言·spring boot·spring·架构
Pandaconda1 小时前
【计算机网络 - 基础问题】每日 3 题(十)
开发语言·经验分享·笔记·后端·计算机网络·面试·职场和发展
loveLifeLoveCoding1 小时前
Java List sort() 排序
java·开发语言
草履虫·1 小时前
【Java集合】LinkedList
java