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



本文详细介绍系统日志的作用、生成、采集与管理方法,包括日志文件的用途、rsyslog工具的配置与使用、日志级别的设定、远程同步策略、日志格式的定制、时间戳设定及查看日志的技巧。


被折叠的 条评论
为什么被折叠?



