首页 > 代码库 > 第十单元总结

第十单元总结

##########################################

############第十单元.系统日志#############

##########################################

一.系统日志默认分类

/var/log/messages    ##系统服务及日志,包括服务的信息,报错等等

/var/log/secure      ##系统认证信息日志

/var/log/maillog     ##系统邮件服务信息

/var/log/cron        ##系统定时任务信息

/var/log/boot.log    ##系统启动信息

 

二.日志管理服务 rsyslogd 

1.服务功能

rsyslog负责采集日志和分类存放日志 

这个服务是用来管理系统日志的进程

 

2.服务配置文件

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

服务.日志级别         /存放文件

*.*                /var/log/westos


systemctl restart rsyslog

*.*                     /var/log/all.log    ##所有服务的所有日志都放到/var/log/all.log中

 

###格式###

日志设备(类型).(连接符号)日志级别    日志处理方式(action)


###日志设备(可以理解为日志类型): ####

auth                     ##pam产生的日志

authpriv                 ##ssh,ftp等登录信息的验证信息

cron                     ##时间任务相关

kern                     ##内核

lpr                      ##打印

mail                     ##邮件

mark(syslog)-rsyslog     ##服务内部的信息,时间标识

news                     ##新闻组

user                     ##用户程序产生的相关信息

uucp                     ##unix to unix copy ,unix主机之间相关的通讯

local 1~7                ##自定义的日志设备


####日志级别####

debug                    ##有调试信息的,日志信息最多

info                     ##一般信息的日志,最常用

notice                   ##最具有重要性的普通条件的信息

warning                  ##警告级别

err                      ##错误级别,阻止某个功能或者模块不能正常工作的信息

crit                     ##严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert                    ##需要立刻修改的信息

emerg                    ##内核崩溃等严重信息

none                     ##什么都不记录


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

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


####连接符号####

.xxx: 表示大于等于xxx级别的信息

.=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,up01      # 使用,号分隔多个用户

*.*  *                      # *号表示所有在线用户


3.忽略,丢弃

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


4.执行脚本

local3.*      ^/tmp/a.sh        # ^号后跟可执行脚本或程序的绝对路径

                                # 日志内容可以作为脚本的第一个参数

                                # 可用来触发报警


######日志同步########

systemctl stop firewalld         ##关闭两台主机的火墙


在日志发送方

*.*       @日志接收方ip          ##通过udp协议把日志发送到ip主机,@udp,@@tcp


在日志接收方

vim /etc/rsyslog.conf

15 $ModLoad imudp                    ###加载日志接收功能模块

16 $UDPServerRun 514                 ###加载日志接收插件使用端口

 

> /var/log/messages                  ##两边都做

logger test messages                 ##日志发送方

tail -f /var/log/messages            ##日志接收方

 

做完配置重启rsyslogd服务

关闭火墙

systemctl stop firewalld


####日志采集格式####

$template WESTOS, "%timegenerated% %FROMGOST-IP% %syslogtag% %msg%\n"

%timegenerated%

%FROMGOST-IP%

%syslogtag%

%msg%

\n


三.日志分析工具 journal

systemd-journald            ###日志分析进程名称

journalctl                  ###日志分析命令

 

journalctl -n 5             ##查看最近生成的5条日志

journalctl -p err           ##查看系统报错

journalctl --since --until  ###查看某个时间段生成的日志 ——since“YYYY-MM-DD hh:mm:ss”

journalctl -o verbose       ###查看日志能够使用的条件参数

journalctl_UID=             ##进程uid

_PID=                       ##进程id

_GID=                       ##进程gid

_HOSTNAME=                  ##进程所在主机

_SYSTEMD_UNIT=              ##服务名称

_COMM=                      ##命令名称

 

 

##########################日志监控工具的设定################3

##默认情况下journalctl是无法看到关机之间产生的日志的

如果向检测到这类日志设置如下

[root@serverX ~]#mkdir /var/log/journal

[root@serverX ~]#chown root:systemd-journal /var/log/journal

[root@serverX ~]#chmod 2755 /var/log/journal

Send the USR1 signal to the systemd-journald or reboot serverX.

[root@serverX ~]#killall -l systemd-journald

[root@serverX ~]#ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f

system.journal user-1000.journal

 

 

############################如何同步系统时间######################

1.确定时间源地址

172.25.254.254

2.确定客户主机使用的时间同步服务

chronyd.service

3.在chronyd.service服务中加载时间源地址

vim /etc/chrony.conf

server172.25.254.254 iburst

systemctl restart chronyd.service

 

 

 

############################timedatectl###################

timedatectl list-timezones##列出时区

timedatectl set-timezone 时区##设定时区

timedatectl set-time HH:mm:ss##设定系统时间


第十单元总结