Linux教程

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

本文主要是介绍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

 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                                    ##进入配置文件更改信息

 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地址

  

这篇关于LINUX学习------2.3 Linux中的日志管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!