跳转至

Cacti集成

Cacti是一个完整的网络图形解决方案,旨在利用RRDTool的数据存储和图形功能。Cacti提供了一个快速轮询器,高级图表模板,多种数据采集方法和用户管理功能。所有这一切都被包装在一个直观的,易于使用的界面中,这对于局域网以及成千上万个设备的复杂网络来说是有意义的。


Cacti集成CA步骤

  1. 创建应用

    睿象云Cloud Alert界面创建Cacti应用,并获取 appkey

  2. 安装并配置thold插件,配置邮件告警

  3. 修改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告警和邮件告警是否正常


Cacti与CA告警级别映射关系

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

以上是Cacti 告警设置中集成的步骤。