Linux操作系统基础 2.3 -- 日志管理

目录

linux系统的日志管理

1、journalctl 日志查看工具

1)、journalctl命令用法

2)、用journald服务存放日志

 2、rsyslog 日志查看工具  (企业常用)

1)、实验:自定义日志采集路径

 2)、更改日志采集格式

3、 timedatectl 时间查看工具

 4、同步时间服务

......


linux系统的日志管理

1、journalctl 日志查看工具

程序本身生成日志 --> systemd-journald服务收集日志 --> 存放在system.journal文件中
默认存放日志文件路径:/run/log/
systemctl disable firewalld    做实验前关闭防火墙

1)、journalctl命令用法

journalctl   -n 3                          #日志的最新3条
             --since "2021-07-20 11:00:00" #显示11:00后的日志
             --until "11:05:00"            #显示11:05前的日志
             -o                   #设定日志显示方式
                  short            经典显示
                  verbose          显示全部字节 
                  export           适合传输备份的二进制格式
                  json             js格式显示
             -p                   #显示指定级别的日志      
              0    emerg           系统的严重问题 (不可控)  
              1    alert           系统中立即要更改的信息(不可控)     
              2    crit            严重级别会导致系统软件不能正常工作 
              3    err             程序报错
              4    warning         程序警告
              5    notice          重要信息的普通日志
              6    info            普通信息
              7    debug          程序排错信息

             -F    PRIORITY       #查看可控日志级别
             -u    sshd           #查看指定服务    
             --disk-usage         #查看日志大小            
             --vacuum-size=1G     #设定日志存放大小            ****日志回滚****
             --vacuum-time=1W     #日志在系统中最长存放时间为1星期(week)
             -f                   #监控日志     

 

2)、用journald服务存放日志

系统默认日志存放 /run/log/journal/ 中: 8bf8757aa7ac4d73b173c9970462643f/system.journal

mkdir                 /var/log/journal      #在/var/log/中创建存放日志的文件夹   
chgrp systemd-journal /var/log/journal/     #将新文件夹的组改为systemd-journal
                                            (因为日志获取程序只能识别有systemd-journal组的文件夹)
chmod      2775       /var/log/journal/     #更改文件权限  2:目录中新建的文件自动归属到目录的所属组中
ls         -ld        /var/log/journal/     #查看文件信息
systemctl restart systemd-journald          #重新加载systemd-journald
服务重启后日志存放路径会被指定到: /var/log/journal

 2、rsyslog 日志查看工具  (企业常用)

日志存放:
/var/log/   messages   #系统服务日志,常规信息,服务报错
                sercure       #系统认证信息
                maillog        #系统邮件日志
                cron            #系统定时任务
                boot.log      #系统启动日志
配置文件:/etc/rsyslog.conf

1)、实验:自定义日志采集路径

vim /etc/rsyslog.conf
日志类型.日志级别            日志存放路径
 *.*                               /var/log/westos     #把系统中所有级别的日志存放到wests中
 *.*;authpriv.none        /var/log/westos     #除了authpriv 外的所有日志存放到westos中

Linux操作系统基础 2.3 -- 日志管理_第1张图片

systemctl restart rsyslog.service            #更改保存后 重启日志获取服务
>/var/log/westos                                     #清空westos 后 另一台主机ssh连接主机a
cat /var/log/westos                                 #查看westos

Linux操作系统基础 2.3 -- 日志管理_第2张图片

Linux操作系统基础 2.3 -- 日志管理_第3张图片

日志类型 日志级别
auth #用户认证 debug #程序排错信息
authpriv #服务认证 info #程序常规运行信息
cron #时间任务 notice #重要信息的普通日志
kern #内核类型 waring #程序警告
mail #邮件 err #程序报错
news #系统更新信息 crit #严重级别会导致系统软件不能正常工作
user #用户 alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集

 2)、更改日志采集格式

1.定义日志采集格式

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

#WESTOS:                   格式名称
#%FROMHOST-IP%:   日志来源主机IP
#%timegenerated%:     日志生成时间
#%syslogtag%:             日志生成服务
#%msg%:                     日志内容
#\n:                               换行

 2.设定日志采集格式应用

接收端:(关火墙)

19 module(load="imudp")                                                                #打开日志接受插件
20 input(type="imudp" port="514")                                                  #指定插件使用接口
35 module(load="builtin:omfile" Template="WESTOS_FORMAT") #设置所有日志文件都采用WESTOS格式(设置系统默认日志采集格式)
47 *.*;authpriv.none                             /var/log/westos;WESTOS   #设置/var/log/westos日志文件采用WESTOS的日志采集格式

命令格式下按2下Y复制整行,P粘贴

systemctl  restart rsyslog                 #重启日志采集服务
netstat -antlupe | grep rsyslog         #查看端口

Linux操作系统基础 2.3 -- 日志管理_第4张图片

 发送端:(关火墙)

vim /etc/rsyslog.conf
*.*        @172.25.254.120             #设置发送日志到172.25.254.120主机
                                                        @ 表示使用udp传输
                                                        @@ 表示使用tcp传输
systemctl restart rsyslog              #重启服务

 结果测试:  

logger hello                                 #可以在接收端看到传输的 "hello" 日志

3、 timedatectl 时间查看工具

时间查看:

[root@westosa ~]# timedatectl 
               Local time: Sun 2021-07-25 11:35:01 CST  #当地时间
           Universal time: Sun 2021-07-25 03:35:01 UTC  #伦敦时间
                 RTC time: Sun 2021-07-25 03:35:02      #硬件时间
                Time zone: Asia/Shanghai (CST, +0800)   #时区:亚洲上海(东8区)UTC时间加上8等于当前时间
System clock synchronized: no                           #是否同步系统时钟
              NTP service: active                       #网络同步时间
          RTC in local TZ: no                           #本地时间写到硬件
[root@westosa ~]# 

时间管理命令:

timedatectl set-time "12:30:00"       设定系统时间
timedatectl list-timezones            #显示系统的所有时区
timedatectl set-timezone "XXX"        #设置系统时区
timedatectl set-local-rtc 0           #设定系统时间的计算方式
                                      0 表示用utc时间计算法方式 

 4、同步时间服务

服务名:    chronyd.service
配置文件:  /etc/chrony.conf

实验: 首先关闭火墙

时间发送端(时间源)
vim /etc/chrony.conf                              #打开配置文件
 23 allow 0.0.0.0/0                                #设置允许所有人同步时间
        (172.25.254.0/24 允许172.25.254.0网段主机同步时间)
 ......
 26 local stratum 10                              #开启时间同步服务器功能并设定级别为10
systemctl restart chronyd                      #重启时间同步服务

接收端
vim /etc/chrony.conf                              #打开时间同步配置文件
3 pool 172.25.254.220 iburst                #设置同步172.25.254.220主机的时间
systemctl restart chronyd.service          #重启服务

在time_client中查看时间:
现实已经变成time_server中时间
使用chronyc 命令查看时间效果:

[root@westosa ~]# 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
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 172.25.254.20                10   6    17   15    -6970ns[+8437ns] +/- 180us

......

你可能感兴趣的:(Linux操作系统基础二)