Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101437
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2019-09-26 17:39
文章分类
文章存档

2021年(10)

2020年(20)

2019年(1)

我的朋友

分类: 系统运维

2020-02-20 16:38:27

Cacti是一套基于PHPMySQLSNMPRRD 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种选择。

通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP5种选择。

时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。

延迟策略:选择告警通知是否延迟。

通知人:选择告警通知的人。

 

例如:任何时间告警发生时严重级别的告警立刻电话通知所有人。

告警状态 — 发生时;告警级别 — 严重;通知方式 — 电话;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选

 

 

Cacti与CA告警级别映射关系

Cacti 所有告警默认严重级别 | subject包含NORMAL或是包含normal或是包含Restored 为恢复告警。

 

以上设置就完成了Cacti的电话通知设置,还有多种通知方式,用户看也可以根据自己的需求来进行设置。


阅读(1158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~