Linux系统中的日志管理
journald
服务名称:systemd-journald.service
调用服务的命令:journalctl
默认日志的存放路径:/run/log (内存中短暂保存,只能保存本次开机时的日志信息)
journaltcl 命令后的参数
journaltcl ##查看日志
命令后的参数 | 作用 |
---|---|
-n 3 | 查看日志的最新3天 |
–since “2020-05-01 11:00:00” | 显示11:00后的日志 |
–until “2020-05-01 11:05:00” | 显示到11:05之前的日志 |
-o short | 经典模式显示日志 |
-o verbose | 显示日志的所有字节 |
-o export | 适合传出和备份的二进制格式 |
-o json | js格式显示输出 |
-p emerg | 系统的严重问题日志(0) |
-p alert | 系统中立即要更改的信息(1) |
-p crit | 严重级别会导致系统软件不能正常工作(2) |
-p err | 程序报错的日志信息(3) |
-p warning | 程序警告(4) |
-p notice | 重要信息的普通日志(5) |
-p info | 普通信息(6) |
-p debug | 程序排错信息(7) |
-F PRIORITY | 查看可控日志的范围 |
-u sshd | 查看指定服务 |
–disk-usage | 查看日志大小 |
–vacuum-size=1G | 设定日志存放大小 |
–vacuum-time=1w | 日志在系统中最长存放时间为1周 |
-f | 监控日志 |
-
journalctl -n 3
-
journalctl --since “09:57:27” -until “10:02”
-
journal -o verbose
-
journattcl -F PRIORITY
-
journatcl --disk-usage
-
journatcl -f
用journald服务永久存放日志
-
mkdir /var/log/journal #在硬盘里建立一个储存日志的文件
-
chgrp systemd-journal /var/log/journal #给这个文件修改组拥有者
-
chmod 2775 /var/log/journal #给这个目录修改权限,加入强制位
-
systemctl restart systemd-journal.service #重启服务
-
当服务重启时日志存放路径会被制定到:/var/log/journal
hostnamectl
- hostnamectl ##可以查看主机的bootid和machineid
rsync
服务名称:rsyslog.service
日志存放位置:
位置 | 含义 |
---|---|
/var/log/messages | 系统服务日志,常规信息,服务报错 |
/var/log/secure | 系统认证信息日志 |
/var/log/mailog | 系统邮件日志信息 |
/var/log/cron | 系统定时任务信息 |
/var/log/boot.log | 系统启动日志信息 |
自定义日志采集路径
配置文件:/etc/rsyslog.conf
代码的含义:
日志类型 .日志级别 日志存放的路径
eg:*.info;mail.none;authpriv.none;cron.none /var/log/messages
* :代表所有的日志类型
info :代表日志级别
“;”以后的内容:代表除了mail,authpriv,cron以外的所有日志类型
/var/log/messages:这类日志的存放路径
-
日志类型分类
日志类型 含义 auth 用户认证日志类型 authpriv 服务认证日志类型 cron 时间任务 kern 内核类型 mail 邮件类型的日志 user 用户 -
日志级别的分类
日志级别 含义 debug 程序排错信息 info 系统常规运行信息 notice 重要信息的普通日志 warning 程序警告 err 程序报错 crit 严重级别会导致系统软件不能正常工作 alert 系统中立即要更改的信息 emerg 系统的严重问题日志 none 不采集
自定义采集格式
配置文件:/etc/rsyslog.conf
命令 | 含义 |
---|---|
$template | 定义 |
%FROMHOST-IP% | 日志来源主机ip |
%timegenerated% | 日志生产时间 |
%syslogtag% | 日志生产服务 |
%msg% | 日志内容 |
%\n% | 换行 |
设定日志采集格式应用:在日志文件生成路径后加定义好的函数名
如何将主机的日志同步到远程主机的日志
传输方式:udp,tcp,relp
udp优点: 快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制
tcp优点:TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接
- udp 同步方式
@ 表示使用udp传输日志
@@ 表示用tcp传输日志
- 发送端
- 接收端
##注:发送端和接受端配置过文件后,都需要重启服务来运行
timedatectl
-
timedatectl
-
timedatectl set-time “时间” #设置系统时间
-
timedatectl list-timezones #显示系统的所有时区
-
timedatectl set-timezone “时区” #设定系统时区
-
timedatectl set-local-rtc 0|1 #设定系统时间的计算方式
#0 表示使用utc时间计算方式 1 表示不使用utc时间计算方式
chrony
服务名称:chronyd.service
配置文件:/etc/chrony.conf
时间同步服务
- 配置时间服务器的/etc/chrony.conf文件
- 配置客户端/etc/chrony.conf文件
- 配置好客户端和时间服务器之后,都需要重启chronyd.service服务
- 可以通过chronyc sources -v 来查看同步状态