Linux日志管理服务 rsyslogd

简介: Linux日志管理服务 rsyslogd

1. 基本介绍

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

2. 系统常用的日志

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

应用案例

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

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

echo '' > secure

在这里插入图片描述

  • 先输入 两次错误 的密码
    在这里插入图片描述
  • 再输入 一次正确 的密码登录成功
    在这里插入图片描述
  • 查看 secure 日志记录了什么信息,分别记录了两次失败的登录和一次成功的登录
    在这里插入图片描述
    • 可以通过 secure 查看相关的安全方面的日志信息

      3. 日志管理服务 rsyslogd

  • CentOS 7.6 日志服务是 rsyslogd , CentOS 6.x 日志服务是 syslogd
  • rsyslogd 功能更强大。rsyslogd 的使用、日志文件的格式,和 syslogd 服务是兼容的。
  • 原理示意图:
    在这里插入图片描述

  • 查看 rsyslogd 配置文件

    more /etc/rsyslog.conf
    

    在这里插入图片描述

  • 查询 Linux 中的 rsyslogd 服务是否启动
ps aux | grep "rsyslog" | grep -v "grep"

在这里插入图片描述

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

在这里插入图片描述

  • 查询 rsyslogd 服务的自启动状态
systemctl list-unit-files | grep rsyslog

在这里插入图片描述

  • 配置文件:/etc/rsyslog.conf
  • 编辑文件时的格式为: *.* 存放日志文件
  • 其中第一个*代表日志类型,第二个*代表日志级别
    1) 日志类型分为:
auth  ## pam 产生的日志
authpriv ##ssh、ftp 等登录信息的验证信息
corn ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to nuix copy 主机之间相关的通信
local 1-7 ##自定义的日志设备

2) 日志级别分为:

debug ##有调试信息的,日志通信最多
info ##一般信息日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等重要信息
none ##什么都不记录

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

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

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

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

  • 日志管理服务应用实例

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

  • 如:增加所有类型和级别都记录的情况
    在这里插入图片描述

  • 创建日志文件:

> /var/log/xdr.log
  • 重启:
reboot
  • 查看 sshd 服务相关的信息
cat xdr.log | grep sshd

在这里插入图片描述

  • 上面自定义的类型和级别可以根据自身想要的情况去设置
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
27天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
79 1
|
20天前
|
存储 监控 安全
Linux系统日志
【4月更文挑战第6天】Linux系统日志,关键用于记录系统状态和事件,包括内核、系统、安全和应用日志,助力管理员诊断问题、确保系统正常运行。日志管理涉及收集、分析、备份等,常用工具如rsyslog、systemd-journal和logrotate(用于日志轮转)。重视日志文件的存储管理,防止空间占用过多。
19 1
Linux系统日志
|
12天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
26 0
|
13天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
13天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
|
20天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
23天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6
|
27天前
|
运维 监控 安全
linux日志分析与追踪
在Linux中,日志分析涉及检查 `/var/log` 下的不同文件,如`messages`、`auth.log`、`kern.log`等,以及Web服务器和数据库日志。使用`tail`、`grep`、`awk`等工具实时查看和搜索日志,`logrotate`管理日志大小,`journalctl`处理Systemd日志,而`Splunk`等工具则用于集中式分析。分析技巧包括异常检测、时间关联和阈值监控。安全事件追踪结合登录失败日志、网络嗅探和IDS/IPS。日志链路追踪在分布式系统中尤为重要,帮助定位服务调用问题。有效的日志管理和分析能增强系统安全和故障排除能力。
23 7
|
30天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
26天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
83 1