Linux之系统日志

本文详细介绍日志类型的划分及日志级别的设定,包括日志的远程同步配置与测试过程。同时,深入解析时间同步服务chronyd的配置方法,以及如何使用systemd-journald保存系统日志至硬盘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志的类型和级别

日志类型分为:
auth      ##pam产生的日志
authpriv   ##ssh,ftp等登录信息的验证信息
cron      ##时间任务向光
kern      ##内核
lpr       ##打印
mail      ##邮件
mark(syslog)-rsyslog  ##服务内部的信息,时间标识
news     ##新闻组
user     ##用户程序产生的相关信息
uucp     ##unix to unix copy, unix 主机之间相关的通讯
local 1~7   ##自定义的日志设备

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

注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册:man 3 syslog
在这里插入图片描述

syslogd:主要登陆系统与网络等服务的信息

syslog的配置文件 /etc/rsyslog.conf
vim /etc/rsyslog.conf ##主配置文件

服务.日志级别 /存放文件

日志的远程同步

在日志发送方:
vim /etc/rsyslog.conf
*.*	@172.25.40.2	##"@"表示udp协议发送,"@@"表示tcp协议发送
					##*.*表示所有名字,所有格式的日志,172.25.40.2是接收方IP

设置完文件后重启服务
systemctl restart rsyslog

在日志接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp		##日志接收模块
16 $UDPServerRun 514	##开启接收端口

systemctl restart rsyslog
systemctl stop firewalld	##关闭火墙
systemctl disable firewalld	##设定火墙开机关闭

发送方
在这里插入图片描述
接收方
在这里插入图片描述
在这里插入图片描述
测试:
在写日志前先清空发送方和接收方的日志文件(便于观察)

/var/log/messages

在日志的发送方
logger test
cat /var/log/messages ##查看日志已经生成
在这里插入图片描述

在日志接收方查看
cat /var/log/messages
在这里插入图片描述

日志采集格式设定

vim /etc/rsyslog.conf

写在RULES下面,差不多第46行

$template DZH, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

%timegenerated%			##显示日志时间
%FROMHOST-IP%			##显示主机ip
%syslogtag%				##日志记录目标
%msg%					##日志内容
\n						##换行

*.*		/var/log/messages;DZH

cat /var/log/messages;DZH

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

时间同步服务

服务名称
chronyd

##在服务端:
vim /etc/chrony.conf
22 allow 172.25.40/24		##允许那些客户端来同步本机时间
29 local stratum 10			##本机不同步任何主机的时间,本机作为时间源

systemctl restart chronyd

在这里插入图片描述

##在客户端:
vim /etc/chrony.conf
server 172.25.40.2 iburst	##本机立即同步2主机的时间

systemctl restart chronyd

在这里插入图片描述
测试:
在客户端
[root@client_ssh ~]# chronyc sources -v
在这里插入图片描述

##注意:时间同步只同步一次,如果同步过后,
服务端再更改时间,客户端的时间不会直接同步,
需要再重启一次chronyd服务

timedatectl 命令

timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间(/etc/adjtime里查看)
list-timezones ##查看支持的所有时区

journal

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

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

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald				##重新加载systemd-journald进程配置

ls /var/log/journal
[root@client_ssh ~]# ls /var/log/journal/
946cb0e817ea4adb916183df8c4fc817  
##文件里只有这个机器ID

[root@client_ssh ~]# bootctl
System:
   Machine ID: 946cb0e817ea4adb916183df8c4fc817

##开机后日志还可以保存15:15:04之前的
[root@client_ssh ~]# stat /var/log/journal/946cb0e817ea4adb916183df8c4fc817/
  File: ‘/var/log/journal/946cb0e817ea4adb916183df8c4fc817/’
  Size: 49        	Blocks: 0          IO Block: 4096   directory
Device: fd01h/64769d	Inode: 20205268    Links: 2
Access: (2755/drwxr-sr-x)  Uid: (    0/    root)   Gid: (  190/systemd-journal)
Access: 2019-12-12 15:15:04.879000000 -0500
Modify: 2019-01-15 00:45:55.349081809 -0500
Change: 2019-01-15 00:45:55.349081809 -0500
 Birth: -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值