Linux修炼之旅第三章!
本章顺着上一次的博客接着来学习Linux的新知识,介绍了Linux中的日志管理。
下面就开始吧
文章目录
实验开始之前首先输入指令关闭火墙
服务名称
systemd-journald.service
一、journald
服务名称
systemd-journald.service
默认日志存放路径
/run/log
1 journalctl命令的用法
journalctl
-n 3 ##日志的最新3条
--since "2020-05-01 11:00:00" ##显示11:00后的日志
--until "2020-05-01 11:05:00" ##显示日志到11:05
-o ##设定日志的显示方式
# short 经典模式显示日志
# verbose 显示日志的全部字节
# export 适合传出和备份的二进制格式
# json js格式显示输出
-p ##显示制定级别的日志
#0 emerg 系统的严重问题日志
#1 alert 系统中立即要更改的信息
#2 crit 严重级别会导致系统软件不能正常工作
#3 err 程序报错
#4 warning 程序警告
#5 notice 重要信息的普通日志
#6 info 普通信息
#7 debug 程序拍错信息
-F PRIORITY ##查看可控日志级别
-u sshd ##指定查看服务
--disk-usage ##查看日志大小
--vacuum-size=1G ##设定日志存放大小
--vacuum-time=1W ##日志在系统中最长存放时间
-f ##监控日志
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service
2 用journald服务永久存放日志
系统中默认日志在
/run/log/journal
中
默认方式在系统重启后日志会被清理要永久保存日志完成以下操作
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
测试:
1.在操作以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看到日志是被保存下来的
重启后
二、rsyslog
服务名称
rsyslog.service
日志存放
/var/log/messages
系统服务日志,常规信息,服务报错
/var/log/secure
系统认证信息日志
/var/log/maillog
系统邮件日志信息
/var/log/cron
系统定时任务信息
/var/log/boot.log
系统启动日志信息
配置文件
/etc/rsyslog.conf
1 自定义日志采集路径
在vim /etc/rsyslog.conf
中编辑文件
打开文件后可以继续进行后面的实验
*.*
==表示任意类型任意级别
*.* /var/log/westos
把系统中所有级别的日志存放到westos中
这时候就可以在westos中看到日志的内容了
日志类型
auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户
日志级别
debug #程序排错信息
info #程序常规运行信息
notice #重要信息的普通日志
waring #程序警告
err #程序报错
crit #严重级别会导致系统软件不能正常工作
alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集
比如在任意级别类型后加入authpriv.none
*.*;authpriv.none /var/log/westos
就表示把系统中所有级别的日志存放到westos中
但是authpriv不存放到westos中
2 如何更改日志采集格式
1 定义日志采集格式
$template WESTOS, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
其中
WESTOS
格式名称
%FROMHOST-IP%
日志来源主机IP
%timegenerated%
日志生成时间
加上时间的代码再看看效果
%syslogtag%
日志生成服务
%msg%
日志内容
\n
换行
2 设定日志采集格式应用
*.*;authpriv.none /var/log/westos;WESTOS
module(load="builtin:omfile" Template="WESTOS") ##默认采用WESTOS格式
3 日志的远程同步
1 在接收端主机中设定接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog.conf
19 module(load="imudp") ##打开日志接受插件
20 input(type="imudp" port="514") ##指定插件使用接口
systemctl restart rsyslog
2 westos_linux中设定发送日志到188主机中
vim /etc/rsyslog.conf
修改完以后再输入
systemctl restart rsyslog
其中
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.188 把本机日志用udp的传输方式发送到172.25.254.188主机
在接收端主机和发送端主机中分别清空日志
> /var/log/messages
然后
在westos_linux(发送端)中输入
logger westos test message
在188主机(接收主机)中可以看到westos_linux中生成的日志
三、timedatectl
timedatectl set-time "2020-02-13 10:41:55" ##设定系统时间
timedatectl list-timezones ##显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" ##设定系统时区
timedatectl set-local-rtc 0|1 ##设定系统时间计算方式
##0表示使用utc时间计算方式
四、时间同步服务
服务名称
chronyd.service
配置文件
/etc/chrony.conf
步骤
vim /etc/chrony.conf
allow 172.25.254.0/24 ##允许172.25.254.0网段主机同步时间
local stratum 10 ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld
vim /etc/chrony.conf
pool 172.25.254.188 iburst
systemctl restart chronyd
看看效果
chronyc sources -v