如何让你对linux系统日志了如指掌

1.系统日志管理

(1)rsylsog:此服务是用来采集系统日志的,它自己不产生日志,只是起到采集日志的作用
(2)rsyslog的管理:

/var/log/messages服务信息日志
/var/log/secure系统登录日志
/var/log/cron定时任务日志
/var/log/maillog邮件日志
/var/log/boot.log系统启动日志

(3) 日志采集规则在 /var/log/file (文件名)中设置
日志类型

日志类型来源
authpam产生的日志
authprivssh, ftp等登录信息的验证信息
cron时间任务相关
kern内核
lpr打印
mail邮件
mark(syslog)-rsyslog服务内部的信息,时间标时
news新闻组
user用户程序产生的相关信息
uucpunix, to unix copy, unix 主机之间的相关通讯
local自定义的日志设备

日志级别

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

2.日志的定向采集

将什么类型,什么级别的日志放在哪个路径下,这就叫做日志的定向采集
这样做也有利于日值的管理和查看

步骤一:编辑/etc/rsyslog.conf 文件,在日志采集文件里设置将任意类型任何级别的日志都存放在/var/log/westos1 下,如果westos1不存在,则会自动生成该文件 设置格式: * .* /var/log/westos1
在这里插入图片描述
步骤二:重启服务
在这里插入图片描述
测试
步骤一:生成日志:systemctl restart sshd
步骤二:查看日志:cat /var/log/westos1
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
注意: 从上到下,级别从从低到高,记录的信息越来越少
详细的可以查看手册: man 3 syslog

3.日志的远程同步

一台主机管理多台服务器日志的实验:
步骤一:
在日志发送方设置:
(1)在发送方server主机中编辑/etc/rsyslog.conf 文件 :
(2)添加接受方ip
在这里插入图片描述
(3) 重启服务 systemctl restart rsyslog ,

在这里插入图片描述
步骤二
在日志的接收方设置:
(1)在接收方desktop 主机中编辑文件 /etc/rsyslog.conf
(2)将这个文件中的第15行和16行的注释去掉
在这里插入图片描述
可用该命令在接收方查看UDP服务是否开启:

netstat  -antlupe  |  grep rsyslog

在这里插入图片描述

(3) 重启服务:systemctl restart rsyslog
(4)关闭防火墙 :systemctl stop firewalld
在这里插入图片描述
步骤三: 测试
(1)在发送方和接收方清空日志文件
命令格式: > /var/log/messages
在这里插入图片描述
在这里插入图片描述
(2)在日志发送方输入:

logger  test              #产生日志
cat    /var/log/messages  ##查看日志

在这里插入图片描述
(3)在日志接收方查看远程主机发送过来的日志:
在desktop 主机中输入:cat /var/log/messages
在这里插入图片描述
可见日志同步成功

4.日志采集格式的设定

注意:此实验是在远程同步的基础上进行的

一般我们采集的日志格式如下:
cat /var/log/messages

在这里插入图片描述

目的:在接收日志方进行日志采集格式的设置,方便查看日志发送方的ip地址,日志的内容,时间等

具体操作步骤:
步骤一: 在接收日志方(client),进行日志采集格式的设置

(1)编辑日志配置文件 vim  /etc/rsyslog_conf 
(2)在rules  (规则下)设置日志采集规则
    格式:*.info;mail.none;authpriv.none;cron.none           /var/log/messages;WESTOS
(3)在“GLOBAL DIRECTIVES“全局指令下添加:
     $template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
                         显示日志时间    显示主机ip    日志记录目标 日志内容
 (4)重启服务:  systemctl restart rsyslog.service

在rules (规则下)设置日志采集规则在这里插入图片描述
在“GLOBAL DIRECTIVES“全局指令下添加
在这里插入图片描述
步骤二: 在日志接收方查看日志格式
cat /var/log/messages
在这里插入图片描述
修改系统默认日志采集格式为WESTOS的步骤
步骤一:继续编辑文件 /etc/rsyslog.conf 文件
(1)将第29行修改为:
在这里插入图片描述(2)在54行,取消之前添加的保存文件格式WESTOS,改为默认(防止之前的实验影响)
在这里插入图片描述

(3)重启服务 :systemctl restart rsyslog.service
步骤二: 查看日志格式
cat /var/log/message 或者查看 cat /var/log/secure (但需要别的主机登录此台修改日志格式的电脑)
在这里插入图片描述

5.设置系统时间

采用 timedatectl 命令

timedatectl管理系统时间
timedatectl status(可加可不加)显示当前时间
timedatectl set-time设定当前时间
timedatectl set-timezone设定当前时区
timedatectl set-local-rtc 0或者1设定是否使用utc时间
timedatectl list-timezones查看支持的所有时区

(1)timedatectl 管理系统时间

Local time本地时间
Universe time国际时间
RTC time硬件时间
Timezone时区

eg:更改时区
在这里插入图片描述

6.时间同步服务

如果日志发送方和接收方的时间不一致会很麻烦,所以需要将客户端域服务端的时间同步

主机时间同步服务名称:chronyd
步骤一:
在服务端编辑文件:vim /etc/chrony.conf

修改:
22行:allow 172.25.81.0/24   #允许哪些主机客户端来同步本机时间
29行:local stratum 10      本机不同步任何主机的时间,本机作为时间源
重启服务:systemctl  restart  chronyd

在这里插入图片描述
步骤二:在客户端:vim /etc/chrony.conf

server 172.25.81.200(服务端ip),iburst(删除起他的)  本机立即同步200主机的时间
systemctl  restart  chronyd

在这里插入图片描述步骤三:测试

1.在客户端输入:chronyc  sources -v
2.出现* ip 就说明好了

在这里插入图片描述步骤四:在客户端和服务端均输入date命令,查看时间是否同步,可看到时间仅差几秒
在这里插入图片描述
在这里插入图片描述

7.journal 查看日志

rsyslog 采集日志,从磁盘读取,速度慢,reboot重启系统之后,系统之前的日志会被清除
jounral 不采集日志,直接从内核查看日志,速度更快,reboot重启系统之后之前的日志会被清除
(1)journalctl 日志查看工具

journalctl -n 3查看最近3条日志
journalctl -p err查看错误日志
journalctl -o verbose查看日志的详细参数
journactl --since查看从什么时间开始的日志
journalctl --until查看到什么时间为止的日志

eg:

journalctl -n 3 ## 查看最近3条日在这里插入图片描述
journalctl --since “2019-10-23 05:0:0” #查看从什么时间开始的日志在这里插入图片描述
journalctl --until “2019-10-23 05:10:00”
在这里插入图片描述
2.如何让journctl采集日志
在硬盘创建一个可以存储journalctl 命令采集的日志

如何使用systemd-journal保存系统日志
默认systemd-journald是不保存系统日志到硬盘的,关机后只能看到本次开机之后的日志,关机之前是无法看到的

操作步骤:
(1)mkdir /var/log/journal

在硬盘上创建一个可以存储journalctl 命令采集的日志文件

(2)chgrp systemd-journal /var/log/journal/

系统初始化程序控制这个日志,改这个文件的所有组为systemd-journal
这样系统就可以识别这个文件,把这个文件放入这个组,让组控制这个文件
在这里插入图片描述
(3)chmod g+s /var/log/journal
改这个文件的权限,使这个文件的systemd-journal 组都能查看这个日志

(4)ls -ld /var/log/journal #查看文件属性
在这里插入图片描述
(5)ps aux | grep journal #查看进程
在这里插入图片描述
(6)killall -1 /usr/lib/systemd/systemd-journald (进程重新加载配置,不会关闭进程)
(7)date 查看系统时间
(8)ls /var/log/journal
在这里插入图片描述
(9)bootctl 查看机械码
在这里插入图片描述
(10)重启
(11)journalctl (可以看到关机之前的日志了,就是采集日志)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>