<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jojo's blog--快樂憂傷都與你同在
    為夢想而來,為自由而生。 性情若水,風起水興,風息水止,故時而激蕩,時又清平……
    posts - 11,  comments - 30,  trackbacks - 0
    著名的開源服務監系統nagios擁有強大的功能,可謂服務器監控之神。它的功能之一就是故障告警。一旦出現問題,它可以第一時間通知工作人員。那么如此強大的告警提醒功能如果出現了問題,要如何定位問題?配置文檔中的相關參數又表示什么意義呢?下面我會逐個向大家介紹。

    問題闡述:無法發送告警提醒信息(email、傳真、短信等)
    解決方法:順藤摸瓜,根據告警提醒功能運作的原理,一層一層去檢查設置。
    ps:
    如果你還沒有設置你的告警,也可以順著我的敘述來設置你的告警 ^-^

    (1)所有提醒任務首先要查看hosts.cfg或者services.cfg,在這兩個文件中有如下幾個參數關系到提醒:

    notifications_enabled : 是否開啟提醒功能。1為開啟,0為禁用。注,一般,這個選項會在主配置文件(nagios.cfg)中定義,效果相同。

    contact_groups: 定義接受提醒的聯系人組,如果hosts.cfg文件中所有的條件都符合,那么提醒任務將會繼續檢查contactgroup.cfg文件。

    notification_interval: 重復發送提醒信息的最短間隔時間。默認間隔時間是60分鐘。如果這個值設置為0,將不會發送重復提醒。

    notification_period: 發送提醒的時間段。非常重要的主機(服務)我定義為7×24,一般的主機(服務)就定義為上班時間。如果不在定義的時間段內,無論什么問題發生,都不會發送提醒。

    notification_options: 這個參數定義了發送提醒包括的情況:d = 狀態為DOWN, u = 狀態為UNREACHABLE , r = 狀態恢復為OK ,  f = flapping。,n=不發送提醒。



    綜上,如果要提醒信息順利通過hosts.cfg文件,并且發出提醒的話,要滿足:

    notifications_enabled 值為1

    contact_groups 的組已經定義正確。見(3)

    notification_period 定義的時間段包括出問題的時間,檢查方法如見(2)

    notification_options 定義的包括需要提醒的狀態改變。

    (2)檢查timeperiod的配置,一般在主配置文件中,或者在timeperiod.cfg等配置文件中可以找到:

    define timeperiod {
            timeperiod_name 24x7
            alias           24 Hours A Day, 7 Days A Week
            sunday          00:00-24:00
            monday          00:00-24:00
            tuesday         00:00-24:00
            wednesday       00:00-24:00
            thursday        00:00-24:00
            friday          00:00-24:00
            saturday        00:00-24:00
            }

    這個配置就是定義了一個名字是"24×7"的時間段,包括從周一到周日中每天的24小時。這個時間段里,系統會將故障告警信息發送給聯系人。


    3)檢查contactgroup.cfg的配置


    define contactgroup{

    contactgroup_name novell-admins

    alias Novell Administrators

    members jdoe,rtobert,tzach

    }

    此配置定義了一個名字叫 novell-admins 的聯系人組,包括成員 jdoe,rtobert,tzach 等三個人。你要確定(1)中contact_groups 的值在這里有定義。

    4)要檢查各個聯系人的配置,就要查看contacts.cfg文件:


    define contact{

    contact_name jdoe

    alias John Doe

    service_notification_period 24x7

    host_notification_period 24x7

    service_notification_options w,u,c,r

    host_notification_options d,u,r

    service_notification_commands notify-by-email

    host_notification_commands host-notify-by-email

    email jdoe@localhost.localdomain

    pager 555-5555@pagergateway.localhost.localdomain

    address1 xxxxx.xyyy@icq.com

    address2 555-555-5555

    }

    這個配置文件例子頂一了一個jdoe的聯系方式和另外一些參數。注意這里的參數也可能會造成提醒信息沒有發送。emailpageraddress分別對應該聯系人的email地址、傳真地址、其他地址等等。這里解釋一下其他相關的參數:

    host_notification_period: 主機類提醒發送時間。定義主機類提醒發給該聯系人的時間段。在hosts.cfg中已經定義了一個notification_period那個定義是是定義所有該主機需要提醒的人接受提醒的時間段。這里的這個時間段則是說明這個人接受提醒信息的時間段,也就是說提醒發送的時間必須同時滿足主機配置文件和此配置文件中的時間段才會正常發送給聯系人jdoe。這個參數對于那些24小時3班導的人,或者10點之后起床的老板,是很有用的。

    service_notification_period: 這個參數類似于host_notification_period,不多說了。

    host_notification_commands: 這個參數說明發送主機提醒信息的命令。呵呵,如果以上的配置都沒有問題,但是沒有接受到提醒的話,要留意這里!

    service_notification_commands: 這個參數說明發送服務提醒信息的命令。

    host_notification_options:定義接受提醒的主機狀態改變:d = DOWN , u = UNREACHABLE, r=UP or OK,  f = flappingn =什么都不發送。

    service_notification_options: 定義接受提醒的服務狀態改變。參數意義同host_notification_options

    5小結。根據以上的分析,如果關于服務狀態改變、提醒信息發送時間段、聯系人的聯系地址等都沒有問題,那么可能的問題就是發送提醒信息的命令出現問題。查看這些命令之前,請確定nagios系統的服務器上有mailsendmail等發送郵件的軟件包,且工作正常。如果你有一些短信貓,或者用了其他的提醒腳本,請確定其工作正常。

    另外,nagios還包括一個名為 Notification Escalations 的模塊,用來擴展已經很強大的提醒體系。

    舉例說明一下這個模塊的功能:你定義一臺主機的提醒,首次發現問題不提醒,直到連續三次重復出現問題時,主機管理員A會收到提醒,然后過了一段時間,問題還沒有修復,這是又繼續發送第4次提醒給A(此時A共收到2次提醒),在第五次提醒的時候,就發給了管理員B,……,在第十次提醒的時候就發給了管理員的老板……如果你用到這個模塊,也需要檢查其是否配置正確。

    6)提醒命令

    一般的提醒命令名稱如 xxx-notify-by-xxx,他只是一個名字,具體是用什么來實現這個提醒的具體工作的,要查看command.cfg文件中,關于此命令的定義,舉個例子:


    # 'notify-by-email' command definition

    define command{

    command_name notify-by-email

    command_line /usr/bin/printf "%b" "*****Nagios2.9*****"n"nNotification Type: $NOTIFICATIONTYPE$"n"nService: $SERVICEDESC$"nHost: $HOSTALIAS$"nAddress: $HOSTADDRESS$"nState: $SERVICESTATE$"n"nDate/Time: $LONGDATETIME$"n"nAdditional Info:"n"n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ }


    上例中,定義了一個名字為
    "notify-by-email"的命令,這個命令的內容,就是command_line對應的命令行定義的。如果你是用獨立的腳本來完成提醒功能,可能會類似下面的情況:


    #host-notify-by-sms

    define command {
    command_name host-notify-by-sms

    command_line /nagios/sms.sh

    }

    posted on 2009-05-13 13:52 Blog of JoJo 閱讀(265) 評論(0)  編輯  收藏 所屬分類: 每日一記

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    相冊

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧洲日产国码久在线| 亚洲国产精品久久| 337P日本欧洲亚洲大胆精品| 又粗又大又黑又长的免费视频| 亚洲毛片在线观看| 51在线视频免费观看视频| 色婷婷亚洲十月十月色天| 99在线热视频只有精品免费| 日产亚洲一区二区三区| 最近免费中文字幕高清大全 | 中文字幕亚洲综合久久菠萝蜜| h视频在线免费观看| 亚洲国产精品无码久久久蜜芽 | 美女被免费视频网站| 亚洲片国产一区一级在线观看| h片在线观看免费| 老汉色老汉首页a亚洲| 免费福利网站在线观看| 亚洲欧洲av综合色无码| yy6080久久亚洲精品| 天堂在线免费观看| 亚洲精品国产免费| 四虎永久在线精品免费影视| 国产99视频精品免费视频76| 久久香蕉国产线看观看亚洲片| 亚洲综合另类小说色区色噜噜| 久久成人永久免费播放| 午夜影视日本亚洲欧洲精品一区| 国产精品视频免费| 美女免费视频一区二区三区| 国产亚洲一区二区精品| 我们的2018在线观看免费高清| 亚洲日韩在线中文字幕综合| 亚洲国产精品SSS在线观看AV| 久久久久久免费视频| 高潮毛片无遮挡高清免费视频| 亚洲成色WWW久久网站| 全免费a级毛片免费看不卡| 精品熟女少妇aⅴ免费久久| 亚洲成aⅴ人在线观看| 亚洲AV无码一区二区三区国产 |