Linux之系统日志管理

78 篇文章 3 订阅
70 篇文章 2 订阅

linux之系统日志管理

  • 什么是系统日志

    系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。

  • 系统日志配置文件

/var/log/messages    ##服务信息日志
/var/log/secure      ##系统登陆日志
/var/log/cron        ##定时任务日志
/var/log/maillog     ##邮件日志
/var/log/boot.log    ##系统启动日志
  • 指定日志采集路径
type.level     /var/log/file
日志类型(type)分为:
auth                 ##pam产生的日志
authpriv             ##ssh,ftp等登陆信息的验证信息
cron                 ##时间任务相关
kern                 ##内核
lpr                  ##打印
mail                 ##邮件
mark(syslog)-rsylog ##服务内部的信息,时间标示
news                 ##新闻组
user                 ##用户程序产生的相关信息
local1-7             ##自定义的日志设备

日志级别(level)分为:
debug                ##有调式信息的,日志信息最多
info                 ##一般信息的日志,最常用
notice               ##最具有重要性的普通条件的信息
warning              ##警告级别
err                  ##错误级别,组织某个躬耕或者模块不能正常工作的信息
crit                 ##严重级别,阻止真个系统或者整个软件不能正常工作的信息
alert                ##需要立刻修改的信息
emerg                ##内核崩溃等严重信息
none                 ##什么都不记录
  • 日志的远程同步
    rsyslog:此服务是用来采集系统日志的,自身不产生日志
man 5 rsyslog.conf   ##查看同步的方式
“@”表示udp协议发送  “@@”表示tcp协议发送

在日志发送端:

vim /rsyslog.conf    ##打开配置文件
在RULES下 找一个空行输入
*.*            @172.25.1.2(接收端ip)
systemctl restart rsyslog  ##重启rsyslog服务

在这里插入图片描述
在日志接收端:

vim /etc/rsyslog.conf   ##打开配置文件
/UDP                    ##高亮显示UDP
15 $Modload imudp       ##日志接收模块
16 $UDPServerRun 514    ##开启接受端口
注意:只需删除行首开头的“#” 退出保存即可
systemctl restart rsyslog   ##重启服务
systemctl stop firewalld    ##关闭防火墙
systemctl disable firewalld ##让防火墙开机不启动

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

先在发送端和接受端分别都清空日志文件
> /var/log/messages
在发送端键入
logger test(日志内容)
在接受端查看
cat /var/log/messages

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

  • 设置日志采集格式
    在接收端设置:
vim /etc/rsyslog.conf          ##打开配置文件
$template LOGFMT(自定义日志名), “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n“                       
                                 显示日志时间      显示主机IP    日志记录目标 日志内容 换行  

*.*   /var/log/westos;LOGFMT   ##把新建规则定义到原有westos日志上

cat /var/log/westos            ##查看设置效果(注意清空以及restart)

在这里插入图片描述
另外一种定义新规则方法:

前面不变
在GLOBAL DIRECTIVES下找个空行输入
$ActionFileDefaultTrmplate WESTOS

在这里插入图片描述

  • 时间同步服务
    chronyd
    作用:使发送端和接收端日志时间同步
    设置方法:
    在接收端即服务端:
vim /etc/chrony.conf     ##打开配置文件
22 allow 172.25.9.10/24  ##允许哪个ip地址客户端来同步本纪时间
29 local stratum 10      ##本机不同步任何主机的时间,本机作为时间源
注意:删除#该配置生效
systemctl restart chronyd  ##重启

在这里插入图片描述
在这里插入图片描述
在客户端即发送端:

vim /etc/chrony.conf           ##打开配置文件
添加server 172.25.1.2iburst  ##本机立即同步2的主机
systemctl restart chronyd      ##重启

在这里插入图片描述
测试:在客户端随意键入date查看当前时间与服务端时间是否一致,前提是实验前将客户 端时间任意修改。
在这里插入图片描述

  • timedatectl命令
    作用:更改系统时间
timedatectl status           ##查看timedatectl服务状态
timedatectl set-time         ##设定系统时间
timedatectl set-timezone     ##设定系统时区
timedatectl set-local-rtc 0|1   ##设定UTC与LOCAL(可使双系统时区时间保持一致)
在 /etc/adjtime 查看当前状态
timedatectl list-timezones   ##查看所有时区

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

  • journalctl命令
    作用:系统日志查看工具
journalctl -n 4      ##查看最近4条日志
journalctl -p err    ##查看错误日志

在这里插入图片描述

journalctl -o verbose        ##查看日志的详细参数

在这里插入图片描述

journalctl _PID=84 _COMM=systemd-journal   ##查看PID为84 命令为systemd-journal的日志

在这里插入图片描述

journalctl --since            ##查看从什么时间开始的日志
journalctl --until            ##查看到什么时间为止的日志
journalctl --since   --until  ##查看从什么时间开始、到什么时间结束的日志

在这里插入图片描述

  • systemd-journald命令
    作用:保存系统日志
    说明:默认systemd-journald是不保存系统日志到硬盘的,关机后在此开机只能看到本次开机之后的日志文件。关机之前的日志的无法查看到的。

    设置开机之后可以看到关机前的系统日志文件
    方法如下:

mkdir /var/log/journal
chgrp systemd-journald /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
ls /var/log/journal
显示:94cb0e817ea4ab916183df8c4fc817
bootctl         ##重启查看效果
注意:不建议此设置,如果不是需要的话或者磁盘容量大,否则长时间会使磁盘满载导致系统崩溃

在这里插入图片描述
END

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值