linux系统中的日志管理

一、什么是系统日志
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。

二、系统日志的价值
系统日志策略可以在故障刚刚发生时就向你发送警告信息,系统日志帮助你在最短的时间内发现问题。

系统日志是一种非常关键的组件,因为系统日志可以让你充分了解自己的环 境。这种系统日志信息对于决定故障的根本原因或者缩小系统攻击范围来说是非常关键的,因为系统日志可以让你了解故障或者袭击发生之前的所有事件。为虚拟化 环境制定一套良好的系统日志策略也是至关重要的,因为系统日志需要和许多不同的外部组件进行关联。良好的系统日志可以防止你从错误的角度分析问题,避免浪 费宝贵的排错时间。另外一种原因是借助于系统日志,管理员很有可能会发现一些之前从未意识到的问题,在几乎所有刚刚部署系统日志的环境当中。
使用系统日志产品当中包含的其他特性,包括向监控团队自动发送报警通知等 功能。系统日志基于警报类型或者准确的警报消息,系统日志可以通过触发特定操作来完成。系统日志通过简单地设定这些警报,你将会在自己的环境中处于更加主 动的位置,因为你可以在事故变得更加严重之前得到通知

三、系统日志的查看

1.在根目录下的/var/log下存放

存放目录
一般信息存放在/var/log/messages
安全和身份认证相关的消息和错误的日志文件放在/var/log/secure
邮件服务器相关的日志文件放在/var/log/maillog
定时任务相关的日志文件放在/var/log/cron
系统启动有关的日志文件放在/var/log/boot.log
2.日志分类
日志类型

auth                       ##pam产生的日志
authpriv                   ##ssh.ftp等登陆认证信息
cron                       ##时间任务相关
kern                       ##内核 
lpr                        #打印
mail                       ##邮件
mark(syslog)-rsyslog       ##服务内部的消息,时间标记
news                       ##新闻组
users                      ##用户产生的相关信息
uucp                       ## unix to unix copy,unix主机之间
local 1~7                  ##自定义的日志设备

日志级别分类

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

注:从上到下,级别从低到高,记录的信息越来越少
具体信息可以输入指令查看

man 3 syslog

3.rsyslog 是一个开源工具 , 被广泛用于 Linux 系统以通
TCP/UDP 协议转发或接收日志消息。
rsyslog 服务的主配置文件为 /etc/rsyslog.conf 。日志的进程服务名称为rsyslog.service

 systemctl  status  rsyslog     ##查看该服务的运行状态
systemctl   start   rsyslog     ##开启该服务
systemctl   restart rsyslog     ##重启该服务、
systemctl   stop    rsyslog     ##停止该服务

我们可以通过修改rsyslog的配置文件来的到自己想要的日志

vim rsyslog.conf

在该文件的46行 RULES后修改
在这里插入图片描述4.如何将自己想要的日志导入到自己设立的文件内,可以在55行添加如下子段

  *.*           /var/log/lei    ##其中第一个*表示日志的类型,.表示分隔,第二个*表示日志的级别

在这里插入图片描述
然后输入测试指令

logger lei
logger chengzhi

在这里插入图片描述

5.如何将我的日志信息共享或者发送给其他人
首先在日志的发送方的rsyslog的配置文件第56行添加如下内容

 *.*        @172.25.254.55   ##其中第一个*表示日志的类型,.表示分隔,第二个*表示日志的级别,跟之前的区别是,此处换成了接受方的ip

在这里插入图片描述然后在接受方的syslog的配置文件中的第15行和16行的#去掉

在这里插入图片描述
然后重启两台主机的rsyslog服务,并关闭防火墙

systemctl restart rsyslog
systemctl stop  firewalld

然后输入测试信息

logger lei
logger chengzhi1    

在这里插入图片描述6.如何想让日志的内容按照我们的要求显示
需要在syslog的配置文件第47行添加如下子段

$template WESTOS,"%timegenerated%%FROMHOST-IP% %syslogtag% %msg% \n" 

并在54行messages后加

;WESTOS

在这里插入图片描述就可以按照我们想要查看的格式查看了
在这里插入图片描述四、systemd-journald 服务
服务提供一种改进的日志管理服务,可以收集来自内核、启动过程、标准输出、系统日志及守护进程启动和运行期间错误的消息 , 它将这些消息写入到一个结构化事件日志中
1.journalctl的基本指令
journalctl ##日志分析命令
在这里插入图片描述

journalctl -n 5  ##查看最近生成的 5 条日志

在这里插入图片描述

journalctl -p err  ##查看系统报错

在这里插入图片描述

journalctl --since --until  ##查看某个时间段生成的日志

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

journalctl -o verbose   ##查看日志能够使用的条件参数

在这里插入图片描述

2.如何把journalctl记录的内容保存到文件中
因为这个服务是记录在内存中的所以,系统重启后会消失,所以我们如果想要保存到本地,需要进行下列步骤

mkdir /var/log/journal
chown root.systemd-journal /var/log/journal/
chmod 2755 /var/log/journal/
kill -1 systemd-journald**(此处必须是jobs id)**

重启后发现,关机之前的journald日志内容还可以直接用journalctl命令查看

猜你喜欢

转载自blog.csdn.net/weixin_40543283/article/details/83141354