Cacti集成¶
Cacti是一个完整的网络图形解决方案,旨在利用RRDTool的数据存储和图形功能。Cacti提供了一个快速轮询器,高级图表模板,多种数据采集方法和用户管理功能。所有这一切都被包装在一个直观的,易于使用的界面中,这对于局域网以及成千上万个设备的复杂网络来说是有意义的。
Cacti集成CA步骤¶
-
创建应用
在睿象云Cloud Alert界面创建Cacti应用,并获取 appkey
-
安装并配置thold插件,配置邮件告警
-
修改thold插件,支持CloudAlert告警接入
-
打开
{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'); onealert_for_cacti($message,$subject); $subject = trim($subject); $message = str_replace('', $subject, $message); ...... //此处省略 } }
在 function thold_mail函数后添加如下代码并替换app参数:
function onealert_for_cacti($msg, $subject) { $fields = array( "app" => "{appKey}",//your 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; }
-
重启SNMP
service snmpd restart
-
重启httpd
service httpd restart
-
配置Cacti使之触发告警,查看Cloud Alert告警和邮件告警是否正常
-
Cacti与CA告警级别映射关系¶
睿象云 | cacti |
---|---|
致命 | -- |
严重 | 默认 |
警告 | -- |
提醒 | -- |
通知 | -- |
睿象云 | CACTI |
---|---|
事件ID (eventId) | MD5(app+subject(截取第一个:到最后一个]之间的内容id)) |
以上是Cacti 告警设置中集成的步骤。