系统日志和时间

一:系统日志

1:基础

日志:就是包含系统,运行内核,服务,程序等信息,通过这些信息可以定位故障,帮助怕错

rhel7开始,系统中有2大日志服务

一个是systemd-journald日志

  属于以失性日志,关机日志即可删除,系统启动日志,程序运行日志,服务日志等

  查看方式:通过专门的检索工具,journalctl查看日志,日志信息以二进制的方式保存,/run/log/journal

第二个是rsyslog日志

  属于持久性日志,日志可以保存到硬盘中去(永久性保存)

  查看方式,cat,vim都行,日志信息保存到文本文件中

  保存路径:/var/log

 二:rsyslog日志

1:rsyslog日志

1:基础

配置文件:/etc/rsyslog.d和/etc/rsyslog.conf这2个

1)日志文件保存到/var/log目录下

/varlog/messages 大多数日志信息,

/var/log/secure  与安全和验证相关的日志信息

/var/log/mailog  与邮件相关的日志信息

/var/log/cron   与计划任务相关的日志信息

2)rsyslog根据优先级和日志类型进行处理

 日志的类型:日志是有什么方式产生的,例如,是有认证的方式,时间的方式等

日志的优先级(8个):日志的错误和正确写在哪个文件里面中

优先级的描述:

none  不记录日志消息

emergency  内核崩溃,系统不可用

alert  必须立即进行处理

info  一般级别的日志信息

debug  调试级别信息(记录所有的信息)

记录的日志依次从少到多

日志的定义格式:类型.优先级  保存在哪个路径下

mail.info  /var/log/xxx  info级别及其以上的mai类型日志

mail.*  /var/log/xxx  mai类型日志的所有级别都保存

mail.=info  /var.log/xxx  只有info级别mail类型日志

mail.!info  /var/log/xxx  除了info级别以外的mail类型日志

mail.info;cron.info  /var/log/xxx  记录多个类型优先级的日志

3)手动发送rsyslog日志

 logger命令,往系统中写入日志

logger  选项 消息

常用的选项:

-l 记录logger的pid

-p 指定日志的优先级

-t 指定标记记录

 步骤:

1)先在配置文件里面添加一个配置

2)然后重启日志服务

3)发送一个消息,日志文件就会出现

mail.info    /var/log/rhel999
systemctl restart rsyslog
logger -t mail -p mail.info -i "rhel999" 

如果logger什么都不接的话,就默认发送到/var/log/messages

4)查看日志

root@cleint log]# head -n 10 messages
Mar  3 12:46:35 node2 kernel: ACPI: AC: AC Adapter [ACAD] (on-line)
Mar  3 12:46:35 node2 kernel: input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
Mar  3 12:46:35 node2 kernel: ACPI: button: Power Button [PWRF]
Mar  3 12:46:35 node2 kernel: Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Mar  3 12:46:35 node2 kernel: Non-volatile memory driver v1.3
Mar  3 12:46:35 node2 kernel: rdac: device handler registered
Mar  3 12:46:35 node2 kernel: hp_sw: device handler registered
Mar  3 12:46:35 node2 kernel: emc: device handler registered
Mar  3 12:46:35 node2 kernel: alua: device handler registered
Mar  3 12:46:35 node2 kernel: libphy: Fixed MDIO Bus: probed


日志的产生时间
日志产生的主机
日志产生的程序
日志产生的进程pid
日志的内容

2:日志服务器配置(客户端将信息发送给日志服务器里面)

 配置一个日志服务器,就是所有的主机的日志消息都保存到一个日志服务器上面方便查看

基础了解:

rsyslog是一个c|s的架构,即多个客户端一个服务器之间的关系,基于udp和tcp进行转发

步骤

配置服务端:

1)修改rsyslog配置文件,去掉几行注释信息

就是关于module(load="imudp")和后面的input(type="imtcp" port="514")这里的

就是加载一个imudp模块,是rsyslog的输入模块,监听这个514端口,可以通过这个发送消息,

2)定义一个日志类型.优先级

.*info  /var/log/rhce

3)重启rsyslog服务以及关闭防火墙

systemctl restart rsyslog

systemctl stop firewalld(基于syslog协议)

配置客户端:

1)修改配置文件

.*info   @服务器的ip地址

@表示tcp转发,@@表示udp转发

2)重启服务

systemctl restart rsyslog

3)手动尝试logger发送日志消息

总结:

即完成了多个客户端产生的日志都发送到一个日志服务器里面去了,就是查看日志的更加的简单了

 

三:日志轮训规则

 就是如果以上面的方式来rsyslog来保存的日志的话,长此以往的话,这个日志的就会积累很多很多,然后占用的空间又大,为了解决这个问题,使用logrotate这个日志轮询,通过自动切割日志,通过轮询的策略来定义

配置文件都在/etc/logrotate.conf或者/etc/logrotate.d这个目录里面

参数详解

missimgok:如果日志文件不存在的话,不会报错,而是继续处理其他的日志文件

daily:每天轮转日志文件

rotate 7:表示备份7分旧的文件,当日志被轮转的时候,logrotate就会重新命名,并在后面加上一个数字后缀,当第8份创建出来后,最旧的那份被删除

notifeempty:如果日志文件为空的话,不进行轮转,可以避免创建空的轮转日志文件

 

定义日志轮询规则:
一般的话,都是只需要复制其余的文件即可

cp bootlog rhel777
修改一下日志里面的路径即可
logrotate -f /etc/logrotate.conf #强制刷新

四:systemd-journald日志

 1:基础

服务名systemd-journald

文件保存的路径为:/run/log,只能通过特点的检索工具来查看日志,无法直接的查看,会显示高亮

1)journalctl常用的选项:

-f  实时监控(tail -f /var/log/messages)

-n  列出最后指定条目的记录,默认10条

-p  指定日志的优先级

--since  指定对应的时间段  yyyy-mm-dd

2)根据不同的类型来查看对应的日志信息

_PID:进程的PID

_UID:运行该进程的用户的ID

_SYSTEMD_UNIT:启动进程的systemd单元

_COMM:指定命令的名称

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

案例)

[root@q7 /]# journalctl _SYSTEMD_UNIT=sshd.service
Mar 07 08:23:47 q7 sshd[1059]: Server listening on 0.0.0.0 port 22.
Mar 07 08:23:47 q7 sshd[1059]: Server listening on :: port 22.

 

常用的就是使用journalctl -xe,来查看报错 

3)持久化存储journald日志

修改配置文件/etc/systemd/journald.conf这个配置文件

Storage一共有三个值

  auto:如果目录/var/log/journal存在则持久化保存,如果不存在,则不持久化保存

  persistent:不管目录是否存在,都持久化保存,目录不存在则自动创建

  volatile:不持久化保存

修改后,重启服务,还需要刷新一下,journalctl --flush即可,就是将这个/run/log/下面的文件丢了过去

五:时间管理服务

1:timedatectl命令

 查看系统时间的命令

timedatectl list-timezone 列出所有的地区

timedatectl set-timezone 修改时区

timedatectl set-time yyyy-mm-dd 修改系统时间

2:时间同步服务

 rhel7之前的话,NTP服务进行时间同步

rhel7之后,chrony服务进行时间同步

服务名chronyd,服务的配置文件/etc/chrony.conf 

参数详解:

pool 2.rhel.pool.ntp.org iburst 同步的网络时间源

#allow 192.168.0.0/16  允许哪些网段能访问

# Serve time even if not synchronized to a time source.
#local stratum 10  如果没有网络时间源的话,自己就是充当一个网络时间源

3:搭建一个时间同步服务器

就是局域网内的机器都同步一个机器上面

服务端配置:

allow 192.168.20.0/24

local stratum 10

重启服务器

systemctl restart chronyd

 

配置客户端:

server 192.168.20.110 iburst

重启服务即可

systemctl restart chronyd

 

posted @ 2024-03-07 15:23  q_7  阅读(14)  评论(0)    收藏  举报