RH124-第十一节-系统日志

来源:互联网 发布:股票主力监控软件 编辑:程序博客网 时间:2024/06/09 02:44

####系统日志####

####1.系统日志默认分类####

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

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

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

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

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

 

####2.日志管理服务rsyslog####

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

2.rsyslog日志分类

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

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

*.*       /var/log/westos  ##所有级别的所有日志都存放在/var/log/westos(文件)

##注意##

系统中rsyslog.service 这个服务开机启动,rsyslog.service 服务负责日志的收集,这个服务没有开启的时候,系统只要有服务在运行就会有日志,但是rsyslog.service没有开启的时候,日志就不会被采集,相应的messages,secure,boot.log,maillog...这些文件中就不会被记录,进而就看不到日志

####日志设备(日志类型):####

auth              ##pam产生的日志

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

cron              ##时间任务相关

kern              ##内核

lpr               ##打印

mail              ##邮件

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

news                   ##新闻组

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

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

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

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

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

.=err:表示等于err级别的信息

.!info:表示在info之外的等级的信息

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

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

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

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

warning             ##警告级别

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

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

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

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

none              ##什么都不记录

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

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

 

###格式###

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

#####实例####

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

*.*  /var/log/file.log  ##所有类型的所有级别日志记录到file.log文件里

*.*     /dev/pts/0(字符设备)


     

测试: logger test ##命令用于产生日志

 

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

*.*   root

*.*   root,kiosk,redhat              ## 使用,号分隔多个用户

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

3. 忽略,丢弃

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

4. 执行脚本:

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

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

                                   ##可用来触发报警

                 

 

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

systemctl stop firewalld         ##关闭接受方防火墙即可

1.配置日志发送方

*.*    @172.25.0.11       ##通过UDP协议把日志发送到11主机

UDP协议用@,TCP协议用@@,UDP协议较TCP协议传送更快,同步效果更好,但是没有TCP协议稳定和安全



2.编辑接受方的rsrslog.conf配置文件(vim /etc/rsyslog.conf)

开放接受端口 514(默认日志接受端口,去掉注释15,16的#即可)

15 $ModLoad imudp                  ##日志接收插件

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


netstat -anulpe | grep rsyslog      ##查看日志同步使用的协议

udp        0      0 0.0.0.0:514             0.0.0.0:*                         0          122073     32654/rsyslogd     

udp6       0      0 :::514                  :::*                             0          122074     32654/rsyslogd  


  

 

测试

var/log/messages

在做测试前集的关闭接受方防火墙,并且开机不自启

> /var/log/messages                ##清空message日志,两边都要清一下,方便观测同步效果

logger test message                ##日志发送方进行测试

tail -f /var/log/message           ##日志接收方用于实时监控产生的日志


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

$template Peter "%timegenerated% %FROMHOST-IP% %syslogtag%%msg%\n"

%timegenerated%                ##显示日志时间

%FROMHOST-IP%                  ##显示主机ip

%syslogtag%                    ##日志记录目标

%msg%                          ##日志内容

\n                             ##换行


$ActionfileDefaultTemplate    ##默认Peter格式为所有日志的输出格式

*.info;mail.none;authpriv.none;cron.none               /var/log/messages;Peter  ##这些日志记录按照Peter格式


####3.日志分析工具journal#####

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   ##更改/var/log/journal目录的所有人所有组

chmod 2755 /var/log/journal   ##赋予目录特殊权限(此目录新建的文件都会自动把所有组归属到systemd-journal组中)

killall -1 systemd-journald  ##不关闭包含systemd-journald服务并重新加载这些服务

ls /var/log/journal/a4b7ea88343fa55f4513ad59a3b442ff/  ##查看journal日志

system.journal user-1000.journal ##产生的日志文件



####4.时间同步(同步local time)####

1.服务端

yum install chrony -y ##安装服务

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

1 # Use public servers from the pool.ntp.org project.

2 # Please consider joining the pool (http://www.pool.ntp.org/j    oin.html).

 3 #server 0.rhel.pool.ntp.orgiburst(注释掉)

 4 #server 1.rhel.pool.ntp.orgiburst(注释掉)

 5 #server 2.rhel.pool.ntp.orgiburst(注释掉)

 6 #server 3.rhel.pool.ntp.orgiburst(注释掉)

 

21 # Allow NTP client access from local network.

22 allow 172.25.254.123/24(allow 172.25.24.0/2允许这个网段所有所有主机同步)               ##允许谁去同步我的时间

27 # Serve time even if not synchronized to any NTP server.

28 local stratum 10     ##不去同步任何人的时间,时间同步服务器级别

systemctl restart chronyd     ##重启 chronyd服务

systemctl stop firewalld      ##关闭防火墙


2.客户端

vim /etc/chrony.conf

 1 # Use public servers from thepool.ntp.org project.

  2 # Please consider joining thepool (http://www.pool.ntp.org/join.html).

  3 server 172.25.254.223 iburst  

  4 #server 1.rhel.pool.ntp.orgiburst(注释掉)

  5 #server 2.rhel.pool.ntp.orgiburst(注释掉)

  6 #server 3.rhel.pool.ntp.orgiburst(注释掉)

systemctl stop firewalld       ##关闭防火墙

systemctl restart chronyd       ##重启 chronyd服务


测试:

chronyc sources -v


显示如下信息,ip前面显示如图则说明同步生效


## 测试发现在服务端更改时间过后,客户端并不会立即同步时间,需要重启chrony.service,稍微有一点的时间间隔才会同步过来


####5.timedatectl命令####

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


                     set-time              ##设定当前时间


                     set-timezone         ##设定当前时区


                     set-local-rtc 0|1    ##设定是否使用utc时间,这个设置可以解决windows和linux双系统情况下的时间错乱问题



                  


原创粉丝点击