Cacti 是一套基于 PHP , MySQL , SNMP 及 RRD Tool 開發(fā)的網(wǎng)絡(luò)流量監(jiān)測(cè)圖形分析工具。 Cacti 提供了一個(gè)快速輪詢器,高級(jí)圖表模板,多種數(shù)據(jù)采集方法和用戶管理功能。所有這一切都被包裝在一個(gè)直觀的,易于使用的界面中,這對(duì)于局域網(wǎng)以及成千上萬個(gè)設(shè)備的復(fù)雜網(wǎng)絡(luò)來說是有意義的。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海北州免費(fèi)建站歡迎大家使用!
但是為了不錯(cuò)過重要的閥值告警,往往郵件通知是不夠的,電話通知的方式往往是最直接方式。在產(chǎn)生重要的告警的時(shí)候,可以第一時(shí)間接收到告警電話,使得用戶可以第一時(shí)間進(jìn)行處理。睿象云智能告警平臺(tái) Cloud Alert 就可以簡(jiǎn)單而又快速的實(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 所有告警默認(rèn)嚴(yán)重級(jí)別 | subject 包含 NORMAL 或是包含 normal 或是包含 Restored 為恢復(fù)告警。
以上設(shè)置就完成了Cacti 的電話通知設(shè)置,還有多種通知方式,用戶看也可以根據(jù)自己的需求來進(jìn)行設(shè)置。