##################################
#########系统日志管理##############
####################################
一、常见的日志文件
(1)/var/log/messages 几乎系统发生的所有错误信息或重要信息都记录在这个文件中,包含系统启动时的引导消息及系统运行时的其他状态消息。
(2)/var/log/secure 记录系统的安全信息,如ssh、ftp、pop3等。
(3)/var/log/dmesg 记录系统在启动时核心检测过程所产生的各项信息。
(4)/var/log/lastlog 记录系统上所有用户最后一次登陆系统的信息。
(5)/var/log/wtmp 记录用户登陆系统及推出系统的信息,该文件无法直接查看,可用相关命令查看。如last及ac命令
(6)/var/log/boot.log 记录守护进程启动和停止相关的日志信息。
(7)/var/log/faillog 记录登录失败时的用户信息。
(8)/var/log/cron 记录与定时任务相关的日志信息。
(9)/var/log/maillog 记录系统邮件服务信息。
二、日志管理服务rsyslog
####1、配置文件####
rsyslog的主配置文件为/etc/rsyslog.conf
在该配置文件中可以配置日志记录的规则,其语法格式为:服务名[.=!]信息等级 记录方式
(1)服务名
服务名表示针对该日志记录规则有效的服务名称。如果表示要对所有服务起作用,可以使用"*“
服务名的详细说明
ID 服务名 说明
0 kern 内核日志信息
1 user 用户日志信息
2 mail 邮件系统日志信息
3 daemon 系统守护进程日志信息
4 auth 安全管理日志信息
5 syslog syslog守护进程日志信息
6 lpr 打印服务日志信息
7 news 新闻组服务日志信息
8 uucp uucp系统日志信息
9 cron cron守护进程日志信息
10 authpriv 私有的安全管理日志信息
11 ftp ftp守护进程
12~15 local0~local7 系统保留
16~23 保留给系统本地使用
(2)信息等级
信息等级表示该日志记录规则的信息等级,即优先级。如果要表示对所有等级有效,可以使用”*“
信息等级的详细说明
ID 信息等级 说明
0 emerg或panic 系统不可用,死机
1 alert 警告事件,可能会影响到系统的运行,必须立即采取行动纠正的事件
2 crit 严重错误,比error更严重的错误,如硬件故障
3 error或err 错误信息,如某些服务无法启动,需要立即检查错误原因
4 warning 警告信息,但不会影响系统的进程
5 notice 比info更应注意的信息,需要特别处理
6 info 基本信息,主要是一些提示信息
7 debug 程序调试信息
(3)连接符
服务名与信息等级之间有一个连接符,与后面的信息等级结合使用可以表示服务要记录哪些级别的日志信息。
<1> . :记录高于该等级的信息
<2> .= :只记录该等级的信息
<3> .! :记录除了该等级以外的所有信息
#########################
#######示例################
#########################
<一>配置及测试
1、记录到普通文件或设备目录
*.* /var/log/file.log # 绝对路径
*.* /dev/pts/0
测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘ logger 命令用于产生日志
2. 发送给用户(需要在线才能收到)
*.* root
*.* root,kadefor,up01 # 使用,号分隔多个用户
*.* * # *号表示所有在线用户
3. 忽略,丢弃
local3.* ~ # 忽略所有local3类型的所有级别的日志
4. 执行脚本::
local3.* ^/tmp/a.sh # ^号后跟可执行脚本或程序的绝对路径
# 日志内容可以作为脚本的第一个参数.
# 可用来触发报警
<二>日志同步
systemctl stop firewalld ##关闭两台主机的防火墙
1、客户端配置
vim /etc/rsyslog.conf-->*.* @172.158.10.1
2、接收方配置
vim /etc/rsyslog.conf-->15、16 行注释符去掉
15 $ModLoad imudp ##日志接收插件
16 $UDPServerRun 514 ##日志接收插件使用端口
3、测试
> /var/log/messages ##两台主机都做,清空文件内容
logger test message ##日志发送方
tail -f /var/log/message ##日志接收方
三、日志采集格式
$template WESTOS, "%timegenerated% %syslogtag% %msg%\n"
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机IP
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
$ActionfileDefaultTemplate WESTOS
*.info;mail.none;authpriv.none;cron.none /var/log/messages;<<WESTOS>>
四、日志分析工具
systemd-journald ##进程名称
journalctl ##直接执行,浏览系统日志
-n 3 ##显示最新3条
-p err ##显示报错
-f ##监控日志
--since --until## --since "[YYYY-MM-DD] [hh:mm:ss]" ##从什么时间到什么时间的日志
-o verbose ##显示日志能够使用的详细进程参数 ##_SYSTEMD_UNIT=sshd.service服务名称 ##_PID=1182进程pid
对systemd-journald进行管理 ##默认情况下会忽略重启前的日志信息,若不忽略
mkdir /var/log/journal
chown root:systemd-journal /var/log/journal
chmod 2755 /var/log/journal
killall -1 systemd-journald
ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f
system.journal user-1000.journal
五、时间同步
1、服务端
yum install chrony -y##安装服务
vim /etc/chrony.conf ##主配置文件
-->21 # Allow NTP client access from local network.
22 allow 172.158.10.0/24 ##允许谁去同步我的时间
27 # Serve time even if not synchronized to any NTP server.
28 local stratum 10 ##不去同步任何人的时间,时间同步服务器级别
systemctl restart chronyd
systemctl stop firewalld
2、客户端
vim /etc/chrony.conf
-->3 server 0.rhel.pool.ntp.org iburst
4 server 1.rhel.pool.ntp.org iburst====> server ntpserverip iburst
5 server 2.rhel.pool.ntp.org iburst====>
6 server 3.rhel.pool.ntp.org iburst
systemctl restart chronyd
3、测试
chronyc sources -v
六、timedatectl命令
timedatectlstatus ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间