分析与管理日志,日志时间的同步

系统日志结构

系统日志

进程和操作系统内核需要能够为发生的时间记录日志,这些日志可用于系统审核和问题的故障排查,这些日志永久存储在/var/log目录中

/var/log目录中保管由rsyslog维护的各种特定与系统和服务的日志文件

日志文件 目的
/var/log/messages 大多数系统日志消息记录在此处
/var/log/secure 安全和身份验证相关的消息和错误的日志文件
/var/log/maillog 与邮件服务器相关消息的日志文件
/var/log/cron

与定期执行任务相关的日志文件

/var/log/boot.log

与系统启动相关的消息记录在此处

这里我们使用vim文本编辑器查看/etc/log/messages中的日志文件

查看系统的日志文件

许多程序使用syslog协议将事件记录到系统。每一日志消息根据设备(消息的类型)和优先级(消息的严重性)分类

编码 优先级 严重性
0 emerg 系统不可用
1 alert 必须立即采取措施
2 crit 严重状况
3 err 非严重错误状况
4 warning 警告状况
5 notice 正常但重要的事件
6 info 信息性时间
7 debug 调试级别信息
日志的类型 说明

auth

pam产生的日志
authpriv ssh,ftp等登陆信息的验证信息
cron 时间任务相关
kern 内核
lpr 打印
mail 邮件
mark(syslog)-rsylog 服务内部的信息,时间标识
news 新闻组
user 用户程序产生的相关信息
uucp unix主机之间相关的通讯
local 1~7 自定义的日志设备

/etc/rsyslog.conf ---- 日志的主配置文件,可修改著配置文件达到修改设备和优先级的效果

日志同步

首先,我们列出日志同步时接受方和发送方各自的职责:

接受方:关闭接受防火墙

                修改双端配置文件(udp/tcp)协议相同

                重启服务

发送方:填写要发送的目标主机

                修改双端配置文件(udp/tcp)协议相同

                重启服务

                最好清理日志(实验环境)

配置日志发送方:

修改 /etc/rsyslog.conf 中的配置:                              

可以看到我们这里使用了udp协议(因为使用udp协议速度传输速度快)来进行日志传输,并且填写了我们接受方的ip地址

然后我们重其服务,清理日志,使用logger命令发送日志消息

发送方的配置完成

配置日志接受方:

同样修改 /etc/rsyslog.conf中的配置:

双端的协议要相同,这里同时使用了udp协议

紧接着关闭我们的防火墙         systemctl stop firewalld ---- 关闭主机的火墙

最后重启服务,清理日志

接受方配置完成

最后在接受方查看日志时,我们看到了发送方主机传来的使用logger命令发送的消息,即表明了日志同步成功

日志分析工具journal

systemd日志将日志数据存储在带有索引的二进制文件中,此数据包含与日志事件相关的额外信息

以root用户身份运行时:

journalctl ---- 从最旧的日志条目开始显示完整的系统日志

journalctl -n num ----显示最后num个日志条目,它可接受通过可选参数指定应显示最后多少个日志条目

journalctl -p 优先级 ---- 可以接受已知优先级的名称编号或参数,显示所有指定级别及更高级别的条目

journalctl -f ---- 监控日志,输出日志的最后十行, 并在新日志条目写入到日志中时继续输出它们

journalctl --since time --until time ---- 时间筛选日志,显示指定时间范围内新生成的日志

journalctl _COMM=   命令的名称                   ---- 显示指定进程的日志,可以组合多个选项

                _EXE=  进程的可执行文件的路径

                _PID=    进程的PID

                _UID=    运行该进程的用户UID

                _SYSTEMD_UNIT=  启动该进程的systemd单元

journalctl -o verbose ---- 显示日志的详细监控参数

修改日志的格式

%timegenerated% ---- 显示日志时间
%FROMHOST-IP% ---- 显示主机ip
%syslogtag% ---- 日志记录目标
%msg% ---- 日志内容
\n ----换行

永久存储系统日志

由于日志保存在电脑的内存中,这意味着系统重启时它会被清楚,所以我们如果要永久存储系统日志的话,需要执行以下的操作:

mkdir /var/log/journal

chgrp systemd-journal /var/log/journal ---- 修改所有组

chmod g+s /var/log/journal ---- 给与gs权限

ps aux |grep systemd-journald ---- 生成的进程都属于该组

killall -1 num ---- num为进程号,-1信号为重新启动

cd /var/log/journal

ls

bootctl

ll 主机号

reboot ---- 重启

journalctl ---- 已经采集到的日志会保存,journalctl命令会自动搜寻到该日志并显示


时间的同步与管理

时间的修改与设置

时间的修改必须使用root用户身份

timedatectl ---- 查看当前时间信息

timedatectl set-time "2018-11-11 11:11:11" ---- 设置当前系统时间

timedatectl list-timezones ---- 查看能够同步时间的时区

timedatectl set-timezone Asia/Shanghai ---- 把系统时间与某个时区同步

timedatectl set-local-rtc 1 ---- 开启硬件时间与CST的同步,在vim /etc/adjtime起作用

timedatectl set-local-rtc 0 ---- 关闭硬件时间与CST的同步,此时将与UTC同步,将在vim /etc/adjtime起作用

时间同步

配置时间发送方

22 allow 172.25.0.0/24 ---- 允许谁去同步我的时间
28 local stratum 10 ---- 不去同步任何人的时间,时间同步服务器级别

重启服务,关闭防火墙 发送方配置完成

配置时间接受方:

3 server 172.25.254.1 iburst ---- 同步该主机上的时间

重启服务 接受方配置完成

chronyc sources -v ---- 查看时间的同步来源

^*表示正确同步  ^?表示没有正确同步

猜你喜欢

转载自blog.csdn.net/weixin_43189623/article/details/83068061