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
  • 上面自定义的类型和级别可以根据自身想要的情况去设置
相关推荐
码不停蹄的玄黓19 分钟前
JUC核心解析系列(五)——执行框架(Executor Framework)深度解析
java·jvm·spring boot·spring cloud
白总Server20 分钟前
GaussDB 分布式数据库调优(架构到全链路优化)
java·网络·c++·架构·go·scala·数据库架构
import_random36 分钟前
[macos]rocketmq(安装)
后端
listhi52038 分钟前
k8s使用私有harbor镜像源
java·docker·kubernetes
在未来等你1 小时前
Java并发编程实战 Day 21:分布式并发控制
java·多线程·并发编程
程序员小假1 小时前
你会不会使用 SpringBoot 整合 Flowable 快速实现工作流呢?
java·后端
来自外太空的鱼-张小张1 小时前
java将pdf文件转换为图片工具类
java·python·pdf
代码中の快捷键1 小时前
如何实现一个登录功能?
java·开发语言
明月与玄武1 小时前
快速掌握Django框架设计思想(图解版)
后端·python·django
陪我一起学编程1 小时前
关于ORM增删改查的总结——跨表
数据库·后端·python·django·restful