1.什么是系统日志?
日志的生成–由服务本身生成:进程和操作系统内核需要能够为发生的事件记录日志,这些日志可用于系统审核和问题的故障排除,一般这些日志永久存储于/var/log目录中。
系统记录信息表:
日志文件 | 用途 |
---|---|
/var/log/messages | 大多数系统日志信息记录在此处 |
/var/log/secure | 安全和身份认证相关的消息和错误的日志文件 |
/var/log/maillog | 与邮件服务器相关的日志文件 |
/var/log/cron | 与定时任务相关的日志文件 |
/var/log/boot.log | 与系统启动有关的日志文件 |
2.日志采集–rsyslog
rsyslog是一个开源工具,被广泛用于linux系统以通TCP/UDP协议转发或接收日志消息,其主配置文件为/etc/rsys.conf,指定日志保存位置修改配置文件,修改后重启rsyslog服务生效
<1>.日志采集规则–类型
类型 | 内容 |
---|---|
auth | pam产生的日志 |
authpriv | ssh、ftp等登陆信息的验证信息 |
cron | 时间任务相关 |
kern | 内核 |
lpr | 打印 |
邮件 | |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | unix to unix copy,unix主机之间的相关的通讯 |
local 1~7 | 自定义的日志设备 |
<2>.日志级别:从上到下级别从低到高,记录信息越来越少(详细可以查看手册:man 3 syslog)
日志级别 | 解释 |
---|---|
debug | 有调式信息的,日志信息最多 |
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件的信息 |
warning | 警告级别 |
err | 错误级别,阻止某个功能或模块不能正常工作的信息 |
crit | 严重级别,阻止整个系统或软件不能正常工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
3.日志远程同步
接收端:
关掉火墙—systemctl stop firewalld
打开接口—vim /etc/rsyslog.conf
15 $ModLoad imudp
16 $UDPServerRun 514
发送端:
vim /etc/rsyslog.conf
*.* @172.25.254.200
@表示UDP协议发送,@@表示TDP协议发送;
接口 – UDP-效率高 TDP-更稳定;
(注意规范)在rules下写—什么类型日志.什么级别 日志存放文件
4.设定日志采集格式
vim /etc/rsyslog.conf
$template LOGFMT, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
跟随项 | 功能 |
---|---|
%timegenerated% | 显示日志时间 |
%FROMHOST-IP% | 显示主机ip |
%syslogtag% | 日志记录目标 |
%msg% | 日志内容 |
\n | 换行 |
指定日志类型的采集格式
*.* /var/log/westos;LOGFMT ### 在指定日志中采用LOGFMT格式
$ActionFileDefaultTemplate LOGFMT ### 修改系vim统默认日志采集格式为LOGFMT
5.时间戳设定 有本地时间
timedatectl | 管理系统时间 |
---|---|
timedatectl status | 显示当前时间信息 |
timedatectl set-time | 设定当前时间 |
timedatectl set-timezone | 设定当前时区 |
timedatectl set-local-rtc 0/1 | 设定是否使用utc时间 |
timedatectl list-timezone | 查看支持的所有时区 |
6.时间同步chronyd
服务端 :
vim /etc/chrony.conf
22 allow 172.25.254.125/24 ### 允许那些客户端同步本机时间
29 local stratum 10 ### 本机不同步任何主机的时进,本机作为时间源
systemctl restart chronyd
客户端:
vim /etc/chrony.conf
server 172.25.254.225 iburst ### 本机立即同步225主机时间
systemctl restart chronyd
7.只查看日志 journalctl(只查看内存中日志)
journalctl | 查看日志工具 |
---|---|
journalctl -n 3 | 查看最近三条日志 |
journalctl -p err | 查看错误日志 |
journalctl -o verbose | 查看日志的详细参数 |
journalctl --since time | 查看从什么时间开始的日志 |
journalctl --until time | 查看到什么时间为止的日志 |
systemd-journald采集日志:默认systemd-journald是不保存系统日志到硬盘的,那么关机后再次开机只能看到本次开机之后的日志,上次关机之前的日志是无法查看的
mkdir /var/log/journal ### 创建保存系统日志的文件
chgrp systemd-journal /var/log/journal/ ### 改变组到systemd-journal
chmod g+s /var/log/journal ### 赋予2755权限,保证创建的所有文件都归属到systemd-journal组
killall -1 systemd-journald ### 进程关闭情况下刷新此进程
ls ### 会看到生成的机器码
ls /var/log/journal