Linux系统下的系统日志管理

###################
####系统日志管理####
###################

####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/redhat

         *.*                                                                                   ##什么类型的日志 . 什么级别的日志  日志处理方式(action)

特别注意的是修改完配置文件后要重启rsyslog服务        

         systemctl restart rsyslog

 我们来做一个实验操作:

 

扫描二维码关注公众号,回复: 2564675 查看本文章

 

 

  可以看出产生的日志也存放在 /car/log/redhat文件里

3.日志设备(可以理解为日志类型)


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之外的等级的信息

##3.日志的远程同步##


在日志发送方:
vim /etc/rsyslog.conf
   *.*                                                         @172.25.254.127

特别值得注意的是:在IP地址前端用@符号表示udp协议发送 ,@@是tcp协议
   
systemctl restart rsyslog


在日志接受方
 vim  /etc/rsyslog.conf
15 $ ModLoad imudp                          ##日志接受模块(去掉#)
16 $ UDPServerRun 514                    ##开启接受端口
systemctl  restart rsyslog
systemctl  stop firewalld                     ##关闭火墙
systemctl  disable firewalld                ##设定火墙开机关闭

我们来做以下测试测试:

我们用两台虚拟机一台位server服务端,一台位client客户端

在server服务端L

在shell里vim /etc/rsyslog.conf

#重启日志服务

在日志查收的客户端:

关闭防火墙

 vim  /etc/rsyslog.conf
15 $ ModLoad imudp                          ##日志接受模块(去掉#)
16 $ UDPServerRun 514                    ##开启接受端口


接下来在两方都清空messages
> /var/log/messages

##在日志发送方
logger test

cat /var/log/messages

##在日志接受方
cat /var/log/messages

大功告成!

##日志采集格式的设定
vim /etc/rsyslog.conf
加入$template LOGFMT, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

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

我们来做以下测试:
加入*.*  /var/log/redhat;hello

cat /var/log/redhat

##4.时间同步服务##


服务名称 chronyd
 
在服务端
vim  /etc/chrony.conf                                     ##主配置文件

22 改为allow 172.25.254.0/24                      允许哪些客户端来同步本机的时间
29 local stratum 10                                        本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai  更改当前时区为东8区
在客户端
vim  /etc/chrony.conf
  3 server 0.rhel.pool.ntp.org iburst
  4 server 1.rhel.pool.ntp.org iburst====> server ntpserverip iburst                                  本机立即同步225主机的时间     

systemctl restart chronyd
timedatectl  set-timezone Asia/Shanghai 更改当前时区为东8区


我们来做以下测试:
客户端
chronyc sources -v
测试:
[root@localhost ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||                                                /   xxxx = adjusted offset,
||         Log2(Polling interval) -.             |    yyyy = measured offset,
||                                  \            |    zzzz = estimated error.
||                                   |           |                         
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.0.11                  10   6   377    41   +170us[ +201us] +/-  191us

在服务端:

vim  /etc/chrony.conf 

systemctl restart chronyd

在客户端:

vim  /etc/chrony.conf 

systemctl restart chronyd

测试:chronyc sources -v

相差时间不超过1秒

##5.timedatectl命令##


timedatectl     status                              ##显示当前时间信息
                        set-time                          ##设定当前时间
                        set-timezone                  ##设定当前时区
                        set-local-rtc 0|1              ##设定是否使用utc时间

##6.journalctl##

1.journalctl                                          ##日志查看工具(不能查看关机之前的时间)

                   -n  3                                    ##查看最近三条
                   -p  err                                 ## 查看错误日志
                   -o verbose                       ##查看日志的详细参数
                   --since                               ##查看从什么时间开始的日志
                   --until                                 ##查看从什么时候结束的日志


2.如何使用systemd-journald保存系统日志
  默认     systemd-journald是不保存系统日志到硬盘的
 那么关机后再次开机只能开到本次开机之后的日志,之前关机前的是没有的

  mkdir /var/log/journal
  chgrp systemd-journal /var/log/journal
  chmod g+s /var/log/journal
  killall -1 systemd-journald

   ls /var/log/journal

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

猜你喜欢

转载自blog.csdn.net/houzeyu666/article/details/81205643