nagios報警觸發機制

2023-01-11 05:54:03 字數 2594 閱讀 2406

之前我曾經學過zabbix,以為他們的機制差不多,但是實際操作測試以來,才發現差別很大,而且網上很多教程都很坑人,比如說nagios裡面涉及到抖動、以及模板的呼叫,跟zabbix區別很大,接下來我就在下文裡進行乙個詳細的介紹。

nagios一般監控的話分為服務監控和主機監控,然後對應的配置也檔案也需要定義每乙個主機和每乙個服務的一些相關的功能,我們可以在模板檔案裡有所看到

模板裡面就定義了幾種,然後呢,網上經常就是直接呼叫他們,比如說nagios自帶的localhost的模板裡面,語法如下

它就引用了模板裡面的local-service服務

然後從local-service裡面又引用了generic-service

也就是說,這個服務的配置引數引用了所有以上的引數,然後巢狀呼叫,這樣可以省很多東西,不過作為初學者的我來說,剛開始還以為就只有那麼幾個東西,結果報警觸發的時候死活不發郵件,或者隔了好一會兒才傳送,所以一定要明白這一點,甚至可以說自己創造乙個服務的定義,然後自己引用自己的,我就是這樣做的,至於以上引數,有幾個重要的在後期的報警上面我會多寫一點。

nagios的報警觸發預設狀態下所定義的服務並不是一監測到問題就報警,而是當發現問題之後,繼續監測問題,如果問題仍然持續,才進行報警。

字面意思,上面是服務的時間,下面是主機的時間,這個的話定義乙個單位時間為60秒,預設也是60秒,你可以根據自己的需要進行修改,比如說你可以改成30秒,那麼兩個時間單位就是一分鐘,這一點一定要明確。

首先要清楚幾個欄位的意思啊

retry_check_interval 重試時間

max_check_attempts 這個是出現故障的連線次數,達到這個次數之後就報警

然後來介紹一下軟態硬態是什麼意思,以下就直接摘網上的了,反正我已經通過測試了

一、 軟態:被監控項處於retry_check檢測週期內的非正常狀態;

二、硬態:被監控項達到max_check_attempts最大次數後的非正常狀態;除此之外的狀態,我們估且稱之為「常態」。

我們試著看看設定如下引數時,nagios是怎麼做狀態檢測及告警的:

max_check_attempts 3

normal_check_interval 3

retry_check_interval 2

notification_interval 3

首先,nagios每三分鐘檢測一次服務,當某次檢測到服務狀態為異常時,直接進入軟態(1/3 soft state),此後,以每2分鐘(retry_check_interval)的檢測頻率,再進行2次(一共進行3次檢測,從而達到 max_check_attempts)檢測,如果這兩次檢測服務都為異常,則直接進入硬態(hard state)。進入硬態後,nagios以每3分鐘(normal_check_interva)一次的頻率檢測服務,這與常態時是一樣的;同時每3分鐘(notification_interval)進行一次告警。

這裡的話就是有乙個從軟態到硬態的過程,可以避免由於小段時間的不穩定波動也進行沒有必要的報警,那麼筆者是如何設定的呢?

筆者曾經引用過這個範例,結果就是檢測服務掛掉之後半天才報警,所以後期改良之後就是這樣:

如何解釋呢?就是說當檢測到問題之後立刻報警,不重試,然後報警只報警一次,如果韻不過來什麼意思可以回過頭再去看看之前所說的東西,簡單地說我就是取消掉了軟態這個功能,我要的就是一發現問題就立刻報警,畢竟我只是做實驗,沒有那麼多時間去跟他耗……

notification_options

這個字段就是定義的這個,筆者的實驗服務裡面是這樣的

那麼是什麼意思呢

(1) w:warning,警告

(2) u:unknown,未知

(3) c:critical,危險(已達臨界值)

(4) d:down,已宕機

(5) r:recovery,狀態已恢復至ok

(6) f:flapping,狀態波動很大

(7) n:none,不傳送告警通知郵件

警告和危險狀態就是之前定義服務裡面的

-w 和-c 就是設定值了,就是說達到什麼值是警告什麼值是危險,可以自己定義

未知狀態就是沒有收集到資料

down就是字面意思了

r也不多說

n也不多說

最後就來說說這個f吧

f簡單地說就是抖動,我做測試的時候服務的抖動是很大的,由於我經常故意把乙個服務停掉或者ssh埠停掉,然後nagios裡面的資料也就跟著一起上躥下跳,這樣就造成抖動了,從nagios裡面就看到服務那裡有乙個小標示,滑鼠放上去就顯示flapping,筆者在做測試的時候就吃了這個虧,發現抖動狀態的服務不報警,那麼怎麼辦呢?我只是要做測試而已,於是就把這個功能在服務配置檔案裡面做了定義

加入一條,取消抖動探測功能

以上所有的修改都必須重啟nagios,不過在重啟nagios之前也請務必先檢測一下你的cfg檔案是不是配置正常的!

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/

這樣可以幫你省去很多麻煩,筆者喜歡自己diy,反正已經遇到過很多問題了,不過最終都會在這裡有所反應,發現了問題之後就自己去琢磨一下。

綜上所述,這樣配置了之後nagios就可以實現報警功能了,不過郵件報警我還是選擇在後乙個產出文件裡面寫出來,因為筆者在測試nagios郵件傳送功能的時候也遇到了不少問題,請參見下一篇產出。

觸碰心靈的話

分享.舉報 好夫妻的九大表現 1 戀愛時,彼此是崇拜者 2 交談時,彼此是知音 3 得意時,彼此是吹牛物件 4 生氣時,彼此是出氣筒 5 困難時,彼此是諮詢師 6 痛苦時,彼此是安慰者 7 病時,彼此是護理 8 老時,彼此是拐杖 9 平時,彼此各幹各,保持適度距離。人與人交往,更多的不是改變對方,而...

nagios全攻略 二基本安裝和配置

二.基本安裝和配置 最後達到如下的功能 監控機自身的資訊,包括主機資訊以及對外提供的服務 被監控機對外提供的服務 如下所有的操作都在監控機192.168.0.111上進行 1.安裝nagios主程式 解壓縮tar zxvf cd nagios 2.9 編譯,指定安裝目錄為 usr local nag...

靜力觸探的應用

b1 劃分土層 確定土名 b1.1 採用單橋探頭實測比貫入阻力ps不超過表b1所列變動幅度者可並為一層,按比貫入阻力ps進行分類見表b2。b1.2 採用雙探頭分層時,以錐尖阻力qa為主,綜合考慮冊壁摩阻力fn和摩阻比n進行分類見表b3 表b4。表b3 各種土類的摩阻比n參考值 表b4 不同密度砂類土...