1.10 Linux中的日志管理

实验环境

服务端:172.25.254.123(13,网桥)
客户端:172.25.254.223(12)

实验过程的注意事项:关闭防火墙

systemctl stop firewalld

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

journald

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

 systemctl status systemd-journald.service

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

实验一:journalctl命令的用法

(1)指定时间显示日志

#日志最新的3条记录
journalctl -n 3 

在这里插入图片描述

#显示23点之后的日志
journalctl --since "23:00:00"   

在这里插入图片描述

#显示日志到11点之后
journalctl --until "11:00:00"   
#显示从23:30到23:40的日志记录
journalctl --since "23:30:00" --until "23:40:00"   

在这里插入图片描述

(2)指定日志的显示方式

#经典模式
journalctl -o short   

在这里插入图片描述

#显示日志的全部字节
journalctl -o verbose   

在这里插入图片描述

#适合传出和备份的二进制格式
journalctl -o export    

在这里插入图片描述

#Java的方式显示日志
journalctl -o json      

在这里插入图片描述

(3)-p 显示日志级别

journalctl -p 0         #emereg,系统崩溃,系统的严重问题日志
journalctl -p 1         #alert,系统中立即要更改的信息,系统崩溃
journalctl -p 2         #crit,异常,严重级别会导致系统软件不能工作
journalctl -p 3         #err,程序报错
journalctl -p 4         #warning,程序警告
journalctl -p 5         #notice,重要信息的普通正常日志
journalctl -p 6         #普通信息
journalctl -p 7         #debug,程序排错信息

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)-F PRIORITY 查看日志可用级别

#查看日志可用级别
journalctl -F PRIORITY   

在这里插入图片描述

(5)-u xxxxx 指定查看服务

#查看sshd的服务日志
journalctl -u sshd       

在这里插入图片描述

(7)–disk-usage 查看日志大小,用了多少硬盘

journalctl --disk-usage

在这里插入图片描述

(8)日志回滚vacuum

#设定日志存放的大小,超过2G,则删除
journalctl --vacuum-size=2G  

在这里插入图片描述

#设定日志在系统中最长的存放时间,超过一周w,则删除
journalctl --vacuum-time=1W  

(9)-f 监控日志(比如:查看谁登陆了服务端)

journalctl -f

(10) 指定内容查看日志

(通过junrnalctl -o verbose 查看_后面可以跟什么内容)

#查看某一进程日志
journalctl  _PID=xxxx     
#查看系统某一服务日志
journalctl   _systemd_unit=sshd.service   
journalctl  _BOOT_ID=.......

在这里插入图片描述

实验2:用journald服务永久保存日志

重启系统后,日志会更新(之前的内容清除),想要永久保存日志,可以将日志保存到硬盘

mkdir  /var/log/journal
chgrp  systemd-journal  /var/log/journal
chmod  2775  /var/log/journal
ls  -ld  /var/log/journal
ls  /var/log/journal

在这里插入图片描述

在linux主机里
用超级用户,打开第二个主机
设定ip(nm-connection-editor)
关闭防火墙,在2机里面ping1
虚拟机开启时,不要更改系统网卡设置,会损坏硬件

实验3:虚拟机的journald服务

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

rsyslog 服务器开启:将日志采集到硬盘

systemctl restart sshd
tail /var/log
> /var/log
cat

  1. 服务名称:rsyslog.service
日志目录 注释
/var/log/messages 系统服务日志,常规信息,服务报错
/var/log/secure 系统认证信息日志
/var/log/maillog 系统邮件日志信息
/var/log/cron 系统定时任务信息
/var/log/boot.log 系统启动日志信息
  1. 配置文件:/etc/rsyslog.conf

  2. 日志类型.日志级别
    xxxx.xxxx

ssh:服务认证

日志类型 注释
auth 用户认证
authpriv 服务认证
cron 时间任务
kern 内核类型
mail 邮件
news 系统更新信息
user 用户
日志级别 注释
debug 程序排错信息
info 程序常规运行信息
notice 重要信息的普通日志
warning 程序警告
err 程序报错
crit 严重级别会导致系统软件不能正常工作
alert 系统中立即要更改的信息
emerg 系统的严重问题日志
none 不采集

实验一:自定义日志采集路径
(* .* /var/log/westos (所有类型的文件放在westos中)
authpriv.none /var/log/westos (authpriv不存放在westos)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述node2 去远程登录 node1
在这里插入图片描述node1的日志记录了下来
在这里插入图片描述

实验二:日志的远程同步(如何查看很多服务器的日志)

step1:实验环境:node1负责接受,node2负责推送日志(发送方,@172.25.254.223)

man 5 conf #查看用法
/romote
step2:传送自己的日志时,不需要确定接受主机是否在,只负责投递,因此,采用UDP协议

传输协议 特点
TCP 稳定,三次握手
UDP 只负责发信息,传输信息,传输快
RELP 保存在本机
#关闭防火墙
systemctl  disable  --now  firewalld

在这里插入图片描述step3:修改配置文件,打开UDP端口

vim /etc/rsyslog.conf
#删除19,20行的注释符
#在接受方node1开启UDP端口514

在这里插入图片描述在这里插入图片描述
step4:接收方和发送方都清空日志
在这里插入图片描述在这里插入图片描述

step5:用logger在接收方node2生成日志

#生成日志传输
logger test    

在这里插入图片描述在这里插入图片描述step6:监控接收方

#用tail -f messages 监控node1
watch -n 1 'tail -f messages'   

在这里插入图片描述

实验三:如何更改日志采集格式

step1:更改接受方的日志采集规则
WESTOS “格式”
在这里插入图片描述在这里插入图片描述

timedatectl

远程登陆2台虚拟机node1和node2,可以 init 3 关闭图形

  1. 查看时间:timedatectl
    在这里插入图片描述

local time Unversral time事实

RTC 硬件时间bios的时间
UDC方式计算时间,系统时间是在硬件时间加上时区值

  1. timedatectl 的用法
#修改系统时间
timedatectl  set-time   "2021-1-21 9:25:00"    

在这里插入图片描述

#显示所有时区
timedatectl list-timezones                      

在这里插入图片描述

#修改时区,默认"Asia/Shanghai"
timedatectl set-timezone  "Asia/Tokyo"                      

在这里插入图片描述

#是否使用本地RTC时间,0:用 UTC,1:使用,有风险,因为认证有时间戳
tiemdatectl  set-local-rtc  0|1  

在这里插入图片描述

时间同步服务

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

实验:同步两台主机的时间

方法:时间不好统一,可以由一台主机共享时间
node1:获取时间,作为客户端
node2:共享时间,作为服务端,需要关闭防火墙

step1服务端 :在时间服务其中编辑文件

vim /etc/chrony.conf

在该文件第23行,allow 0.0.0.0/0(允许所有用户访问,我改成了172.25.254.123/0,仅允许node1查看node2的时间)
在该文件第26行,10 表示当前主机服务器的时间级别,本地作为其他主机的时间源
在这里插入图片描述在这里插入图片描述在这里插入图片描述

step2客户端node1 :需要编辑同样的文件

vim /etc/chrony.conf

第3行:pool xxxxxxxxxx(网址) ibrust
将网站写成自己的(将获得时间源的地址改成服务端node2的地址172.25.254.223)
客户端再次查看是否同步时间 chronyc sources -v
^:服务端的IP地址
*:已经同步
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述step3:实验可能存在的问题,修改RTC时间

#把系统时间同步到硬件
clock  -w          
#把硬件时间同步到系统
clock  -s          

猜你喜欢

转载自blog.csdn.net/weixin_47133613/article/details/112916530