日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统自带日志管理工具rsyslog简单介绍

發布時間:2024/1/1 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统自带日志管理工具rsyslog简单介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,可以已查看本機的rsyslog服務狀態

??sudo systemctl status rsyslog

2,可以查看服務的包的版本及配置所在目錄

2.1,可以看出這個 /etc/logrotate.d/syslog這個文件是系統默認自帶的要輪詢系統自帶日志的文件

cat /etc/logrotate.d/syslog /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler {missingokdailysharedscriptssize 512Mrotate 10postrotate/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || trueendscript }

2.1,?/etc/rsyslog.conf為rsyslogd的主配置文件

[root@master logrotate.d]# grep -C 5 maillog /etc/rsyslog.conf # The authpriv file has restricted access. authpriv.* /var/log/secure# Log all the mail messages in one place. mail.* -/var/log/maillog# Log cron stuff cron.* /var/log/cron[root@master logrotate.d]# grep -C 10 maillog /etc/rsyslog.conf #kern.* /dev/console# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages# The authpriv file has restricted access. authpriv.* /var/log/secure# Log all the mail messages in one place. mail.* -/var/log/maillog# Log cron stuff cron.* /var/log/cron# Everybody gets emergency messages *.emerg :omusrmsg:*# Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler

2.3,/etc/sysconfig/rsyslog是配置rsyslog的文件

[root@master logrotate.d]# cat /etc/sysconfig/rsyslog # Options for rsyslogd # Syslogd options are deprecated since rsyslog v3. # If you want to use them, switch to compatibility mode 2 by "-c 2" # See rsyslogd(8) for more details SYSLOGD_OPTIONS="" [root@master logrotate.d]#

3,服務說明

? ? ? ? 3.1

服務名稱及其含義說明
服務名稱說明
auth安全和認證相關信息( 不推薦使用authpriv替代)
authpriv安全和認證相關信息(私有的)
cron系統定時任務cront和at產生的日志
daemon個各個守護進程相關的日志
ftpftp守護進程產生的日志
kern內核產生相關的日志(不是用戶進程產生的)
local0-local7為本地服務使用預留的服務
lpr打印產生的日志
mail郵件收發信息
news與新聞服務器相關的日志
syslog有syslog服務產生的日志信息(雖然服務名稱已經改為rsyslogd,但是很多配置都還是沿用了syslogd的,這里名沒有修改服務名)
user用戶等級類別的日志信息
uucpuucp子系統的日志信息,uucp是早期Linux系統進行數據傳遞的協議,后來也常用在新聞組服務中。

? ? ? ?3.2,連接符號

連接符號可以識別為:

  “*”代表所有日志等級,比如“authpriv.*”代表authpriv認證信息服務產生的日志,所有的日志等級都記錄。

  “.”代表只要比后面等級高的(包含該等級)日志都記錄下來。比如:“cron.info”代表cron服務產生的日志,只要日志等級大于等于inifo級別,就記錄。

  “.=”代表值記錄所需等級的日志,其他等級的都不記錄。比如:“*.=emerg”代表任何服務日志產生的日志,只要記錄是emerg等級就記錄。這種用法極少,了解就好。

  “.!”代表不等于,也就是除了該等級的日志外,其他等級的日志都記錄。

? ? ? ? 3.3日志等級

等級名稱說明
debug一般的調試信息說明
info基本的通知信息
notice普通信息,但是有一定的重要性
warning警告信息,但是還不會影響到服務或系統的運行
err錯誤信息,一般達到err等級的信息以及可以影響到服務或系統的運行了。
crit臨界狀況信息,比err等級還要重要
alert警告狀態信息,比crit還要嚴重,必須立即采取行動
emerg疼痛等級信息,系統以及無法使用了

?3.4,日志記錄位置

  日志文件絕對路徑,如“/var/log/secure”

  系統設備文件,如“/dev/lp0”

  轉發給遠程主機,如"@192.177.5.55:5200"

  用戶名,如“root” 忽略或丟棄日志,如“~”

4,?那如果我們想設置一個自己服務該如果配置呢,其實很簡單

先看下定時任務的配置:

[root@master logrotate.d]# cat /etc/cron.daily/logrotate #!/bin/sh/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0

可以看到它其實是加載的/etc/logrotate.conf文件,那讓我們再看下這個文件

[root@master logrotate.d]# cat /etc/logrotate.conf # see "man logrotate" for details # rotate log files weekly weekly# keep 4 weeks worth of backlogs rotate 4# create new (empty) log files after rotating old ones create# use date as a suffix of the rotated file dateext# uncomment this if you want your log files compressed #compress# RPM packages drop log rotation information into this directory include /etc/logrotate.d# no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp {monthlycreate 0664 root utmpminsize 1Mrotate 1 }/var/log/btmp {missingokmonthlycreate 0600 root utmprotate 1 }# system-specific logs may be also be configured here.

可以看到include /etc/logrotate.d這行代碼其實是加載的 /etc/logrotate.d這個目錄,那再讓我們看下這個目錄下:

[root@master logrotate.d]# ll /etc/logrotate.d/ total 36 -rw-r--r--. 1 root root 91 Sep 30 2020 bootlog -rw-r--r--. 1 root root 160 Sep 19 2018 chrony -rw-r--r--. 1 root root 93 Nov 17 2020 firewalld -rw-r--r-- 1 root root 810 Oct 2 2020 mariadb -rw-r--r-- 1 root root 109 Feb 16 15:33 mysqld -rw-r--r-- 1 root root 127 Oct 26 2018 redis -rw-r--r--. 1 root root 224 Sep 30 2020 syslog -rw-r--r--. 1 root root 100 Oct 31 2018 wpa_supplicant -rw-r--r--. 1 root root 103 Oct 2 2020 yum

可以看到都是一下文件,以服務名命名,我們打開一個比如redis

[root@master logrotate.d]# cat !$/redis cat /etc/logrotate.d//redis /var/log/redis/*.log {weeklyrotate 10copytruncatedelaycompresscompressnotifemptymissingok }

參數說明如下:

配置參數

說明

monthly

日志文件將按月輪循。其它可用值為'daily','weekly'或者'yearly'。

rotate 5

一次將存儲5個歸檔日志。對于第六個歸檔,時間最久的歸檔將被刪除。

compress

在輪循任務完成后,已輪循的歸檔將使用gzip進行壓縮。

delaycompress

總是與compress選項一起用,delaycompress選項指示logrotate不要將最近的歸檔壓縮,壓縮將在下一次輪循周期進行。這在你或任何軟件仍然需要讀取最新歸檔時很有用。

missingok

在日志輪循期間,任何錯誤將被忽略,例如“文件無法找到”之類的錯誤。

notifempty

如果日志文件為空,輪循不會進行。

create 644 root root

以指定的權限創建全新的日志文件,同時logrotate也會重命名原始日志文件。

postrotate/endscript

在所有其它指令完成后,postrotate和endscript里面指定的命令將被執行。在這種情況下,rsyslogd?進程將立即再次讀取其配置并繼續運行。

所以如果想我想見一個mysql,其實只需要把目錄換成mysql自己的日志目錄就可以了,切分規則可以自己定,我的是這樣的:

[root@master logrotate.d]# cat /etc/logrotate.d/mysqld /data/mysql/log/mysql-error.log {weeklymissingokrotate 4copytruncatemaxsize 100K }

我為了驗證效果設置的切分大小有點小100k,我的效果是這樣的(當然需要等定時任務生效,或者直接手動重新執行一下定時任務的那個命令即可)

[root@master logrotate.d]# ll /data/mysql/log/ total 228 drwxr-xr-x. 2 mysql mysql 80 Feb 16 15:00 binlog drwxr-xr-x. 2 mysql mysql 95 Feb 16 15:00 iblog -rw-r-----. 1 mysql mysql 0 Feb 16 15:33 mysql-error.log -rw-r----- 1 mysql mysql 224865 Feb 16 15:33 mysql-error.log-20220216 -rw-r-----. 1 mysql mysql 5686 Feb 16 15:00 mysql-slow.log drwxr-xr-x. 2 mysql mysql 6 Oct 21 2020 relaylog

以上是我自己學習logrotate的一些總結,希望幫助到更多人謝謝。

總結

以上是生活随笔為你收集整理的Linux系统自带日志管理工具rsyslog简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。