Linux系统中的日志管理

目录

1.journald

实验1 journalctl命令的用法

实验2 用journald服务永久存放日志

​2.rsyslog 日志采集工具

####实验1.自定义日志采集路径######

实验2.日志的远程同步

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

3.timedatectl

​4.时间同步服务


首先systemctl stop firewalld

1.journald

服务名称:systemd-journald.service 如果关掉不能采集日志

查看服务状态确认开启


journalctl   ##日志分析工具
默认日志存放路径: /run/log

如果删除system.journal 如果重启服务会重新生成           机器码

实验1 journalctl命令的用法

journalctl
                    -n    3          ##日志的最新3条


                   --since "2020-05-01 11:00:00"           ##显示11:00后的日志


                   --until "2020-05-01 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(一周)                                ##日志在系统中最长存放时间

                   -f                                                                   ##监控日志

             journalctl _PID=894   查看日志sshd.service 

实验2 用journald服务永久存放日志

系统中默认日志在:/run/log/journal
默认方式在系统重启后日志会被清理要永久保存日志请完成以下操作:

mkdir       /var/log/journal  ##建立一个目录
chgrp        systemd-journal        /var/log/journal  ##改变拥有组
chmod           2775                    /var/log/journal    ##让新建的文件都自动归属到这个组
systemctl           restart systemd-journald            ##重启服务
当服务重启日志存放路径会被制定到:  /var/log/journal

测试:
1.在操作以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看到重启之前日志是被保存下来的


2.rsyslog 日志采集工具

服务名称:rsyslog.service

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

重启之后会重新生成 ;若关闭服务之后则查看不到

  配置文件:/etc/rsyslog.conf

####实验1.自定义日志采集路径######

vim /etc/rsyslog.conf


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

test1:

vim /etc/rsyslog.conf 写入任意类型任意级别日志放在 /var/log/westos

重启服务,让/var/log/westos文件变空,使用100的主机连接一次就会有记录出现

然后vim /etc/rsyslog.conf 写入任意类型任意级别日志放在 /var/log/westos但是authpriv不存放到westos中 

重启服务之后连接此主机就会发现没有服务认证消息出现

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

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

实验2.日志的远程同步

.1)在100主机中设定接受所有人的日志
在接收端100 中 vim /etc/rsyslog.conf 打开udp的设置 (利用网络发送)不需要确定目的主机用udp

19 module(load="imudp")        ##打开日志接受插件
20 input(type="imudp" port="514")    ##指定插件使用接口

重启systemctl restart rsyslog.service
          systemctl stop firewalld

查询端口:

然后> /var/log/messages


2)在发送端200中 vim /etc/rsyslog.conf 写入

*.*    @172.25.254.100 ##把系统中的所有日志通过网络发送给172.25.254.100

  重启systemctl restart rsyslog.service 

 @                      表示使用udp传输日志
@@                    表示使用tcp传输日志
@172.25.254.100 把本机日志用udp的传输方式发送到172.25.254.100主机
test:

在主机200中 > /var/log/messages

logger westos test  ##写入信息
cat /var/log/messages 查看

在接收方100主机中可以接受到200产生的日志

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

1定义日志采集格式

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

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

 2设定日志采集格式应用

  vim /etc/rsyslog.conf  (把messages日志类型的保存形式改成WESTOS形式)

显示日志来源主机的ip

   vim /etc/rsyslog.conf  

显示日志生成时间,主机Ip.服务内容

更改默认 #vim /etc/rsyslog.conf

module(load="builtin:omfile" Template="WESTOS") ##默认采用WESTOS格式(注释掉原来的)是把所有的日志类型的保存形式改成WESTOS形式

保存之后 systemctl restart rsyslog.service,写入westos以WESTOS格式显示

3.timedatectl

timedatectl set-time "2020-02-13 10:41:55"        ##设定系统时间
timedatectl list-timezones                                      ##显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai"          ##设定系统时区
timedatectl set-local-rtc 0|1                                    ##设定系统时间计算方式(一般为0)
                                                                                   ##0表示使用utc时间计算方式
 

chronyd.service  时间同步服务

设定系统时间之前systemctl stop chronyd.service

  Local time: Sat 2021-10-30 15:34:01 CST  ##当前系统时间
           Universal time: Sat 2021-10-30 07:34:01 UTC   ##世界时间
                 RTC time: Sat 2021-10-30 07:34:02  ##系统中硬件时间
                Time zone: Asia/Shanghai (CST, +0800)  时区
System clock synchronized: no    ##当前时间是否同步过时间同步服务器
              NTP service: active  ##时间服务器是否打开
          RTC in local TZ: no         ##当前时间是否作为硬件时间

 

 timedatectl set-timezone "Asia/Shanghai"

4.时间同步服务

 服务名称:  chronyd.service
#配置文件: /etc/chrony.conf
目的:让主机200同步100上面的时间
1)在服务主机100上 vim /etc/chrony.conf

 

写入 allow 0.0.0.0/0   ##允许0.0.0.0网段主机同步时间
local stratum 10 ##开启时间同步服务器功能并设定级别为10

执行systemctl restart chronyd.service

2)在测试主机200上 vim /etc/chrony.conf

修改 pool 172.25.254.119 iburst 
systemctl restart chronyd.service
chronyc sources -v  使用chronyc 命令查看时间效果:

 与服务主机时间同步

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值