发送SNMP陷阱的Cacti阈值

时间:2015-05-28 22:10:50

标签: ubuntu snmp nagios cacti

我最近开始在Ubuntu上与Cacti和Nagios合作,我对它们的了解有限。目前,Cacti在更改阈值时发送电子邮件。除了当前的电子邮件之外,我还希望此阈值发送SNMP警报。

我用谷歌搜索了这个,但找不到确切的答案。有没有简单的方法来存档?我错过了任何设置或什么?

1 个答案:

答案 0 :(得分:1)

没有简单的方法。您可以将syslog消息发送到Element Management System并读取元素管理系统上的syslog。通过执行以下操作,更改/etc/syslog.conf以转发警报到EMS系统。

  1. 转到设置 - >阈值。
  2. 将Syslog工具更改为本地5
  3. 打开/etc/syslog.conf
  4. 像这样添加远程IP地址  Local5。* @@ 192.1.3.1:514   您可以根据远程端口更改514.
  5. 重新启动syslog。 service syslog restart
  6. 瞧!检查您是否在远程服务器上接收syslog。
  7. 艰难的道路。 1.在thold插件文件夹中打开thold_function.php 2.编写一个php函数来发送警报。 3.在记录器功能中添加该功能。

    功能记录器($ desc,$ breach_up,$ threshld,$ currentval,$ trigger,$ triggerct,$ urlbreach)

    以下是您可以适应的代码。

       <?php
    
    // send a trap
    $sourcehost = '123.45.12.3';
    $destinationhost = '1.1.4.6';
    $community = 'public';
    $version = '2c';
    $enterprise = '.1.3.6.1.4.1.99999.11.1';
    $sourcehostname = 'SourceHostName';
    $severity = 4;
    $detail = 'All information about alarm.';
    $message = 'Text to display in alarm summary.';
    
    $uptime = '1001';
    
    
    $billingid              =             76197;
    $period                =             '2014/05/25 22:31:11 -> 2014/05/25 23:01:11';
    $siteid      =             '123456';
    $customer          =             'University of Maryland';
    $cc                         =             380;
    $country             =             'Ukraine';
    $amount             =             '67.05  Euro';
    $minutes            =             '119.73';
    $nrofcalls            =             12;
    
    $command ="snmptrap -v ".$version. " -c ".$community." ".$destinationhost." ".$uptime." ".$enterprise." .1.3.6.1.4.1.99999.222.11.1 s '".$sourcehost."' .1.3.6.1.4.1.99999.222.11.2 s '".$sourcehostname."' .1.3.6.1.4.1.99999.222.11.3 i '".$severity."' .1.3.6.1.4.1.99999.222.11.4 s '".$detail."' .1.3.6.1.4.1.99999.222.11.5 s '".$message."' .1.3.6.1.4.1.99999.222.11.6 s '".$clarifysiteid."' .1.3.6.1.4.1.99999.222.11.7 i '".$billingid."' .1.3.6.1.4.1.99999.222.11.8 s '".$period."' .1.3.6.1.4.1.99999.222.11.9 s '".$customer."' .1.3.6.1.4.1.99999.222.11.10 i '".$cc."' .1.3.6.1.4.1.99999.222.11.11 s '".$country."' .1.3.6.1.4.1.99999.222.11.12 s '".$amount."' .1.3.6.1.4.1.99999.222.11.13 s '".$minutes."' .1.3.6.1.4.1.99999.222.11.14 i ".$nrofcalls;
    
    
    print($command);
    
    system($command);
    
    ?>