Доброе время суток!
Настраиваю мониторинг серверов по SNMP, малость не врубаюсь в структуру MIB файла. Предположим, я мониторю состояние жестких дисков. Опытным путем установлено, что OID используется такой:
snmpwalk -v 2c -c public 192.168.28.82 .1.3.6.1.4.1.232.3.2.5.1.1.6
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.9 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.10 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.11 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.12 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.13 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.14 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.15 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.16 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.17 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.18 = INTEGER: 2
SNMPv2-SMI::enterprises.232.3.2.5.1.1.6.2.19 = INTEGER: 2Но задача получать OID из файлов cpqida.mib и cpqida.cfg, там есть, к примеру:
cpqDaPhyDrvStatus OBJECT-TYPE
SYNTAX INTEGER
{
other(1),
ok(2),
failed(3),
predictiveFailure(4)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Physical Drive Status.This shows the status of the physical drive.
The following values are valid for the physical drive status:
other (1)
Indicates that the instrument agent does not recognize
the drive. You may need to upgrade your instrument agent
and/or driver software.ok (2)
Indicates the drive is functioning properly.failed (3)
Indicates that the drive is no longer operating and
should be replaced.predictiveFailure(4)
Indicates that the drive has a predictive failure error and
should be replaced."
::= { cpqDaPhyDrvEntry 6 }Как на основании файлов MIB получить из имени параметра его OID ?
Спасибо.
>[оверквотинг удален]
> Indicates that
>the drive has a predictive failure error and
> should be
>replaced."
> ::= { cpqDaPhyDrvEntry 6 }
>
>Как на основании файлов MIB получить из имени параметра его OID ?
>
>
>Спасибо.man snmpcmd
snmpwalk ... -Of host
Все OIDы бызы MIB это дерево.Тебе бы для начала найти расписанное дерево тех мибов чтобы определится что конкретно снимать. Например интерфесы циски:
"org" "1.3"
"dod" "1.3.6"
"internet" "1.3.6.1"
"directory" "1.3.6.1.1"
"mgmt" "1.3.6.1.2"
"experimental" "1.3.6.1.3"
"private" "1.3.6.1.4"
"enterprises" "1.3.6.1.4.1"
"security" "1.3.6.1.5"
"snmpV2" "1.3.6.1.6"
"snmpDomains" "1.3.6.1.6.1"
"snmpProxys" "1.3.6.1.6.2"
"snmpModules" "1.3.6.1.6.3"сразу понятно чо где.
В твоем случае
cpqDaPhyDrvStatus OBJECT-TYPE
SYNTAX INTEGER
{
other(1),
ok(2),
failed(3),
predictiveFailure(4)
}
означает что объект cpqDaPhyDrvStatus может отдавать четыве варианта значение 1-4(значения параметра как раз расписаны), имеет целый тип. А вот какой до него путь (те цифровой OID это хз). По моему в ветке enterprises производитель сам делает структуру MIB, надо смотреть у него на сайте, все зависит собственно от агента.
Еще такая тема - самы OID бываю разные - OID может ссылатся на таблицу, те целый список sub-OIDs или на фиксированный, те одиночный. В случае с одиночным - надо OID вроде дополнять .0 ( ноликом), в случае с табличным - вообще не помню.
PS я могу путать - давно не ковырял snmp
>означает что объект cpqDaPhyDrvStatus может отдавать четыве варианта значение 1-4(значения параметра как
>раз расписаны), имеет целый тип. А вот какой до него путь
>(те цифровой OID это хз). По моему в ветке enterprises производитель
>сам делает структуру MIB, надо смотреть у него на сайте, все
>зависит собственно от агента.
>Еще такая тема - самы OID бываю разные - OID может ссылатся
>на таблицу, те целый список sub-OIDs или на фиксированный, те одиночный.
>В случае с одиночным - надо OID вроде дополнять .0 (
>ноликом), в случае с табличным - вообще не помню.
>PS я могу путать - давно не ковырял snmpНу да, я знаю как добраться до уровня состояния дисков:
-- ****************************************************************************
-- Drive Array Physical Drive Group
-- ================================
--
-- The compaq enterprise (1.3.6.1.4.1.232)
-- cpqDriveArray Group (1.3.6.1.4.1.232.3)
-- cpqDaComponent Group (1.3.6.1.4.1.232.3.2)
-- cpqDaPhyDrv Group (1.3.6.1.4.1.232.3.2.5)
-- cpqDaPhyDrvTable (1.3.6.1.4.1.232.3.2.5.1)
--
то есть состояния дисков находятся в 1.3.6.1.4.1.232.3.2.5.1. Но по какому принципу мне вычислить состояние допустим первого диска (1.3.6.1.4.1.232.3.2.5.1.1.6)? Это должно вычисляться из MIB файла, но как - я не понимаю. И да, есть еще CFG файл, но там я явного указание под-OID я тоже не вижу.
1) покажи ПОЛНЫЙ snmpwalk начиная с 1.3.6.1.4.1.232.3.2.5.1
2) покажи полнок описалово дерева (если есть)
-- ****************************************************************************
-- Drive Array Physical Drive Group
-- ================================
или это все что есть?
>1) покажи ПОЛНЫЙ snmpwalk начиная с 1.3.6.1.4.1.232.3.2.5.1
>2) покажи полнок описалово дерева (если есть)
>-- ****************************************************************************
>-- Drive Array Physical Drive Group
>-- ================================
>или это все что есть?Извиняюсь за задержку, был в отъезде.
Вот миб и конф файл: http://ifolder.ru/9440763 http://ifolder.ru/9440802
С какими ключами смотреть snmpwalk?