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
  • 上面自定义的类型和级别可以根据自身想要的情况去设置
相关推荐
小毅&Nora16 小时前
【Java线程安全实战】⑭ ForkJoinPool深度剖析:分治算法的“智能厨房“如何让并行计算跑得更快
java·算法·安全
开开心心就好16 小时前
打印机驱动搜索下载工具,自动识别手动搜
java·linux·开发语言·网络·stm32·物联网·电脑
yangminlei16 小时前
基于 Java 的消息队列选型年度总结:RabbitMQ、RocketMQ、Kafka 实战对比
java·java-rocketmq·java-rabbitmq
张np16 小时前
java基础-ListIterator 接口
java·开发语言
韩立学长16 小时前
【开题答辩实录分享】以《足球球员数据分析系统开题报告》为例进行选题答辩实录分享
java·数据库·mysql
Apifox.16 小时前
测试用例越堆越多?用 Apifox 测试套件让自动化回归更易维护
运维·前端·后端·测试工具·单元测试·自动化·测试用例
牧小七16 小时前
Java CompletableFuture 使用详解
java
jiayong2316 小时前
MINA框架面试题 - 实战篇
java·io·mina
数智工坊16 小时前
【操作系统-处理器调度】
java·linux·服务器·windows·ubuntu