Есть замечательная программа для мониторинга сети Dude, мониторит большое количество устройств, поддерживает все возможные протоколы и т.д. и т.п. Только с ее настройками иногда приходится повозиться. Например, ИБП по SNMP отдает свои параметры, такие как вольтаж, температура, информация с внешних датчиков. Только вот мануалы подкачали, найти что к чему относится тяжело. Методом научного тыка были найдены некоторые полезные параметры. Ими и поделюсь.
Нам нужно на выходе получить такую картинку:
Добавляем устройство, подключаем snmp, у девайса правой кнопкой — «вид» — «метка»:
[Device.Name] [Device.FirstAddress]
[device_performance()][Device.ServicesDown] Vin=[oid("iso.org.dod.internet.private.enterprises.318.1.1.1.3.2.1.0")] V PDU=[oid("1.3.6.1.4.1.318.1.1.1.4.2.3.0")]% Tbat=[oid("1.3.6.1.4.1.318.1.1.1.2.2.2.0")] C
Или просто смотреть внешний температурный датчик
[Device.Name]
[device_performance()][Device.ServicesDown]
T=[oid("1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1")] C
По кодам использованным в этих настройках можно настроить зонды и получать оповещения, когда в серверной случаются нарушения работы оборудования.
Дополнительные функции для анализа snmp данных
device_performance
if( string_size(cpu_mem_disk()) > 0, concatenate(cpu_mem_disk(), " "), ""
cpu_mem_disk
concatenate( if(cpu_usage_available(),
concatenate("cpu: ", cpu_usage(), "% "), ""), if(mem_usage() > 0,
concatenate("mem: ", round(mem_usage()), "% "), ""),
if(virtual_mem_usage() > 0,
concatenate("virt: ", round(virtual_mem_usage()), "% "), ""),
if(hdd_usage() > 0,
concatenate("disk: ", round(hdd_usage()), "% "), "") )
cpu_usage
average( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrDevice.hrProcessorTable.hrProcessorEntry.hrProcessorLoad") )
mem_usage
oid(concatenate("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.",
array_element( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageIndex", 600),
array_find( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageType", 600),
"iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageRam" )))) * 100 / mem_size()
mem_size
oid(concatenate("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.",
array_element( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageIndex", 600),
array_find( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageType", 600),
"iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageRam" ))))
hdd_size
oid(concatenate("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.",
array_element( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageIndex", 600),
array_find( oid_column("iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageType", 600),
"iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageFixedDisk" ))))
If you liked my post, feel free to subscribe to my rss feeds