Zabbix監(jiān)控進程日志的配置過程

監(jiān)控日志是運維人員日常生活里必不可少的一個環(huán)節(jié),而且日志是一個進程執(zhí)行的重中之重,由于日志記錄了程序運行的吃喝拉撒所有事件,所以在故障排除的時候,結(jié)合日志找障礙點是必不可少的!而且我們也會要主動去被提醒日志里的幾個重點詞語,比如“ERROR!”,比如“WARINIG!”,比如“Alarm!”,比如“女排姑娘好樣的你們真給國家爭氣,看這些女排妹子真喜歡一個個都是大長腿美顏外加D罩杯”。而zabbix作為一個優(yōu)秀的監(jiān)控軟件,就可以當以上幾個關(guān)鍵詞出現(xiàn)在日志的第一時間或報警或記錄。

弋江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

舉個例子,假設(shè)我們要監(jiān)控一個進程日志,這個進程叫mrs,這個是我公司內(nèi)部用的是一個程序。而目標就是當這個mrs.log日志里出現(xiàn)ERROR的時候,就要報警,通知悲摧的運維和開發(fā)pl們。

首先我們先建立一個item,如圖:

Zabbix監(jiān)控進程日志的配置過程

注意一下,這里的type是active,因為被監(jiān)控的服務(wù)器是需要主動把日志送給server端的。而key寫的是log[/mnt/hswx/mrs/logs/mrs.log,ERROR,,,skip,],我這里詳細說一下。

log這個key的格式是這樣的:log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>],里面各項意思如下:

file:文件名,寫絕對路徑;
regexp:要匹配內(nèi)容的正則表達式,或者直接寫你要檢索的內(nèi)容也可以,例如我想檢索帶ERROR關(guān)鍵詞的記錄;
encoding:編碼相關(guān),留空即可;
maxlines:一次性最多提交多少行,這個參數(shù)覆蓋配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’,我們也可以留空;
mode:默認是all,也可以是skip,skip會跳過老數(shù)據(jù);
output:輸出給zabbix server的數(shù)據(jù)??梢允荺1、\2一直\9,\1表示第一個正則表達式匹配出得內(nèi)容,\2表示第二個正則表達式匹配錯的內(nèi)容。

由于在這里我們只需要挑出"ERROR"的語句,后面的那些七七八八都用不上,所以就直接寫log[/mnt/hswx/mrs/logs/mrs.log,ERROR,,,skip,]就好了。如果要挑選“ERROR 或者 error”,那么就是log[/mnt/hswx/mrs/logs/mrs.log,(ERROR|error),,,skip,]

日志的格式選擇“l(fā)og”,每10秒鐘一次更新,保存90天,這些都是老話常談。至于Log time format寫成yyyy-MM-dd hh:mm:ss是規(guī)范了紀錄時間的格式,我們采用的格式就是“年-月-日:小時-分鐘-秒”,一會就會看到效果。

寫完之后,保存,返回到Monitoring---lastest Data,找到我們剛剛建立的這個item,

Zabbix監(jiān)控進程日志的配置過程

點擊右側(cè)的history,就可以看到這樣的內(nèi)容了。

Zabbix監(jiān)控進程日志的配置過程

這里的local time就是我們設(shè)置item時候的那個log time format,它也的確是按著“年-月-日:小時-分鐘-秒”這個格式記錄的。

我們可以看到value里說18:39:53有一個ERROR日志,那么登陸到這臺服務(wù)器上,去服務(wù)器的mrs.log里看一下是否有這樣一模一樣的日志內(nèi)容呢?

Zabbix監(jiān)控進程日志的配置過程

可以看到內(nèi)容是一模一樣的,就這樣,我們達到了監(jiān)控日志的目的!

然后就是根據(jù)這個item設(shè)定trigger和action,這些東西看個人具體需求我也就不贅述了。這里說幾個常用的trigger:

{Template名稱:keyi名稱].str(ABC)}=1 表示如果匹配到“ABC”關(guān)鍵字,表達式為真。這個與上面那個key合用就是在ERROR的語句里是否含有ABC,如果有,就是真。
{Template名稱:keyi名稱].nodata(60)}=0 表示60秒內(nèi)有數(shù)據(jù)產(chǎn)生則表達式為真,即60秒內(nèi)如果沒有新數(shù)據(jù)了,則表達式為假。

具體的trigger表達式:{Template App Java logs:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,].str(ERROR)}=1  and  {Template App Java logs:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,].nodata(60)}=0

當然有人會有提問,日志文件在實際生產(chǎn)的時候是常常需要被切割的,比如這個mrs.log,總不會永無止境的保存下去,而是會按時間/大小切成mrs.log.1、mrs.log.2...,既然這樣怎么辦?那么就要用logrt這個key,這個key是支持正則表達式的,針對上面這個情況我們只需要把原來的key改成“l(fā)ogrt[/絕對路徑/mrs.log.*,ERROR,,,,]”就可以啦。

但是要注意哦,logrt只能給文件增加正則表達式,對路徑是不支持的~~

如果配置了之后,監(jiān)控日志沒有正確運行,調(diào)日志看一下,如果日志顯示:

 14523:20171214:152022.958 active check "監(jiān)控日志的KEY" is not supported: Cannot obtain information for file "要監(jiān)控的文件名.log": [13] Permission denied

那么需要把文件所在的路徑都要開r權(quán)限。

如果日志里有:

  2972:20171214:144031.449 no active checks on server [zabbix服務(wù)器IP:10051]: host [服務(wù)器hostname] not found

那么檢查在agentd.conf里的Hostname與web端的host的名稱是否一致,這個必須要一致,不然active模式是不會好使的(非active模式?jīng)]關(guān)系)。

當前標題:Zabbix監(jiān)控進程日志的配置過程
URL標題:http://bm7419.com/article26/iidgcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、微信小程序網(wǎng)站營銷、外貿(mào)建站ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)