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系统中的日志管理的主要内容,如果未能解决你的问题,请参考以下文章