您好,登錄后才能下訂單哦!
這篇文章主要介紹“在Linux系統中怎么使用logwatch讀取日志”,在日常操作中,相信很多人在在Linux系統中怎么使用logwatch讀取日志問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”在Linux系統中怎么使用logwatch讀取日志”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Linux 操作系統和許多應用程序會創建特殊的文件來記錄它們的運行事件,這些文件通常被稱作“日志”。當要了解操作系統或第三方應用程序的行為或進行故障排查時,這些系統日志或特定的應用程序日志文件是必不可少的的工具。但是,日志文件并沒有您們所謂的“清晰”或“容易”這種程度的可讀性。手工分析原始的日志文件簡直是浪費時間,并且單調乏味。出于這個原因,對于系統管理員來說,發現任何一款能把原始的日志文件轉換成更人性化的記錄摘要的工具,將會受益無窮。
logwatch 是一款用 Perl 語言編寫的開源日志解析分析器。它能對原始的日志文件進行解析并轉換成結構化格式的文檔,也能根據您的使用情況和需求來定制報告。logwatch 的主要目的是生成更易于使用的日志摘要,并不是用來對日志進行實時的處理和監控的。正因為如此,logwatch 通常被設定好時間和頻率的自動定時任務來調度運行或者是有需要日志處理的時候從命令行里手動運行。一旦日志報告生成,logwatch 可以通過電子郵件把這報告發送給您,您可以把它保存成文件或者直接顯示在屏幕上。
Logwatch 報告的詳細程度和報告覆蓋范圍是完全可定制化的。Logwatch 的日志處理引擎也是可擴展的,從某種意義上來說,如果您想在一個新的應用程序中使用 logwatch 功能的話,只需要為這個應用程序的日志文件編寫一個日志處理腳本(使用 Perl 語言),然后掛接到 logwatch 上就行。
logwatch 有一點不好的就是,在它生成的報告中沒有詳細的時間戳信息,而原來的日志文件中是存在的。您只能知道被記錄下來的一段時間之內的特定事件,如果想要知道精確的時間點的信息,就不得不去查看原日志文件了。
安裝 Logwatch
在 Debian 系統或其派生的系統上:
代碼如下:
# aptitude install logwatch
在基于 Red Hat 的發布系統上:
代碼如下:
# yum install logwatch
配置 Logwatch
安裝時,主要的配置文件(logwatch.conf)被放到 /etc/logwatch/conf 目錄中。此文件(默認是空的)定義的設置選項會覆蓋掉定義在 /usr/share/logwatch/default.conf/logwatch.conf 文件中的系統級設置。
在命令行中,啟動 logwatch, 如果不帶參數的話,將會使用 /etc/logwatch/conf/logwatch.conf 文件中定義的選項。但,只要一指定參數,它們就會覆蓋 /etc/logwatch/conf/logwatch.conf 文件中的任意默認/自定義設置。
這篇文章里,我們會編輯 /etc/logwatch/conf/logwatch.conf 文件來對一些默認的設置項做些個性化設置。
代碼如下:
Detail = <Low, Med, High, 或數字>
“Detail” 配置指令控制著 logwatch 報告的詳細程度。它可以是個正整數,也可以是分別代表著10、5和0數字的 High、Med、Low 幾個選項。
代碼如下:
MailTo = youremailaddress@yourdomain.com
如果您讓把一份 logwatch 的報告郵件給您,就要使用 “MailTo” 這個配置指令。要把一份報告發送給多個用戶,只需要把他們的郵件地址用空格格開,然后配置上去。但是,您需要在 logwatch 運行的服務器上配置好本地郵件傳輸代理(MTA)如,sendmail、 Postfix 等,這個配置指令項才能起作用。
代碼如下:
Range = <Yesterday|Today|All>
"Range" 配置指令定義了生成 logwatch 報告的時間段信息。這個指令通常可選的值是 Yesterday、Today、All。當作用了“Rang = All”時,“Archive = yes” 這個指令項也必須配置上,那么所有的已存檔的日志文件 (比如,/var/log/maillog、/var/log/maillog.X 或 /var/log/maillog.X.gz 文件)都會被處理到。
除了這些通用的 range 值,您也可以使用復雜點的選擇值,如下所示:
代碼如下:
Range = "2 hours ago for that hour"
Range = "-5 days"
Range = "between -7 days and -3 days"
Range = "since September 15, 2014"
Range = "first Friday in October"
Range = "2014/10/15 12:50:15 for that second"
要使用上面例子中自由形式的 range,您需要從 CPAN(注:Comprehensive Perl Archive Network) 上下載安裝 Perl 的 Date::Manip 模塊。
代碼如下:
Service = <service-name-1>
Service = <service-name-2>
. . .
“Service” 選項指定想要監控的一個或多個服務。在 /usr/share/logwatch/scripts/services 目錄下列出的服務都能被監控,它們已經涵蓋了重要的系統服務(例如:pam,secure,iptables,syslogd 等),也涵蓋了一些像 sudo、sshd、http、fail2ban、samba等主流的應用服務。如果您想添加新的服務到列表中,得編寫一個相應的日志處理 Perl 腳本,并把它放在這個目錄中。
如果這個選項要用來選擇特定的服務話,您需要把 /usr/share/logwatch/default.conf/logwatch.conf 文件中的 "Service = All " 這一行注釋掉。
Format = <text|html>
“Format” 配置指令定義了一份 logwatch 報告的格式(比如 text 或者 HTML)。
代碼如下:
Output = <file|mail|stdout>
"Output" 配置指令定義生成的 logwatch 報告要發送的目的地。它能被保存成文件(file),生成電子郵件(mail)或者是直接在屏幕上顯示(stdout)。
用 Logwatch 來分析日志文件
要弄明白怎么使用 logwatch 來分析日志文件,可以參考下面的 logwatch.conf 文件例子:
代碼如下:
Detail = High
MailTo = youremailaddress@yourdomain.com
Range = Today
Service = http
Service = postfix
Service = zz-disk_space
Format = html
Output = mail
使用這些設置,logwatch 將會處理三個應用服務(http、postfix 和 zz-disk_space)當天產生的日志,生成一份非常詳細的 HTML 格式報告,然后郵件給您。
如果您不想個性化 /etc/logwatch/conf/logwatch.conf,您可以不修改此文件讓其默認,然后在命令行里運行如下所示的命令。也會得到同樣的輸出。
代碼如下:
# logwatch --detail 10 --mailto youremailaddress@yourdomain.com --range today --service http --service postfix --service zz-disk_space --format html --output mail
電子郵件發送的報告樣子如圖示:
這份電子郵件頭部包含指向導航到報告細節的鏈接,在每個選中的服務細節,也會有“返回頂部”的鏈接。
接收人很少的情況下您可能會使用電子郵件發送報告這個選項。其它情況下,您可能會把讓其生成為 HTML 格式的報告,這樣每個想看這份報告的人都可以從網絡共享里看到。只需要把上面例子中的配置做些修改就可以實現:
代碼如下:
Detail = High
Range = Today
Service = http
Service = postfix
Service = zz-disk_space
Format = html
Output = file
Filename = /var/www/html/logs/dev1.html
同樣的,也可以在命令行中運行如下的命令。
代碼如下:
# logwatch --detail 10 --range today --service http --service postfix --service zz-disk_space --format html --output file --filename /var/www/html/logs/dev1.html
最后,讓我們使用 cron 來配置 logwatch 的定時執行任務。下面的例子中,將會在每個工作日的下午 12:15 分運行 logwatch 調度任務。
代碼如下:
# crontab -e </p> <p> 15 12 * * 1,2,3,4,5 /sbin/logwatch
到此,關于“在Linux系統中怎么使用logwatch讀取日志”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。