Cacti如何實現電話告警

ruixiangyun發表於2020-02-20

Cacti 是一套基於 PHP MySQL SNMP RRD Tool 開發的網路流量監測圖形分析工具。 Cacti 提供了一個快速輪詢器,高階圖表模板,多種資料採集方法和使用者管理功能。所有這一切都被包裝在一個直觀的,易於使用的介面中,這對於區域網以及成千上萬個裝置的複雜網路來說是有意義的。

但是為了不錯過重要的閥值告警,往往郵件通知是不夠的,電話通知的方式往往是最直接方式。在產生重要的告警的時候,可以第一時間接收到告警電話,使得使用者可以第一時間進行處理。睿象雲智慧告警平臺 Cloud Alert 就可以簡單而又快速的實現電話告警,接下來就講下如何實現吧!

主要分為三大步驟:

1.  整合應用 — 也就是將 Cacti 整合到睿象雲智慧告警平臺

2.  設定分派策略 — 設定告警發生時的通知人

3.  設定通知策略 — 設定電話的通知方式

 

一. 整合應用

1.  進入官網 ,登入賬號

2 .   Cloud Alert 中建立 Cacti 應用,點選整合監控工具 Cacti

3.  填寫應用名稱 ,點選 儲存並獲取應用 key”

4.  安裝並配置thold 外掛,配置郵件告警

5.  修改thold 外掛,支援 CloudAlert 告警接入

(1)  開啟   {cacti_home}/plugins/thold/thold_functions.php   例如:

vim /var/www/html/cacti/plugins/thold/thold_functions.php

定位到function thold_mail 函式:

/* Sends a group of graphs to a user */

function thold_mail($to, $from, $subject, $message, $filename, $headers = '') {

    global $config;

        thold_debug('Preparing to send email');

        include_once($config['base_path'] . '/plugins/settings/include/mailer.php');

        include_once($config['base_path'] . '/plugins/thold/setup.php');

 

        $subject = trim($subject);

 

        $message = str_replace('', $subject, $message);

        ...... // 此處省略

    }

 

  $message = str_replace('', $subject, $message) ; 後新增如下程式碼並替換 appkey 引數:

 

function onealert_for_cacti($msg, $subject) {

    $fields = array(

        "app"  =>  "--",   -- 處填入您新建應用時生成的 appkey

        "subject"  =>  $subject,

        "msg"  =>   $msg

    );

    $fieldsdate = json_encode($fields);

    $ch = curl_init(");

    curl_setopt($ch, CURLOPT_HEADER, "Content-type: application/json");

    curl_setopt($ch, CURLOPT_POST, 1);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldsdate);

    $output = curl_exec($ch);

    if(curl_errno($ch)){

        print curl_error($ch);

    }

 

    curl_close($ch);

    echo $output;

}

onealert_for_cacti($message,$subject);

 

(2)  重啟SNMP

service snmpd restart

(3)  重啟httpd

service httpd restart

(4)  配置Cacti 使之觸發告警,檢視 Cloud Alert 告警和郵件告警是否正常

 

二. 設定分派策略

1.  點選配置 — 分派策略 — 新建分派

2.  輸入分派策略名稱 — 選擇應用 — 設定分派人(告警發生時通知的人),點選儲存

使用者可以根據【告警級別】【告警內容】等條件,來新增指定條件分派。

三. 設定通知策略

1.  點選【配置】—【通知策略】 - 【新建通知】

2.  通知策略的可選擇性也是很高的,使用者可選擇的地方有:告警狀態、告警級別、通知方式、時間設定、延遲策略、通知人等,其中的意思分別如下:

告警狀態:選擇告警通知的狀態。分別有發生時、認領時、關閉時、全選,4 種選擇。

告警級別:選擇告警通知的級別。分別有提醒、警告、嚴重、所有,4 種選擇。

通知方式:選擇告警通知的方式。分別有電話、簡訊、郵件、微信、APP 5 種選擇。

時間設定:選擇告警通知的時間。分別有任何時間、工作時間、非工作時間,3 種選擇。

延遲策略:選擇告警通知是否延遲。

通知人:選擇告警通知的人。

 

例如:任何時間告警發生時嚴重級別的告警立刻 電話 通知所有人。

告警狀態 — 發生時;告警級別 — 嚴重;通知方式 — 電話 ;時間設定 — 任何時間;延遲策略 — 立刻;通知人 — 全選

 

 

Cacti與CA告警級別對映關係

Cacti 所有告警預設嚴重級別 | subject 包含 NORMAL 或是包含 normal 或是包含 Restored 為恢復告警。

 

以上設定就完成了Cacti 的電話通知設定,還有多種通知方式,使用者看也可以根據自己的需求來進行設定。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69948837/viewspace-2676426/,如需轉載,請註明出處,否則將追究法律責任。

相關文章