Cacti如何实现电话告警
Cacti 是一套基于 PHP , MySQL , SNMP 及 RRD Tool 开发的网络流量监测图形分析工具。 Cacti 提供了一个快速轮询器,高级图表模板,多种数据采集方法和用户管理功能。所有这一切都被包装在一个直观的,易于使用的界面中,这对于局域网以及成千上万个设备的复杂网络来说是有意义的。
但是为了不错过重要的阀值告警,往往邮件通知是不够的,电话通知的方式往往是最直接方式。在产生重要的告警的时候,可以第一时间接收到告警电话,使得用户可以第一时间进行处理。睿象云智能告警平台 Cloud Alert 就可以简单而又快速的实现电话告警,接下来就讲下如何实现吧!
主要分为三大步骤:
1. 集成应用 - 也就是将 Cacti 集成到睿象云智能告警平台
2. 设置分派策略 - 设置告警发生时的通知人
3. 设置通知策略 - 设置电话的通知方式
一. 集成应用
1. 进入官网www.aiops.com ,登录账号
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("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 使之触发告警,查看 Cloud Alert 告警和邮件告警是否正常
二. 设置分派策略
1. 点击配置 - 分派策略 - 新建分派
2. 输入分派策略名称 - 选择应用 - 设置分派人(告警发生时通知的人),点击保存
用户可以根据【告警级别】【告警内容】等条件,来添加指定条件分派。
三. 设置通知策略
1. 点击【配置】-【通知策略】 - 【新建通知】
2. 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下:
告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4 种选择。
告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4 种选择。
通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP , 5 种选择。
时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3 种选择。
延迟策略:选择告警通知是否延迟。
通知人:选择告警通知的人。
例如:任何时间告警发生时严重级别的告警立刻 电话 通知所有人。
告警状态 - 发生时;告警级别 - 严重;通知方式 - 电话 ;时间设置 - 任何时间;延迟策略 - 立刻;通知人 - 全选
Cacti与CA告警级别映射关系
Cacti 所有告警默认严重级别 | subject 包含 NORMAL 或是包含 normal 或是包含 Restored 为恢复告警。
以上设置就完成了Cacti 的电话通知设置,还有多种通知方式,用户看也可以根据自己的需求来进行设置。