Linux8分析和储存日志

分析和储存日志

描述系统日志架构

红帽企业 Linux 内建基于日志系统协议标准的日志记录系统,包括两个服务

systemd-journald:守护进程提供一种改进的日志管理服务,可以来自内核、启动过程 的早期阶段、标准输出、系统日志,以及守护进程启动和运行期间的错误消息。(临时日志数据)

rsyslog:根据数据类型或设备类型和优先级排列系统日志消息,将他们写入到/var/log 目录的永久文件中。

在这里插入图片描述

查看系统日志文件

在这里插入图片描述

系统日志文件

rsyslogd 服务使用日志消息的设备(来源)和优先级来确定如何处理,配置规则 位于 /etc/rsyslog.conf 文件,以及 /etc/rsyslog.d 目录下的 .conf 文件。程序 和管理员可以将带有 .conf 后缀的自定义文件放入 /etc/rsyslog.d 目录,以更改 配置。

  • rsyslog 规则大致可以写为: <日志内容>.<严重程度> <存放位置> 例1:mail.* /var/log/mail.log

    #所有优先级的 mail 日志都保存在 mail.log 中

  • 注意:修改完成后,需要重新加载文件;日志的记录要权衡“量”的问题。

日志文件轮转 (了解就行)

日志通过 logrotate 实用工具“轮转”,以防止将 /var/log/ 中的文件 系统填满。

轮转日志文件时,会使用名称扩展对其进行重命名,名称扩展指示轮转 日期:如果文件在2020年10月30日轮转后,则原来的 /var/log/messages 文件会变成 /var/log/messages-20201030。轮 原文件之后,会创建新的日志文件,并通知对他执行写操作的服务 轮转若干次之后(通常轮转四次),丢弃原日志文件以释放磁盘空间。 cron 作业每日运行一次 logrotate 程序,以查看是否有任何日志需要 轮转。大多数日志文件每周轮转一次,但是 logrotate 轮转文件的速度 有时比较快,有时较慢,或在文件达到特定大小时进行轮转。 配置文件:/etc/logrotate.conf

分析日志条目

由rsyslog 管理的日志文件中所有的日志条目都以标准的格式记录:

①Feb 11 20:11:48② localhost ③sshd[1438] ④Failed password for student from 172.25.0.10 port 59344

① 日志条目的时间戳

② 发送该日志条目的主机

③ 发送该日志条目的程序或进程和 PID

④ 日志条目的详细信息

生成日志

logger #生成指定内容的 notice 级别日志,可以使用 -p 指定级别

示例:logger -p authpriv.error “hello world”

发送来自 authpriv(权限系统)的 error 级别日志消息,消息内容为 hello world, 它将根据日志配置文件存放在相应的日志文件中。

查看日志

a) 直接查看日志文件

vim <日志> #可以看到日志文件的全部信息,但不利于快速定位目标

cat <日志> | grep XXX #结合 grep 命令快速筛选

tail -f <日志> #动态查看文件末尾(常用)

例2:使用 tail -f 动态查看 logger 命令生成的日志信息

1)查看 /etc/rsyslog.conf 可以发现所有来自权限系统的日志消息都保存在 /var/log/secure 中

2)tail -f /var/log/secure #在一个终端上动态查看日志

3)logger –p authpriv.error “hello world” #在另一个终端上发送日志

通过 journalctl 查找 systemd 事件

journalctl #查看所有日志消息

journalctl -n 5 #查看最后5条日志消息

journalctl -o verbose #查看详细的日志消息

journalctl -f #动态查看最后10条日志消息

-p <级别> #只显示该级别以上的日志,例如:err

journalctl 命令以粗体突出 notice 或 warning,以红色文本显示 err 及更高

journalctl [–since

支持使用 today、tomorrow、yesterday

其他常用字段:(可以组合多个字段使用)

_COMM:命令的名称

_EXE:进程的可执行文件的路径

_PID:进程的 PID 编号

_UID:运行进程的用户的

UID _SYSTEM_UNIT:启动该进程的 systemd 单元

示例:journalctl _SYSTEMD_UNIT=sshd.service _PID=1182

查看 sshd.service 服务,PID 为1182的进程的日志消息

将systemd系统日志从临时修改成永久

vim /etc/systemd/journald.conf 打开配置文件

Storage Volatile ======> Persistent 将Storage参数修改成永久

systemctl restart systemd-journald 重启

维护准确时间

时间的同步主要有两种方式

通过网络时间协议 NTP 获取正确时间信息。

通过高质量硬件时钟为本地客户端提供准确时间。

配置系统的时区

timedatectl list-timezones #列出系统包含的时区数据库

tzselect #以交互的形式,识别某时区的正确名称

timedatectl set-timezone <洲/国家> #设置系统的时区

timedatectl set-time YYYY-MM-DD hh:mm:ss #设置系统的时间

timedatectl set-ntp #启用/禁用 NTP

配置本地 NTP 服务器过程

a) 修改配置文件 /etc/chrony.conf

b) systemctl restart chrond #重新启动 chronyd 服务

c)chronyc sources -v #查看 NTP 配置

配置本地 NTP 服务器过程

a) 修改配置文件 /etc/chrony.conf

b) systemctl restart chrond #重新启动 chronyd 服务

c)chronyc sources -v #查看 NTP 配置
在这里插入图片描述

]timedateclt 查看是否已经完成同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值