一、什么是系统日志?
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。
系统日志的分类
1·应用程序日志:记录应用程序或一般程序的事件。
2·安全性日志:可以记录例如有效和无效的登录尝试等安全事件,以及与资源使用有关的事件。例如创建、打开或删除文件以及有关设置的修改。
3·系统日志:包含由linux系统组件记录的事件,例如,在系统日志中记录启动期间要加载的驱动程序或其他系统组件的故障
4.系统邮件信息服务相关的日志
5.与定时任务相关的日志文件
二、rsyslog服务(采集和存放日志)
rsyslog是一个开源工具,被广泛用于linux系统以通TCP/UDP协议转发或接受日志文进阿消息。
rsyslog服务的主配置文件为 /etc/rsyslog.conf,指定日志保存位置修改配置文件,修改后重启rsyslog服务生效。
日志的采集的分类与级别
类型 级别
auth | pam产生的日志 | debug | 有调试信息的,日志信息量最多 |
authpriv | ssh,ftp等登陆信息的验证信息 | info | 一般信息的日志,最常用 |
cron | 时间人物相关 | notice | 最具有重要行的普通条件的信息 |
kern | 内核 | warning | 警告级别 |
lpr | 打印 | err | 错误级别,阻止某个功能或者模块不能正常工作的信息 |
邮件 | crit | 严重级别,阻止整个系统或整个软件不能正常工作的信息 | |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 | alert | 需要立即修改信息 |
news | 新闻组 | emerg | 内核崩溃等严重信息 |
user | 用户程序产生的相关信息 | none | 什么都不记录 |
uucp | unix to unix copy, unix主机之间相关的通讯 | 注意:从上到下,级别从高到底,记录的信息越来越少。 | |
local 1~7 | 自定义的日志设备 |
日志采集格式的设定
vim /etc/rsyslog.conf
$template LOGFMT, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% 显示日志时间
%FROMHOST-IP% 显示主机ip
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行
例子:创建一个采集所有类型和接收所有级别的日志文件westos
三、日志的远程同步
日志的远程同步需要两台主机进行操作,
发送方要做的
vim /etc/rsyslog.conf
*.* @172.25.254.10 “@"表示udp协议发送,“@@”表示tcp协议发送
systemctl restart rsyslog 重启rsyslog
接收方要做的:
vim /etc/rsyslog.conf
15 $ModLoad imudp 日志接收模式块
16 $UDPServerRun 514 开启接收端口
systemctl restart rsyslog
sysytemctl stop firewalld 关闭防火墙
注释掉udp的参数,如上图所示
四、日志的时间同步
服务名称: chronyd
在服务端的操作内容
vim /etc/chrony.conf
22 allow 172.25.254.0/24 允许那些客户端来同步本机时间
29 local stratum 10 本机不同步任何主机的时进,本机作为时间源
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai 更改当前时区为东8区
在客户端操作内容
vim /etc/chronyd.conf
server 172.25.254.10 iburst 本机立即同步200主机的时间
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai 更改当前时区为东8区
在客户机上做个测试
timedatectl 命令
timedatectl 管理系统时间
timedatectl status 显示当前时间信息
set-time 设定当前时间
set-timezone 设置当前时区
set-local-rtc 0 | 1 设定是否使用utc时间
list-timezone 查看支持的所有时区
日志的查看工具
journalctl
-n 3 查看最近3条日志
-p err 查看错误日志
-o verbose 查看日志的详细参数
--since 查看从什么时间开始的日志
-- until 查看到什么时间为止的日志