Пороги Cacti для отправки ловушки SNMP

Недавно я начал работать с Cacti и Nagios в Ubuntu, и у меня мало знаний о них. В настоящее время Cacti отправляет электронное письмо при изменении порога. Я также хотел бы, чтобы этот порог отправлял предупреждение SNMP в дополнение к текущему электронному письму.

Я гуглил это, но не мог найти точного ответа. Есть ли простой способ архивировать это? Я пропустил какие-то настройки или что-то в этом роде?


person Vajira Lasantha    schedule 28.05.2015    source источник


Ответы (1)


Нет простого пути. Вы можете отправить сообщение системного журнала в систему управления элементами и прочитать системный журнал в системе управления элементами. Измените /etc/syslog.conf, чтобы пересылать оповещения в систему EMS, выполнив следующие действия.

  1. Зайдите в Настройки -> Пороги.
  2. Измените Syslog Facility на Local 5
  3. Откройте /etc/syslog.conf
  4. Добавьте удаленный IP-адрес, например Local5.* @@192.1.3.1:514 Вы можете изменить 514 на основе вашего удаленного порта.
  5. Перезапустите системный журнал. перезагрузка системного журнала службы
  6. Вуаля! Убедитесь, что вы получаете системный журнал на удаленном сервере.

Трудный путь. 1. Откройте файл thold_function.php в папке плагина thold. 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);

?>
person Templum Iovis    schedule 29.05.2015
comment
Спасибо за ответ. Я попробую этот метод. - person Vajira Lasantha; 02.06.2015