liunx基本命令(十一)系统日志管理

一、系统日志默认分类

/var/log/messages ##系统服务及日志,包括服务的信息,报错等等
/var/log/secure ##系统认证信息日志
/var/log/maillog ##系统邮件服务信息
/var/log/cron ##系统定时任务信息
/var/log/boot.log ##系统启动信息

二、日志管理服务rsyslog

liunx基本命令(十一)系统日志管理

vim /etc/rsyslog.conf ##系统日志配置文件

日志设备(类型).(连接符号)日志级别  日志处理方式(action)
liunx基本命令(十一)系统日志管理
重启系统日志服务后目录下会有ltmsg目录。
liunx基本命令(十一)系统日志管理

日志管理服务有两个基本作用

(1)负责采集日志和分类存放日志

(2)日志分类

systemctl restart rsyslog  ##重启系统日志服务

1、日志设备(类型).(连接符号)日志级别  

(1)日志设备(日志类型)

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

(2)日志级别

(7)debug       ##调试级。有调式信息的,日志信息最多
(6)info           ##通知级。一般信息的日志,最常用
(5)notice      ##注意级。最具有重要性的普通条件的信息
(4)warning   ##警告级。
(3)err            ##错误级。阻止某个功能或者模块不能正常工作的信息
(2)crit            ##临界级。严重级别,阻止整个系统或者整个软件不能正常工作的信息
(1)alert         ##警戒级。需要立刻修改的信息
(0)emerg     ##致命级。内核崩溃等严重信息
none         ##什么都不记录

注意:从上到下,级别从低到高,记录的信息越来越少

详细的可以查看手册: man 3 syslog

(3)连接符号

.xxx ##表示大于等于xxx级别的信息,例如.err 表示34567所有级别的日志

.=xxx ##表示等于xxx级别的信息
.!xxx ##表示在xxx之外的等级的信息

三、日志处理

1. 记录到普通文件或设备文件

*.*     /var/log/file.log   ##绝对路径
*.*     /dev/pts/0

测试: 

logger -p local3.info ‘KadeFor is testing the rsyslog and logger‘ ## logger 命令用于产生日志


2. 发送给用户(需要在线才能收到)

*.*   root
*.*   root,kadefor,westos    ## 使用,号分隔多个用户
*.*   *        ## *号表示所有在线用户

3. 忽略,丢弃

local3.*   ~       ## 忽略所有local3类型的所有级别的日志

4. 执行脚本

local3.*    ^/tmp/a.sh      

# ^号后跟可执行脚本或程序的绝对路径

# 日志内容可以作为脚本的第一个参数.
# 可用来触发报警

四、日志同步

首先,关闭双方的防火墙
liunx基本命令(十一)系统日志管理

再配置双方的配置文件

日志发送方

vim /etc/rsyslog.conf 

通过UDP协议把日志发送到11主机,@表示UDP,@@表示TCP

liunx基本命令(十一)系统日志管理


日志接受方

vim /etc/rsyslog.conf 

如果是UDP就去掉15,16行的“#”,TCP去掉19,20行的。

liunx基本命令(十一)系统日志管理


最后再重启双方的日志服务

liunx基本命令(十一)系统日志管理

测试;

发送方重启sshd服务

liunx基本命令(十一)系统日志管理

日志接收方执行

> /var/log/messages##清空日志

tail -f /var/log/message

liunx基本命令(十一)系统日志管理


五、日志分析工具journal

1、journald

liunx基本命令(十一)系统日志管理

journalctl ##直接执行,浏览系统日志
-n 5 ##显示最新5条,如果有时间限制,就如上图所示,显示前5条。
-p err ##显示报错

--since --until ## 从什么时间到什么时间的日志

-f ##监控日志

-o verbose ##显示日志能够使用的详细进程参数

liunx基本命令(十一)系统日志管理


2、systemd-journald服务

可以收集来自内核,启动过程,标准输出,系统日志,守护进程和运行期间的错误消息。

默认情况下,systemd日志保存在/run/log/journal中,系统重启时这些日志会被删除。

如果将日志存在/var/log/journal中,就会永久保存。

实现步骤:

新建日志目录

liunx基本命令(十一)系统日志管理

更改目录权限

liunx基本命令(十一)系统日志管理

liunx基本命令(十一)系统日志管理

liunx基本命令(十一)系统日志管理

或者

chown root.systemd-journal /var/log/journal

chmod 2755 /var/log/journal

重启日志服务

liunx基本命令(十一)系统日志管理

目录下会产生日志文件

liunx基本命令(十一)系统日志管理

六、时间同步

1、服务端

yum install chrony -y##安装服务

vim /etc/chrony.conf##主配置文件

liunx基本命令(十一)系统日志管理

##允许谁去同步我的时间

liunx基本命令(十一)系统日志管理liunx基本命令(十一)系统日志管理

##删除30行“#”,表示不去同步任何人的时间,自己作为时间同步服务器


2、客户端

vim /etc/chrony.conf

server 服务端主机ip iburst

liunx基本命令(十一)系统日志管理

3、双方重启时间同步服务,关闭双方防火墙

systemctl restart chronyd
systemctl stop firewalld


测试:chronyc sources -v
liunx基本命令(十一)系统日志管理

七、timedatectl

timedatectl status##显示当前时间信息

liunx基本命令(十一)系统日志管理

timedatectlset-time##设定当前时间

liunx基本命令(十一)系统日志管理

timedatectl list-timezone##查看所有时区

timedatectlset-timezone##设定当前时区

timedatectlset-local-rtc 0|1 ##设定是否使用utc时间(本地时间)