Linux基础学习2--3.Linux系统中的日志管理

目录

1.日志管理

2.journald服务永久存放日志

3. rsyslog

3.1实验一.自定义日志采集路径

3.2实验二.如何更改日志采集格式

3.3 实验三:日志的远程同步

4.时间同步服务


 

1.日志管理

服务名称:systemd-journald.service
默认日志存放路径: /run/log/journal/机械码/

软件本身生成日志 --> systemd.journald程序收集日志-->存放在system.journal文件中

做之前首先关闭防火墙,G看日志最后一页,g看日志最前一页

 journalctl
             -n  3                                                      #日志的最新3条
             --since "2020-05-01 11:00:00"         #显示11:00后的日志
             --until “2020-05-01 11:05:00”            #显示日志到11:05

             --since "11:00:00" --until “11:05:00”       #显示11: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                   #日志在系统中最长存放时间

2.journald服务永久存放日志

系统中默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理要永久保存日志请完成以下操作:
systemd-journal只能识别它组里的文件,所以要把新建的journal目录归属到systemd-journal组中,
但后续创建的文件不再systemd-journal组中,所以给它添加一个s权限


mkdir     /var/log/journal                                     #创建文件journal
chgrp     systemd-journal /var/log/journal/       #改变journal程序的组
chmod     2775 /var/log/journal/                        #使目录中新建的文件自动归属到目录的所属组中
systemctl restart systemd-journald.service     #重启服务

当服务重启日志存放路径会被制定到:/var/log/journal

3. rsyslog

服务名称:rsyslog.service

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

3.1实验一.自定义日志采集路径

 

vim /etc/rsyslog.conf

日志类型.日志级别                  日志存放路径
 *.*                                              /var/log/westos         #把系统中所有级别的日志存放到westos中
 *.*;authpriv.none                     /var/log/westos           #把系统中所有级别的日志存放到westos中,但authpriv不存放到westos

tail -f /var/log/westos                             #监控
systemctl restart rsyslog.service           #重启服务
从另一个主机远程连接
 *.*                                                        #监控会显示所有信息
 *.*;authpriv.none                                 #监控会少主机的认证信息

日志类型
auth                   #用户认证
authpriv             #服务认证
cron                   #时间任务
kern                   #内核类型
mail                   #邮件
news                 #系统更新信息
user                   #用户

日志级别
debug               #程序排错信息   
info                   #程序常规运行信息
notice               #重要信息的普通日志
warning            #程序警告
err                    #程序报错  
crit                    #严重级别会导致系统软件不能正常工作
alert                  #系统中立即要更改的信息
emerg               #系统的严重问题日志
none                 #不采集   

3.2实验二.如何更改日志采集格式

定义接收端指定日志的采集格式
 
vim /etc/rsyslog.conf                                                      #编写日志配置文件
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"      #编写一个接收方式
#*.*;info;mail.none;authpriv.none;cron.none       /var/log/westos;WESTOS   #在指定日志后面添加这个采集格式
/var/log/messages                                                             #覆盖原本信息
systemctl restart rsyslog.service                                        #重启服务
cat /var/log/messages  


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

修改接收端接收日志的采集格式

vim /etc/rsyslog.conf                                                       #编写日志配置文件
34行注释掉原来的接收方式
命令模式下按2下y复制整行,p粘贴
35行粘贴    module(load="builtin:omfile" Template="WESTOS")                  #修改默认的采集格式
/var/log/messages                                                          #覆盖
systemctl restart rsyslog.service                                  #重启服务
cat /var/log/messages                                                    #查

3.3 实验三:日志的远程同步

TCP                  #安全稳定,打电话,3次握手,4次挥手   
UDP                  #效率,发消息

systemctl disable --now firewalld                                               #发送端和接受端都要关闭火墙

接收端:

在westosa中设定接受所有人的日志
vim /etc/rsyslog.conf
19行.module(load="imudp") # needs to be done just once   #打开日志接收模块
20行.input(type="imudp" port="514")                                        #指定插件使用接口
systemctl restart rsyslog.service                                                #重启服务

接受端查询端口:
netstat -antlupe | grep rsyslog
udp        0      0 0.0.0.0:514             0.0.0.0:*                          

0         76684      8214/rsyslogd       


udp6       0       0 :::514                       :::*                           

 0         76685      8214/rsyslogd       

发送端
westosb中设定发送日志到westosa
vim       /etc/rsyslog.conf
*.*                                                      @172.25.254.121,接收端IP
systemctl restart rsyslog.service

@                                     #表示使用UDP传输日志
@@                                 #表示使用TCP传输日志
@172.25.254.121          #把本机日志用UDP的传输方式发送到172.25.254.121主机

测试:
在westos_a和westos_b中
> /var/log/messages

在westosb中
logger westos test message

在westosa中可以看到westos_linux中生成的日志

4.时间同步服务

Local time                                             当前时间
Universal time:                                   世界时间
RTC time :                                          硬件时间
Time zone:                                            时区
System clock synchronized:                 同步系统时钟
NTP service:                                        网络同步时间
RTC in local TZ:                                  本地时间写到硬件


timedatectl
timedatectl     set-time "10:00"                                 #设定系统时间
timedatectl     list-timezones                                     #显示系统的所有时区
timedatectl     set-timezone "Asia/Shanghai"           #设定系统市区
timedatectl     set-local-rtc 0 | 1                               #设定系统时间计算方式,0表示用UTC时间计算方式,1用RTC计算方式


时间同步服务
服务名称:    chronyd.service
配置文件     /etc/chrony.conf

在westosa作为时间源同步westosb时间
服务器端westosa:(时间源)
systemctl stop firewalld                         #关闭火墙
vim  /etc/chrony.conf                              #配置文件
26行  allow 172.25.254.0/24                #允许172.25.254.0网段主机同步时间
29行  local stratum 10                           #开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service         #重启服务


主机端westosb:
vim /etc/chrony.conf                                #配置文件
3行pool 172.25.254.121 iburst             #选择时间源的IP地址

查看:
在westosb中查看时间:
显示已经变成westosa中时间
使用chronyc 命令查看时间效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值