Linux系统中的日志管理

Posted CQ。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统中的日志管理相关的知识,希望对你有一定的参考价值。


实验环境
westosa:172.25.254.118
westosb:172.25.254.218
在两个主机里执行

systemctl stop firewalld

关闭防火墙

一、journald

服务名称:systemd-journald.service journalctl
默认日志存放路径:/run/log

实验一:journalctl命令的用法

journalctl

 - n 3   #日志的最新三条
 - -since "2020-02-02 11:00:00"   #显示该时间之后的日志
 - -until "2020-02-02 11:00:00"   #显示日志到该时间
 - o   #设定日志的显示方式
 - p   #显示指定级别的日志
 - F PRIORITY   #查看可控日志级别
 - u sshd   #指定查看服务
 - -disk-usage   #查看日志大小
 - -vacuum-size=1G   #设定日志存放大小
 - -vacuum-time=1W   #日志在系统中最长存放时间
 - f   #监控日志
  # short 经典模式显示日志
 # verbose 显示日志的全部字节
 # export 适合传出和备份的二进制格式
 #json js格式显示输出
 #0 emerg   系统的严重问题日志
 #1 alert    系统中立即要更改的信息
 #2 crit   严重级别会导致系统软件不能正常工作
 #3 err   程序报错
 #4 warning   程序警告
 #5 notice   重要信息的普通日志
 #6 info   普通信息
 #7 debug   程序拍错信息

实验二:用journald服务永久存放日志

系统默认日志在:/run/log/journal中
默认方式在系统重启后会被清理要永久保存日志请完成以下操作:

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service

当系统重启日志存放路径会被指定到:/var/log/journal

测试:
1)在操作以上步骤之前查看日志
2)重启系统
3)再次查看日志
4)可以看到日志是不会被保存下来的只能看到中期之后的日志
5)完成以上操作之后再次重启系统可以看到日志是被保存下来的

二、rsyslog

服务名称:rsyslog.service
日志存放:

/var/log/messages   #系统服务日志,常规信息,服务报错
/var/log/secure     #系统认证信息日志
/var/log/maillog    #系统邮件日志信息
/var/log/cron       #系统定时任务信息
/var/log/boot.log   #系统启动日志信息
配置文件:/rtc/rsyslog.conf

1、实验一:自定义日志采集路径

vim /etc/rsyslog.conf
日志类型.日志级别日志存放路径
* . */var/log/westos #把系统中所有级别的日志存放到westos中
* . * ; authpriv.none/var/log/westos #把系统中所有级别日志存放到westos中,但是authpriv不存放到westos中

日志类型

auth   #用户认证
authpriv   #服务认证
cron   #时间任务
kern   #内核类型
mail   #邮件
news   #系统更新信息
user   #用户

日志级别

debug   #程序排错信息
info   #程序常规运行信息
notice   #重要信息的普通日志
warning   #程序警告
err   #程序报错
crit   #严重级别会导致系统不能正常工作
alert  #系统中立即要更改的信息
emerg   #系统中的严重问题日志
none   #不采集

2、实验二:如何更改日志采集格式

1、定义日志采集格式
$template WESTOS_FORMAT,"%FROMHOST-IP% %timegenerated%% %FROMHOST-IP% %syslogtag% %msg%\\n"

#WESTOS_FROMAT:             格式名称
#%FROMHOST-IP%:          日志来源主机ip
#%timegenerated%:           日至生成时间
#%syslogtag%:        日志生成服务
#%msg%:     日志内容
#\\n:      换行

2、设定日志采集格式应用

(1.在配置文件中编写一个名为WESTOS的模板,采集格式为“日志来源主机IP,生成时间,服务,内容”
在这里插入图片描述

(2.对指定文件用编写的模板采集日志,如:让linux文件以WESTOS格式采集日志
在这里插入图片描述

(3. 重启rsyslog服务,查看linux日志文件,格式生效
在这里插入图片描述

(4.若是想要所有文件都采用WESTOS格式,可将默认模板名改为WESTOS
在这里插入图片描述

3、实验三:日志的远程同步

实验目的:
主机A 192.168.1.19:发送日志到主机B
主机B 192.168.1.29: 日志接收端
1.在主机A中修改配置文件,设定发送日志到主机B,重启服务
在这里插入图片描述
在这里插入图片描述

@:udp传输
@@:tcp传输
在这里插入图片描述

2.在主机B修改配置文件,设定接收所有人的日志
在这里插入图片描述

3.查看到主机B的514端口已打开,关闭火墙;此时,日志同步设定已完成
在这里插入图片描述

4.为了观察实验效果,两台主机分别清空日志文件,在主机A上执行logger linux 测试命令,在主机B上可以查看到同步的日志

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

三、timedatectl

timedatectl命令用来管理系统的时间
在这里插入图片描述

timedatectl set-time +【具体的时间】	设定系统时间
timedatectl list-timezones	显示所有时区
timedatectl set-timezone+【时区】	设定系统时区
timedatectl set-local-rtc 0/1	设定系统时间计算方式;0表示硬件采用utc计算时间方式,1表示让硬件采用本地时间

四、 时间同步服务

服务名称: chronyd.service
配置文件: /etc/chrony.conf

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

在主机A中重启chrony服务,关闭火墙

在主机B中修改配置文件,同步主机A的时间,重启chronyd服务

在主机B查看时间,已变为主机A的时间

主机B使用chronyc sources -v 命令查看同步效果
在这里插入图片描述

以上是关于Linux系统中的日志管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统中的日志管理

linux的日志管理

Linux系统管理初步系统日志与screen程序

Linux系统故障分析与排查--日志分析

linux下logrotate 配置和理解

别偷看!Linux系统乾坤大挪移 三式够用- 详解日志管理妙用