Назад | Перейти на главную страницу

Отправка электронной почты при получении ловушки SNMP

Мне нужно настроить приемник ловушек SNMP для обработки ловушек с определенного устройства (в данном случае это ленточная библиотека IBM TS3584) и отправлять их (по электронной почте) с информацией об ошибке. Мой сервер работает под управлением CentOS 6.4 linux с пакетом net-snmp.

Я подключился к библиотеке и могу получить ее тестовую ловушку. Дополнительно я загрузил MIB для этого устройства (отсюда: http://www-01.ibm.com/support/docview.wss?uid=ssg1S4000318) и подтвердил, что могу получить значения (или OID) конкретного события:

snmpwalk -v2c -c public -m +IBM-TS3500-MIBv2 10.10.100.5 ibm3584MIBObjectsTD
**IBM-TS3500-MIBv1::ibm3584MIBObjectsTD.0 = STRING: "This is a test SNMP trap."**


snmptranslate -m +IBM-TS3500-MIBv2 -IR -On ibm3584MIBObjectsTD
**.1.3.6.1.4.1.2.6.182.1.2.71.1**

Вся ловушка (из / var / log / messages) выглядит так:

2013-08-27 15:49:37 10.10.100.5(via UDP: [10.10.100.5]:1795->[10.10.100.135]) TRAP,
SNMP v1, community public#012#011SNMPv2-SMI::enterprises.4484.1 Enterprise Specific
Trap (408) Uptime: 1:00:10.45#012#011SNMPv2-SMI::enterprises.2.6.182.1.2.11.1 =
STRING: "3584 L32 7814014"#011SNMPv2-SMI::enterprises.2.6.182.1.2.111.1 = STRING: "
0"#011SNMPv2-SMI::enterprises.2.6.182.1.2.101.1 = ""#011SNMPv2
SMI::enterprises.2.6.182.1.2.41.1 = STRING: "08"#011SNMPv2
SMI::enterprises.2.6.182.1.2.71.1 = STRING: "This is a test SNMP trap."#011SNMPv2
SMI::enterprises.2.6.182.1.2.151.1 = INTEGER: 1#011SNMPv2
SMI::enterprises.2.6.182.1.2.161.1 = STRING: "00000"

Мой вопрос: есть ли какое-либо программное обеспечение (linux, non gui), которое может обрабатывать ловушки, полученные в этом формате, и на основе серьезности (которая является одним из значений в ловушке SNMP) отправлять электронное письмо, используя информацию, предоставленную в ловушке ? Я пробовал Cacti, но не смог найти никаких вариантов уведомлений (кроме старого плагина без документации), и хотя мне удалось cacti говорить с моим устройством (читая его имя / местоположение и т. Д.), Это бесполезно. AFAIK Nagios имеет плагин для библиотек TS3200 / 3300, но я не могу использовать Nagios.

Итак, я думаю, нужно ли мне писать собственный синтаксический анализатор / var / log / messages для ловушек snmp и искать информацию или есть какое-либо решение, которое я могу использовать?

Вы можете настроить snmptrapd обрабатывать ловушки с помощью скрипта; это traphandle директива.

Я считаю, что файл конфигурации /etc/snmp/snmptrapd.conf.

Например, вы можете использовать:

traphandle IBM-TS3500-MIBv1::ibm3584MIBObjectsTD.0 /usr/local/bin/myscript.pl

Или, чтобы разобрать все, вы можете использовать:

traphandle default /usr/local/bin/myscript.pl

Содержимое ловушки передается скрипту в STDIN так что ваш сценарий нужно будет читать оттуда.

Вы не упоминаете предпочитаемый язык для написания этого сценария, поэтому я не буду вдаваться в подробности; однако для Perl существует следующая библиотека: SNMP :: Trapinfo

Вы можете сделать что-то вроде этого:

use strict;
use SNMP::Trapinfo;
my $trap = SNMP::Trapinfo->new(*STDIN, {hide_passwords => 1});
# parse trap here
my $subject = "Got trap from $trap->hostname";
open EMAIL, "|-", "/usr/bin/Mail", "-s", $subject, "me@mydomain.com";
print EMAIL "My Email Body for SNMP Trap";
close EMAIL;

Кроме того, не похоже, что ваши ловушки полностью переведены на /var/log/messages. Я не могу вспомнить, какие переменные вам нужно установить для перевода ловушек с помощью пользовательских MIB, но вы должны иметь возможность удалить свои MIB в / usr / local / share / snmp / mibs (создавая этот каталог, если он не существует).

я использую snmptrapd для приема ловушек (служба прослушивает порт 162 / udp) и для дальнейшей обработки snmptt (видеть http://snmptt.sourceforge.net/docs/snmptt.shtml).

Обновление2: http://www.net-snmp.org/docs/man/snmptrapd.html Искать больше.

Обновление: приемник ловушек net-snmp snmptrapd.

http://net-snmp.sourceforge.net/tutorial/tutorial-5/demon/

Вам нужна полноценная система мониторинга, способная обрабатывать ловушки? Если да, попробуйте Opennms. Это наиболее зрелый продукт для мониторинга с открытым исходным кодом.