LINUX学习------2.3 Linux中的日志管理

2.3.1 journald日志系统

    1、journald日志系统基础语法

            服务名称:systemd-journald.service

                日志默认存放路径:/run/log

                /run/log/journal/主机码/system.journal(主机生成日志文件)

        journalctl命令的用法

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

--since "2021-07-20 12:00:00"

--until "2021-07-20 14:00:00"

##显示几点到几点的日志
-o ##设定日志的显示方式
short  ##经典显示日志节
verbose  ##显示日志的全部字
export   ##适合传出和备份的二进制格式
json ##js格式显示输出

-p

0                emerg ##系统的严重问题日志
1                alert ##系统中立即要更改的信息
2                crit ##严重级别会导致系统软件不能正常工作
3                err ##程序报错
4                warning ##程序警告
5                notice ##重要信息的普通日志
6                info ##普通信息
7                debug ##程序排错信息
-F ##查看可控日志级别
-u ##指定查看服务
--disk-usage ##查看日志大小
du -sh /run/log/journal/机器码/system.journal ##日志文件大小
--vacuum-size=1G ##设定日志存放大小
--vacuum-time=1w ##日志在系统中最长保存时间
-f ##监控日志
journalctl_PID=1243 ##查看进程号为某的日志

2、用journald服务永久存放文件

系统默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理要永久保存日志完成以下步骤:
    mkdir /var/log/journal 
            
    chgrp systemd-journal         /var/log/journal        ##当改变目录用户组后, systemd-journal (此用户组只能被journal程序识别,只有此用户组才能存放日志)
    chmod 2775                            /var/log/journal
    systemctl restart systemd-journald.service
    当服务重启 日志存放路径会被存放在/var/log/journal

LINUX学习------2.3 Linux中的日志管理

 3、rsyslog日志管理

服务名称 :rsyslog.service

日志存放:

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

systemctl status rsyslog.service                     ##查看服务状态
    vim /etc/rsyslog.conf                                    ##进入配置文件更改信息

LINUX学习------2.3 Linux中的日志管理

 eg:*.* ; *.*    /var/log/westos        ##把系统所有级别的日志存放在westos下

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

 4、日志的远程同步

         UDP协议(传送速率更快但安全性不高)
         TCP协议(安全性更高 三次握手四次挥手)

实验环境:主机a作为发送方
                    主机b作为接受方
       1、在主机a中设定可接受所有人的日志
                systemctl stop firewalld
                vim /etc/rsyslog.conf
                           19行 module(load=“”)            ## 打开日志接受插件  
                           21行 input()                             ##指定插件使用接口
                systemctl restart rsyslog
                netstat -anulupe | grep rsyslog

      2、在主机b中设定发送日志到a
                systemctl stop firewalld
                vim /etc/rsyslog.conf
                           *.*    @172.25.254.                        ##@@tcp传输日志,@udp传输日志   
                systemctl restart rsyslog
                netstat -anulupe | grep rsyslog
              

                > /var/log/messages                                ##清空日志
                logger westosa                                         ##测试

5、如何更改日志采集格式

实验步骤:
        vim /etc/rsyslog.conf                             ##打开配置文件
            28行左右: $template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%  \n"                          ##添加采集格式
            47行:*.info;mail.none;authpriv.none;cron.none                /var/log/messages;WESTOS                                   ##采集到某一文件,名字需一致(28行WESTOS对应47行WESTOS)
            33行:module(load="builtin:omfile" Template="WESTOS")                       

                                                                        ##设置全局采集格式都是28行格式
        > /var/log/messages                             ##清空日志文件内容
        systemctl restart rsyslog.service        ##重启服务

WESTOS 格式名称

命令格式
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%  \n"
%FROMHOST-IP%  ##日志来源主机IP
%timegenerated% ##日志生成时间
\n  ##换行
%syslogtag% ##日志生成服务
%msg% ##日志内容  

2.3.2 timedatectl命令时间同步服务

1、timedatectl命令

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

timedatectl set-time “2121-27-21 12:12:11”                ##设定系统时间
timedatectl list-timezones                                                    ##显示系统的所有时间
timedatectl set-timezone "Asia/Shanghai"                        ##设定系统时间
timedatectl set-local-rtc 0|1                                                 ##设定系统时间计算方式 0表示使用utc时间计算方式

tips:更改时间前应停止自动获取时间服务(systemctl stop chronyd。service)


2、时间同步服务


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


实验步骤:
    主机a 客户端
    主机b 服务端(时间源)
         
服务端        systemctl stop firewalld.service        ##关闭火墙
        /etc/chrony.conf                                                ##打开时间配置文件            
            23行: allow 0.0.0.0/0                                ##允许所有ip或指定ip获取本地世界
            26行:local stratum 10                               ##开启时间同步服务器功能并设定级别为10
        systemctl restart chronyd.service                  ##重启服务

客户端        /etc/chrony.conf                                ##打开时间配置文件
            3行:pool 172.25.254.122 iburst          ##选择时间源的ip地址

  

上一篇:面试:一个Java对象到底有多大?


下一篇:MongoDB(3.2.x)存储引擎WiredTiger和In-Memory