News:

We really need your input in this questionnaire

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - sdm

#1
Общие вопросы / Парсить snmp-traps
February 26, 2015, 10:16:43 AM
Добрый день, существует ли способ парсить snmp-traps, после чего присваивать получившееся значение как DCI для определенного виртуального хоста?

Примеры получаемых трапов:

26.02.2015 11:53:10   ip-адрес    hyperic   .1.3.6.1.4.1.4   .1.5.4 == 'common_alert_for_space:common_alert_for_space XX-XXX-01 Win32 File System D:\ (local/NTFS) Use Percent (86,0%) '

17.02.2015 15:14:13   ip-адрес    VIDEOSERVER       .1.3.6.1.4.1.11141.3.2.0.602            .1.3.6.1.4.1.11141.3.1.1.0 == 'FAIL'; .1.3.6.1.4.1.11141.3.1.2.0 == 'SERVERNAME'; .1.3.6.1.4.1.11141.3.1.3.0 == 'Drive: xxxxxxxx-xxxxxxxx in slot -1')

19.02.2015 11:37:46    ip-адрес      hyperic           .1.3.6.1.4.1.3     .2.2.8 == 'Card: Alert :Card: Alert  Card_1@XX-XXX-02 Availability (0.0%)

04.12.2014 15:38:18    ip-адрес      server      .1.3.6.1.6.3.1.1.5.1         .1.3.6.1.2.1.1.5.0 == 'Trap Generated by server'; .1.3.6.1.4.1.2162.1.1.2.2 == '-'; .1.3.6.1.4.1.2162.1.1.2.3 == '-'; .1.3.6.1.4.1.2162.1.1.2.4 == '-'; .1.3.6.1.4.1.2162.1.1.2.5 == '-'; .1.3.6.1.4.1.2162.1.1.2.6 == '-'; .1.3.6.1.4.1.2162.1.1.2.7 == '-'; .1.3.6.1.4.1.2162.1.1.2.8 == '-'

В настоящий момент есть идея получать сообщения от других систем мониторинга и оборудования в форме трапов (есть оборудование, что умеет слать трапы, но не умеет snmp),
всю остальную логику реализовать уже в пределах netxms.
т.е. в имеющихся системах мониторинга реализовать отсыл snmp-traps в случае не достижения каких-либо критичных значений, а просто при изменении значения метрики
далее критичность этих значений определять уже в netxms.
#2
Имеется хранилище, к которому по оптике подключена группа компьютеров, при этом эти компьютеры являются рабочими станциями и периодически бывают выключены, есть задача отслеживать место на этом хранилище. Хранилище snmp не умеет, но snmp доступен на всех рабочих станциях, и отдает статистику.
В произвольный период времени парочка компьютеров всегда включена, парочка выключена, таким образом нужно отслеживать параметр по следующему принципу, если параметр доступен на 1-м компьютере, то брать значение с него, если нет, то брать значение со 2-го, 3-го, 4-го и т.д.
Каким образом можно реализовать такое?
#3
В PowerShell есть масса возможностей получать параметры с других компьютеров, по своей сути это информация WMI, но, при всем этом в интернете масса решений для получения тех или иных параметров, возможность их предобработки, а так же возможность получать эту информацию без агента на компьютере.

Каким образом ноде, присвоить значение полученное скриптом через агент другого компьютера?
В настоящий момент есть идея через агент сервера, где установлен агент выполнять PowerShell скрипт, снимающий значения с Windows компьютеров в сети, и заносить их в базу.
Каким образом можно инициализировать выполнение скрипта на сервере с подстановкой параметра $node в качестве имени компьютера ($computer в примере ниже) и, присвоением возвращенного результата в качестве значения определенного параметра для $node?
Я знаю, что снятие значений таким образом займет много времени, но в моем случае оно не требует оперативности, т.е. такой обход достаточен раз в сутки.

По своей сути данное решение является аналогом Agentless WMI, который ожидается в новой версии, но хочется, и, даже нужно уже сейчас.

Примеры того, что хотелось бы получать:
Get-WmiObject -Class Win32_LogicalDisk -Computername $computer -Filter DriveType=3 | Select DeviceID , @{Name="size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}}, @{Name="freespace(GB)";Expression={"{0:N1}" -f($_.freespace/1gb)}}

(Get-WmiObject -Class Win32_ComputerSystem -Computername $computer | Select-Object Name,Domain,Model).Model

(Get-Service | Where {$_.Name -eq "ServiceName"} | Select-Object Status).Status