Cacti如何實(shí)現(xiàn)電話告警

Cacti是一套基于PHP,MySQL,SNMP及RRD Tool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具。Cacti提供了一個(gè)快速輪詢器,高級(jí)圖表模板,多種數(shù)據(jù)采集方法和用戶管理功能。所有這一切都被包裝在一個(gè)直觀的,易于使用的界面中,這對于局域網(wǎng)以及成千上萬個(gè)設(shè)備的復(fù)雜網(wǎng)絡(luò)來說是有意義的。?
但是為了不錯(cuò)過重要的閥值告警,往往郵件通知是不夠的,電話通知的方式往往是最直接方式。在產(chǎn)生重要的告警的時(shí)候,可以第一時(shí)間接收到告警電話,使得用戶可以第一時(shí)間進(jìn)行處理。睿象云智能告警平臺(tái)?Cloud Alert就可以簡單而又快速的實(shí)現(xiàn)電話告警,接下來就講下如何實(shí)現(xiàn)吧!?
主要分為三大步驟:?
1.集成應(yīng)用?—?也就是將Cacti集成到睿象云智能告警平臺(tái)?
2.設(shè)置分派策略?—?設(shè)置告警發(fā)生時(shí)的通知人?
3.設(shè)置通知策略?—?設(shè)置電話的通知方式?
一.集成應(yīng)用?
1.進(jìn)入官網(wǎng)www.aiops.com,登錄賬號(hào)?
2.在Cloud Alert中創(chuàng)建Cacti應(yīng)用,點(diǎn)擊集成?—?監(jiān)控工具?— Cacti?
3.填寫“應(yīng)用名稱”,點(diǎn)擊“保存并獲取應(yīng)用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函數(shù):?
/* 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參數(shù):?
function onealert_for_cacti($msg, $subject) {?
$fields = array(?
"APP" => "--", --處填入您新建應(yīng)用時(shí)生成的APPkey?
"subject" => $subject,?
"msg" => $msg?
);?
$fieldsdate = json_encode($fields);?
$ch = curl_init("http://api.aiops.com/alert/api/event/cacti/new");?
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使之觸發(fā)告警,查看Cloud Alert告警和郵件告警是否正常?
二.設(shè)置分派策略?
1.點(diǎn)擊配置?—?分派策略?—?新建分派?
2.輸入分派策略名稱?—?選擇應(yīng)用?—?設(shè)置分派人(告警發(fā)生時(shí)通知的人),點(diǎn)擊保存?
用戶可以根據(jù)【告警級(jí)別】【告警內(nèi)容】等條件,來添加指定條件分派。?
三.設(shè)置通知策略?
1.點(diǎn)擊【配置】—【通知策略】-【新建通知】?
2.通知策略的可選擇性也是很高的,用戶可選擇的地方有:告警狀態(tài)、告警級(jí)別、通知方式、時(shí)間設(shè)置、延遲策略、通知人等,其中的意思分別如下:?
告警狀態(tài):選擇告警通知的狀態(tài)。分別有發(fā)生時(shí)、認(rèn)領(lǐng)時(shí)、關(guān)閉時(shí)、全選,4種選擇。?
告警級(jí)別:選擇告警通知的級(jí)別。分別有提醒、警告、嚴(yán)重、所有,4種選擇。?
通知方式:選擇告警通知的方式。分別有電話、短信、郵件、微信、APP,5種選擇。?
時(shí)間設(shè)置:選擇告警通知的時(shí)間。分別有任何時(shí)間、工作時(shí)間、非工作時(shí)間,3種選擇。?
延遲策略:選擇告警通知是否延遲。?
通知人:選擇告警通知的人。?
例如:任何時(shí)間告警發(fā)生時(shí)嚴(yán)重級(jí)別的告警立刻電話通知所有人。?
告警狀態(tài)?—?發(fā)生時(shí);告警級(jí)別?—?嚴(yán)重;通知方式?—?電話;時(shí)間設(shè)置?—?任何時(shí)間;延遲策略?—?立刻;通知人?—?全選?
Cacti與CA告警級(jí)別映射關(guān)系Cacti?所有告警默認(rèn)嚴(yán)重級(jí)別?| subject包含NORMAL或是包含normal或是包含Restored?為恢復(fù)告警。?
以上設(shè)置就完成了Cacti的電話通知設(shè)置,還有多種通知方式,用戶看也可以根據(jù)自己的需求來進(jìn)行設(shè)置。
了解更多網(wǎng)絡(luò)知識(shí)關(guān)注:http://www.vecloud.com/