31

Ravil пишет:
Vascom пишет:

По зависимостям он всё тянет: http://koji.fedoraproject.org/koji/rpmi … ID=4753670
perl(Time::HiRes)

Тогда другой вопрос. Каким образом вы ставили snmptt? я делал, как описано тут:
www.askaralikhan.blogspot.ru/2010/12/re … agios.html
www.snmptt.org/docs/snmptt.shtml#Installation-Overview
Я пользовался этими ссылками. Тут про установку пакетов или еще-что-то не написано же

В таком случае ты совершил грубую ошибку, установив программу откуда-то со стороны.
Для его установки достаточно было дать команду

yum install snmptt

И не тратил бы тут время на решение этой элементарной проблемы.

32

Macumazan, Попробовал настроить SNMPTT дома. Вручную с помощью команды cpan установил библиотеки Perl из этой ссылки:
http://koji.fedoraproject.org/koji/rpmi … ID=4753670

cpan Config::IniFiles
cpan Cwd
...
cpan strict

Сначала остановил snmptt и проверил /var/spool/snmptt. Там создался spool файл, я его открыл и он не был пустым, там были записи. Затем запустил snmptt и начал смотреть debug файл. Там записи об ошибках уже не появляются. Отправил еще несколько трапов, все они успешно записались в файл snmpttunknown.log. Может проблема была в отсутствиях библиотек Perl?
На работе попробую вручную так же все библиотеки Perl поставить, заново скопирую из исходников все файлы, удалю spool файлы, проверю работу snmptthandler (без snmptt), затем работу самого демона snmptt. Отпишусь в понедельник.
Кстати, еще вопрос. Как долго хранятся spool файлы? Они удаляются после обработки трапа? Потому что, после проверки debug лога, я в директории spool уже ничего не нашел

33

Vascom пишет:
Ravil пишет:
Vascom пишет:

По зависимостям он всё тянет: http://koji.fedoraproject.org/koji/rpmi … ID=4753670
perl(Time::HiRes)

Тогда другой вопрос. Каким образом вы ставили snmptt? я делал, как описано тут:
www.askaralikhan.blogspot.ru/2010/12/re … agios.html
www.snmptt.org/docs/snmptt.shtml#Installation-Overview
Я пользовался этими ссылками. Тут про установку пакетов или еще-что-то не написано же

В таком случае ты совершил грубую ошибку, установив программу откуда-то со стороны.
Для его установки достаточно было дать команду

yum install snmptt

И не тратил бы тут время на решение этой элементарной проблемы.

Если бы я знал это, так бы и сделал)

34 (01.03.2014 12:33:38 отредактировано Ravil)

Vascom пишет:
Ravil пишет:
Vascom пишет:

По зависимостям он всё тянет: http://koji.fedoraproject.org/koji/rpmi … ID=4753670
perl(Time::HiRes)

Тогда другой вопрос. Каким образом вы ставили snmptt? я делал, как описано тут:
www.askaralikhan.blogspot.ru/2010/12/re … agios.html
www.snmptt.org/docs/snmptt.shtml#Installation-Overview
Я пользовался этими ссылками. Тут про установку пакетов или еще-что-то не написано же

В таком случае ты совершил грубую ошибку, установив программу откуда-то со стороны.
Для его установки достаточно было дать команду

yum install snmptt

И не тратил бы тут время на решение этой элементарной проблемы.

На новой системе решил попробовать:

[root@ravil ~]# yum install snmptt
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * extras: mirror.corbina.net
 * updates: mirror.corbina.net
Setting up Install Process
No package snmptt available.
Error: Nothing to do

Что делать в таком случае?

35

Подключи репозиторий EPEL.

36

Ravil пишет:
Macumazan пишет:

snmptt-trap-1393507503073890

И так же есть "#" в начале имени?

Да. Забыл скопипастить.

37

Ravil пишет:

Macumazan, Попробовал настроить SNMPTT дома. Вручную с помощью команды cpan установил библиотеки Perl из этой ссылки:
http://koji.fedoraproject.org/koji/rpmi … ID=4753670

cpan Config::IniFiles
cpan Cwd
...
cpan strict

Сначала остановил snmptt и проверил /var/spool/snmptt. Там создался spool файл, я его открыл и он не был пустым, там были записи. Затем запустил snmptt и начал смотреть debug файл. Там записи об ошибках уже не появляются. Отправил еще несколько трапов, все они успешно записались в файл snmpttunknown.log. Может проблема была в отсутствиях библиотек Perl?
На работе попробую вручную так же все библиотеки Perl поставить, заново скопирую из исходников все файлы, удалю spool файлы, проверю работу snmptthandler (без snmptt), затем работу самого демона snmptt. Отпишусь в понедельник.
Кстати, еще вопрос. Как долго хранятся spool файлы? Они удаляются после обработки трапа? Потому что, после проверки debug лога, я в директории spool уже ничего не нашел

spool это временное хранилище на случай, если snmptt не справляется с нагрузкой или если он не работает. Как только трап обработается snmptt, сразу удаляется файл в spool.

38 (03.03.2014 05:48:47 отредактировано Ravil)

Macumazan, Такой вопрос. В процессе работы snmptt в /var/log/snmptt появились такие файлы:

[root@localhost snmptt]# ll
total 4712
-rwxrwxr--. 1 snmptt snmptt   40168 Mar  3 09:01 snmpttdebug.log
-rwxrwxr--. 1 snmptt snmptt 3338571 Feb 28 16:56 snmpttdebug.log-20140302
-rw-rw-r--. 1 snmptt root       826 Mar  3 08:58 snmptt.log
-rw-rw-r--. 1 snmptt root      1066 Feb 28 16:55 snmptt.log-20140302
-rwxrwxr--. 1 snmptt snmptt     841 Mar  3 09:01 snmpttsystem.log
-rwxrwxr--. 1 snmptt snmptt 1409616 Feb 28 16:56 snmpttsystem.log-20140302
-rw-rw-r--. 1 snmptt root       598 Mar  3 08:58 snmpttunknown.log
-rw-rw-r--. 1 snmptt root       335 Feb 28 09:33 snmpttunknown.log-20140302

Что за файлы такие snmpttdebug.log-20140302 snmptt.log-20140302 snmpttsystem.log-20140302 snmpttunknown.log-20140302 ? Внутри них так же обычные логи. Их можно удалить?

Сразу второй вопрос. Логи и размер БД mysql каким-нибудь образом ограничены? Или они будут заполняться до тех пор, пока всё место на диске не съедят?

39 (03.03.2014 07:40:35 отредактировано Ravil)

Macumazan, В /etc/logrotate.d/snmptt сделал такую настройку:

/var/log/snmptt/snmptt*.log /var/log/snmptt/snmptt*.debug{
        rotate 2
        size 100M
        create
        notifempty
        missingok
}

Правильно ли я понимаю, что теперь, после того, как заполнится первый файл (дойдет до 100 Мб), создасться второй. После того, как второй файл заполнится (дойдет до 100 Мб), первый удалится и будет заполняться новый?

40

Ravil пишет:

Macumazan, Такой вопрос. В процессе работы snmptt в /var/log/snmptt появились такие файлы:

[root@localhost snmptt]# ll
total 4712
-rwxrwxr--. 1 snmptt snmptt   40168 Mar  3 09:01 snmpttdebug.log
-rwxrwxr--. 1 snmptt snmptt 3338571 Feb 28 16:56 snmpttdebug.log-20140302
-rw-rw-r--. 1 snmptt root       826 Mar  3 08:58 snmptt.log
-rw-rw-r--. 1 snmptt root      1066 Feb 28 16:55 snmptt.log-20140302
-rwxrwxr--. 1 snmptt snmptt     841 Mar  3 09:01 snmpttsystem.log
-rwxrwxr--. 1 snmptt snmptt 1409616 Feb 28 16:56 snmpttsystem.log-20140302
-rw-rw-r--. 1 snmptt root       598 Mar  3 08:58 snmpttunknown.log
-rw-rw-r--. 1 snmptt root       335 Feb 28 09:33 snmpttunknown.log-20140302

Что за файлы такие snmpttdebug.log-20140302 snmptt.log-20140302 snmpttsystem.log-20140302 snmpttunknown.log-20140302 ? Внутри них так же обычные логи. Их можно удалить?

Сразу второй вопрос. Логи и размер БД mysql каким-нибудь образом ограничены? Или они будут заполняться до тех пор, пока всё место на диске не съедят?


Да, можно. Я не когда не ограничивал объем базы вручную и не знаю, есть ли такая возможность. Если по умолчанию, то размер базы ограничен только местом на диске.

41

Ravil пишет:

Macumazan, В /etc/logrotate.d/snmptt сделал такую настройку:

/var/log/snmptt/snmptt*.log /var/log/snmptt/snmptt*.debug{
        rotate 2
        size 100M
        create
        notifempty
        missingok
}

Правильно ли я понимаю, что теперь, после того, как заполнится первый файл (дойдет до 100 Мб), создасться второй. После того, как второй файл заполнится (дойдет до 100 Мб), первый удалится и будет заполняться новый?

Да. Только ЕМНИП rotate 2 начнёт удалять поле 2х ротаций, т.е. создастя 2 файла + 1 актуальный.

42 (04.03.2014 07:43:49 отредактировано Ravil)

Macumazan, такой вопрос. Одинаковые ли MIB-ы для snmp v1 и snmp v3? Потому что snmptt не транслирует трапы, приходящие по 3 версии протокола.
Сначала с первой версией всё работало и писало в базу, но после того как получил snmptrap v3 увидел:

nano /var/log/snmp/snmptt/snmpttsystem.log

11-04-06 2014:03:04 SNMPTT v1.4 started
11-04-06 2014:03:04 Loading /etc/snmp/confs/immalert-x3650.conf
11-04-06 2014:03:04 Finished loading 565 lines from /etc/snmp/confs/immalert-x3650.conf
11-04-06 2014:03:04 Changing to UID: snmptt (502)
11-04-51 2014:03:04 MySQL error 1054: Unable to perform INSERT INTO (EXECUTE): Unknown column 'traptime' in 'field list'
11-05-06 2014:03:04 Total traps received=1,Total traps translated=0,Total traps ignored=0,Total unknown traps=1

Отключил использование mysql и в дебаг файле увидел такие записи:

nano /var/log/snmptt/snmptt.debug

Raw trap passed from snmptrapd:
1393902873
<UNKNOWN>
UDP: [192.168.0.2]:1027->[192.168.0.1]
.1.3.6.1.2.1.1.3.0 0:20:38:55.08
.1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.4.1.2.6.158.5.30
.1.3.6.1.4.1.2.6.158.5.1.1 "03:11:06 03/04/2014"
.1.3.6.1.4.1.2.6.158.5.1.3 "backupsvr"
.1.3.6.1.4.1.2.6.158.5.1.5 "5F1353EEBB9130FDB4BD1C7E98EA4B47"
.1.3.6.1.4.1.2.6.158.5.1.6 "KD43DZY"
.1.3.6.1.4.1.2.6.158.5.1.8 4
.1.3.6.1.4.1.2.6.158.5.1.9 "Remote Login Successful. Login ID: user from Web $
.1.3.6.1.4.1.2.6.158.5.1.10 14
.1.3.6.1.4.1.2.6.158.5.1.11 "IMM"
.1.3.6.1.4.1.2.6.158.5.1.12 "Andrey"
.1.3.6.1.4.1.2.6.158.5.1.13 "COD"

Items passed from snmptrapd:
value 0: 192.168.0.2

value 1: 192.168.0.2

value 2: .1.3.6.1.2.1.1.3.0

value 3: 0:20:38:55.08

value 4: .1.3.6.1.6.3.1.1.4.1.0

value 5: .1.3.6.1.4.1.2.6.158.5.30

value 6: .1.3.6.1.4.1.2.6.158.5.1.1

value 7: 03:11:06 03/04/2014

value 8: .1.3.6.1.4.1.2.6.158.5.1.3
value 9: backupsvr

value 10: .1.3.6.1.4.1.2.6.158.5.1.5

value 11: 5F1353EEBB9130FDB4BD1C7E98EA4B47

value 12: .1.3.6.1.4.1.2.6.158.5.1.6

value 13: KD43DZY

value 14: .1.3.6.1.4.1.2.6.158.5.1.8

value 15: 4

value 16: .1.3.6.1.4.1.2.6.158.5.1.9

value 17: Remote Login Successful. Login ID: user from Web at IP address  192.168.0.1

value 18: .1.3.6.1.4.1.2.6.158.5.1.10

value 19: 14

value 20: .1.3.6.1.4.1.2.6.158.5.1.11

value 21: IMM

value 21: IMM

value 22: .1.3.6.1.4.1.2.6.158.5.1.12

value 23: Andrey

value 24: .1.3.6.1.4.1.2.6.158.5.1.13

value 25: COD 

Agent IP address was blank, so setting to the same as the host IP address of 192.168.0.2

Agent IP address (192.168.0.2) is the same as the host IP, so copying the host name: 192.168.0.2

Trap received from 192.168.0.2: .1.3.6.1.4.1.2.6.158.5.30
0:              hostname
1:              ip address
2:              uptime
3:              trapname / OID
4:              ip address from trap agent
5:              trap community string
6:              enterprise
7:              securityEngineID        (snmptthandler-embedded required)
8:              securityName            (snmptthandler-embedded required)
9:              contextEngineID         (snmptthandler-embedded required)
10:             contextName             (snmptthandler-embedded required)
0+:             passed variables

Value 0: 192.168.0.2

Value 1: 192.168.0.2

Value 2: 0:20:38:55.08

Value 3: .1.3.6.1.4.1.2.6.158.5.30

Value 4: 192.168.0.2

Value 5:

Value 6:

Value 7:

Value 8:
Value 9:

Value 10:

Agent dns name: 192.168.0.2

Ent Value 0 ($1): .1.3.6.1.4.1.2.6.158.5.1.1=03:11:06 03/04/2014

Ent Value 1 ($2): .1.3.6.1.4.1.2.6.158.5.1.3=backupsvr

Ent Value 2 ($3): .1.3.6.1.4.1.2.6.158.5.1.5=5F1353EEBB9130FDB4BD1C7E98EA4B47

Ent Value 3 ($4): .1.3.6.1.4.1.2.6.158.5.1.6=KD43DZY

Ent Value 4 ($5): .1.3.6.1.4.1.2.6.158.5.1.8=4

Ent Value 5 ($6): .1.3.6.1.4.1.2.6.158.5.1.9=Remote Login Successful. Login ID:$

Ent Value 6 ($7): .1.3.6.1.4.1.2.6.158.5.1.10=14

Ent Value 7 ($8): .1.3.6.1.4.1.2.6.158.5.1.11=IMM

Ent Value 8 ($9): .1.3.6.1.4.1.2.6.158.5.1.12=Andrey

Ent Value 9 ($10): .1.3.6.1.4.1.2.6.158.5.1.13=COD 

Exact match of trap NOT found in EVENT hash table

Looking for wildcards in the EVENT hash table
Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.4.1.2.6.158.5.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.4.1.2.6.158.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.4.1.2.6.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.4.1.2.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.4.1.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.4.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.6.1.*
Drilling down looking for wildcards in the EVENT hash table
.1.3.6.*

Drilling down looking for wildcards in the EVENT hash table
.1.3.*

Drilling down looking for wildcards in the EVENT hash table
.1.*

Drilling down looking for wildcards in the EVENT hash table
.*



Trap not defined...

Sleeping for 5 seconds
Sleeping for 5 seconds

SNMPTT v1.4 shutdown: Tue Mar  4 11:14:43 2014

Total traps received:    1
Total traps translated:  0
Total traps ignored:     0
Total unknown traps:     1

C протоколом первой версии всё работало и транслировалось в нагиос. Сейчас трапы помечаются как unknown. В чем может быть проблема?

43

Возможно проблема в том, что фильтры в snmptt.conf  не настроены на получение v3 трапов.  Ты же получил фильты конвертированием MIB базы? В ней было описание v3?

MySQL error 1054: Unable to perform INSERT INTO (EXECUTE): Unknown column 'traptime' in 'field list'

Это похоже на результат того, что криво отработал фильтр и появилось новое поле, которое отсутствует в таблице.

44 (05.03.2014 06:19:55 отредактировано Ravil)

Macumazan пишет:

Возможно проблема в том, что фильтры в snmptt.conf  не настроены на получение v3 трапов.  Ты же получил фильты конвертированием MIB базы? В ней было описание v3?

MySQL error 1054: Unable to perform INSERT INTO (EXECUTE): Unknown column 'traptime' in 'field list'

Это похоже на результат того, что криво отработал фильтр и появилось новое поле, которое отсутствует в таблице.

Да, я конвертировал MIB базу и, если честно, не замечал, что бы там было написано, для какой версии они применяются. Вообще с сайта IBM для этого оборудования скачалось два файла MIB, один 300Кб, другой 20Кб. Тот, что 300Кб, сконвертировать не удалось, а тот, что 20Кб - удалось.

Я проверил spool файлы для 3 и 1 версии протокола. С первой версией заполняется большее количество полей, чем с третьей.
Я сделал так: на оборудовании отключил первую версию, но ввёл community string; затем включил третью версию и заполнил соответствующие поля для имени юзера, алгоритма хэширования и шифрования. И, алилуя, snmptt обработал трап. Хотя мне это кажется странным, в snmtrap.log пишется, что пришел трап первой версии, но в tcpdump вся инфа приходит зашифрованной, её не разобрать. snmpwalk и snmpget v1 не дают отклика от оборудования, а v3 наоборот - работает.

45

Такой вопрос: каким образом с помщью snmpttconvertmib можно конвертировать MIB-ы, которые зависят друг от друга? Ведь одно дело, когда ты скачать один MIB и сконвертировал его, но совсем другое - когда для поддержки оборудования нужно скачать десяток mib-ов, которые зависят друг от друга и каким-то образом сконвертировать их.

46 (05.03.2014 09:53:38 отредактировано Ravil)

Файл imm.mib, который не удалось сконвертировать с помощью snmpttconvertmib спокойно загружается в SNMPc manager. Почему snmpttconvertmib не может его сконвертировать?

[root@mon snmptt]# snmpttconvertmib --in=/shares/Baiburin/imm.mib --out=/shares/Baiburin/test.conf --exec='/usr/local/nagios/libexec/eventhandlers/submit_check_result $r TRAP 0'
exec: /usr/local/nagios/libexec/eventhandlers/submit_check_result $r TRAP 0


*****  Processing MIB file *****

snmptranslate version: NET-SNMP version: 5.5
severity: Normal

File to load is:        /shares/Baiburin/imm.mib
File to APPEND TO:      /shares/Baiburin/test.conf

MIBS environment var:   /shares/Baiburin/imm.mib
mib name: IMM-MIB


Processing MIB:         IMM-MIB
#
skipping a TRAP-TYPE / NOTIFICATION-TYPE line - probably an import line.


Done

Total translations:        0
Successful translations:   0
Failed translations:       0

The MIB file did not contain any TRAP-TYPE or NOTIFICATION-TYPE definitions,
so no translations occured.  Try another MIB file.

Вот часть файла imm.mib (целиком он слишком длинный)

-- ***************************************************************************
-- ***************************************************************************
--
-- File         : imm.mib
-- Description  : Integrated Management Module mib for SNMP
-- By           : IBM
-- Version      : 1.36
-- Date         : October 29, 2012
--
--
-- Copyright (c) 2012 IBM  All Rights Reserved.
--
-- 
-- Contains MIB description for: 
--   This MIB is to be used to provide configuration support of IMM as well as monitoring support 
--   for the system.
-- ***************************************************************************
-- ***************************************************************************
-- ***************************************************************************
-- Revisions: 
--     5/12/2010  
--     Function equivalent to current IMM.  The top level OID and name was changed so it is a  different
--     MIB than current IMM MIB although many objects are in common.  This MIB was extended from the current 
--     IMM MIB to cover the full functionality of the IMM.  It does not yet cover new features that are unique to IMM2. 
--
--     6/29/2010 
--     Changed all thresholds to read-only. 
--     Based on changes in the IMM mib required for consistency with web operations, 
--     the changes were made in the imm2.mib file.
--     schedulePowerOffWithOsShutdown, schedulePowerOnSystem, scheduleShutdownOsThenRestart
--     These objects had their DESCRIPTION field updated so they can be operationally consistent with the web.
--
--     resetPowerSchedules
--     This object was added to allow the user to reset all the power schedules to a default status, 
--     for consistent operation with the web. 
--
--     7/22/2010 
--     Removed obsolete description text about needing to disable SNMP prior to changing some settings.
--     Changed type of CommunityName to DisplayString 
--
--     7/28/2010 Version 1.0
--     Updated version info for imm2.mib and added portParity and portStopBits since these are supported 
--     in IMM2 hardware. 
--
--     8/3/2010  Version 1.1
--     Fixed OIDs for a couple of objects and added one missing trap object. 
--
--     9/13/2010  Version 1.2
--     added additional NTP servers, fixed duplicate OID for {serialPortCfg 3}
--
--     9/20/2010  Version 1.3
--     changes to bring imm2.mib up-to-date with latest imm.mib 
--     added sections to allow configuring of filters for Alert Recipients and SNMP
--     added another delay value
--     add DDNS setting
--
--     9/22/2010  Version 1.4
--     Combine System Power on/off filters for Alert Recipients and SNMP into one filter and renumber 
--     the following objects.
--
--     10/01/2010  Version 1.5
--     remove ledComponentType
--     add Information LED object to display status or turn off
--     
--     10/11/2010  Version 1.6
--     updated Description of immVpdVersionString
--     
--     10/25/2010  Version 1.7
--     added VPD fields for CPU, Memory, Host MAC addresses, and Product Name to match web and current IMM implementation. 
--     
--     10/28/2010  Version 1.8
--     made some updates in the CPU and Host MAC address tables base on IMM(1) implementation.
--     
--     12/02/2010  Version 1.9 (Changes for consistency with IMM updates and IMM2-added features)
--     added Description OID to HostMACAddressEntry 
--     added Description OID to SyStemCPUVpdEntry
--     added several OIDs to customSecuritySettings, to include the same configuration options as on the Web and CLI
--     added sshClientAuthPubKeyTable to configure the SSH keys for users to do key authentication for CLI access (same config as Web and CLI)
--     minor changes to spClockTimezoneSetting to be consistent with IMM
--     added some OIDs to spIdentification for RackID, etc, to be consistent with Web and CLI configuration
--     added 2 OIDs to tcpPortAssignmentCfg to allow the SMTP and Syslog ports to be configured
--
--     12/03/2010  Version 1.10
--     Change rafSpTrapPower to rafSpTrapPowerS
--     
--     01/10/2011  Version 1.11
--     remove reduntand lockoutPeriod OID and renumber snmpAlertFilters object
--     fix compile issue with rafSpTrapPowerS
--     
--     01/27/2011  Version 1.12
--     add new OIDS for a 4th LDAP server. 
--     update spClockTimezoneSetting with correct help text based on actual implementation 
--
--     02/22/2011  Version 1.13
--     add new OIDS for 2nd and 3rd LDAP Trusted Certificate Status values. 
--     
--     02/24/2011  Version 1.14
--     remove ibmSyslogPortAssignment and ibmSMTPPortAssignment from tcpPortAssignmentCfg 
--     add remoteAlertIdEntrySyslogPortAssignment and remoteAlertIdEntrySMTPPortAssignment to RemoteAlertIdsEntry
--
--     03/17/2011  Version 1.15
--     fix caps of ethernetInterfaceStatelessAutoConfigAddressesIndex
--
--     03/21/2011  Version 1.16
--     change status of ldapUserSearchBaseDN to deprecated as it is no longer needed or used. 
--
--     06/28/2011  Version 1.17
--     changes for common IMM1 and IMM2 MIB       
--
--     07/05/2011  Version 1.18
--     more changes for common IMM1 and IMM2 MIB
--      ldapServiceName - IMMv2 only; removed remoteAlertIdEntrySMTPPortAssignment
--  
--     07/26/2011  Version 1.19
--     added requested changes needed for smilint and smidump to work
--
--     08/09/2011  Version 1.20
--     changed the accountLockoutPeriod setting values to match web ui / spec
--     changed the passwordChangeInterval setting to match spec
--     changed the minimumPasswordLength setting to match spec  
--
--     09/28/2011  Version 1.21
--     changed the snmpSystemName setting value to match web ui
--
--     10/12/2011  Version 1.22
--     reverted the change to snmpSystemName setting value
--
--     12/11/2011  Version 1.23
--     added importTrustedCertificate4
--     changes made for Daylight Savingd Time settings
--
--     12/14/2011  Version 1.24
--     for some of the objects in the "spIdentification" section, a commment was added to the 
--     description indicating that the object could only be read in some hw configs    
--
--     01/06/2012  Version 1.25
--     added sslClientLDAPTrustedCertificate4Status object

--     01/013/2012  Version 1.26
--     removed baud230400 rate from portbaud
--     added to the description of ethernetInterfaceDataRate  
--
--     01/26/2012 Version 1.27
--     changed spRackUnitHeight and spRackBladeBay objects to read-only  
--
--     04/19/2012 Vertsion 1.28
--     corrected typos in spClockTimezoneSetting object
--
--     05/02/2012 Version 1.29
--     corrected groupRBSroleId string size range
--
--     05/11/2012 Version 1.30
--     Objects changePasswordFirstAccess, accountLockoutPeriod, maxLoginFailures
--     and passwordChangeInterval marked as "IMM2-only"          
--
--     05/31/2012 Version 1.31
--     Addeded  remoteAlertIdEntrySyslogHostname and remoteAlertIdEntryType   
--
--     07/02/2012 Version 1.32
--     Added Objects for Authenticated SMTP
--
--     07/23/2012 Version 1.33
--     Added Objects for Ethernet VLAN
--     sslConfig object group marked "IMM2 only"
--     ntpIpAddressHostname2,3 and 4 marked "IMM2 only"
--     ldapSearchDomain, removed "IMM2 only"
--     ldapDomainSource marked "IMM2 only"
--
--     08/06/2012 Version 1.34
--     Changed remoteAlertIdEmailAddr OCTET STRING(SIZE(0..320))
--
--     09/18/2012 Version 1.35
--     Added additional objects for Service Advisor:
--       httpProxyAuthentication, contactInformation.phoneExtension, altContactName, 
--       altPhoneNumber, altPhoneExtension, altEmailAddress, machineLocationPhoneNumber,
--       autoFTPCallMode.sftp, testCallHome.generateTestCallHome
--     Marked contactInformation.companyName "IMM1-only"   
--     Marked smtpServerAuthentication, smtpServerAuthenticationUser, 
--       smtpServerAuthenticationPassword, and smtpServerAuthenticationMethod
--       "IMM2 only"
--     Marked remoteAlertIdEmailAddr as "IMM1 limited to 64"   
--
--     10/29/2012 Version 1.36
--     Removed httpProxyAuthentication object.
--     Added siz to autoFTPCallAddr, autoFTPCallUserID, and autoFTPCallPassword
--     
-- ***************************************************************************
        IMM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            OBJECT-TYPE                          FROM RFC-1212
            enterprises                          FROM RFC1155-SMI
            DisplayString                        FROM RFC1213-MIB
            IpAddress                            FROM RFC1155-SMI 
            -- PTE: added following 7/12/2011
            Gauge                                FROM RFC1155-SMI

            TEXTUAL-CONVENTION                   FROM SNMPv2-TC
            TRAP-TYPE                            FROM RFC-1215;

            InetAddressIPv6 ::= TEXTUAL-CONVENTION
                        DISPLAY-HINT "02x:02x:02x:02x:02x:02x:02x:02x"
                        -- PTE: changed to mandatory
                        -- STATUS       current
                        STATUS       mandatory
                        DESCRIPTION
                        "Represents an IPv6 network address. Since MIB browsers
                         may require different formats, the address is
                         expected to be the 16 byte address in network-byte order,
                         and shortened formats such as 0::0 are not accepted in SET
                         operations. Two common examples are:

                         The NetSNMP command line will accept SET requests like:
                           snmpset -v1 -cprivate <host> s 2001:00:00:00:FFFF:CCC4:BBB2:AAA6

                         Other MIB browsers may require the SET request value to be formatted as:
                           # 0x20 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xCC 0xC4 0xBB 0xB2 0xAA 0xA6"
                        SYNTAX       OCTET STRING (SIZE (16))

            EntryStatus ::= INTEGER
                         { valid(1),
                           createRequest(2),
                           underCreation(3),
                           invalid(4)
                         }

              -- The status of a table entry.
              --
              -- Setting this object to the value invalid(4) has the
              -- effect of invalidating the corresponding entry.
              -- That is, it effectively disassociates the mapping
              -- identified with said entry.
              -- It is an implementation-specific matter as to whether
              -- the agent removes an invalidated entry from the table.
              -- Accordingly, management stations must be prepared to
              -- receive tabular information from agents that corresponds
              -- to entries currently not in use.  Proper
              -- interpretation of such entries requires examination
              -- of the relevant EntryStatus object.
              --
              -- An existing instance of this object cannot be set to
              -- createRequest(2).  This object may only be set to
              -- createRequest(2) when this instance is created.  When
              -- this object is created, the agent may wish to create
              -- supplemental object instances to complete a conceptual
              -- row in this table.  Immediately after completing the
              -- create operation, the agent must set this object to
              -- underCreation(3).
              --
              -- Entries shall exist in the underCreation(3) state until

              -- the management station is finished configuring the
              -- entry and sets this object to valid(1) or aborts,
              -- setting this object to invalid(4).  If the agent
              -- determines that an entry has been in the
              -- underCreation(3) state for an abnormally long time,
              -- it may decide that the management station has
              -- crashed.  If the agent makes this decision,
              -- it may set this object to invalid(4) to reclaim the
              -- entry.  A prudent agent will understand that the
              -- management station may need to wait for human input
              -- and will allow for that possibility in its
              -- determination of this abnormally long period.

        -- IBM enterprise group  
        ibm         OBJECT IDENTIFIER ::=   { enterprises 2 }

        -- IBM products group
        ibmAgents      OBJECT IDENTIFIER ::=   { ibm 3 }

        -- IBM e-Server Advanced System Management Support Processor(SP) agent group
        netfinitySupportProcessorAgent OBJECT IDENTIFIER ::= { ibmAgents 51 }

        -- IBM integrated Management Module
        ibmIntegratedManagementModuleMIB     OBJECT IDENTIFIER ::= { netfinitySupportProcessorAgent 3 }

-- ***************************************************************************
-- Start: Define groups of objects within the ibmRemoteSupSnmpMIB
-- ***************************************************************************
  --This group of objects provides the various environmental monitors for the
  -- local system and the IMM
  monitors OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 1 } 

  --This group of objects provides the error log objects for the IMM
  errorLogs OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 2 }
  
  --This group of objects provides configuration functions for the IMM
  configureSP     OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 3 }

  --This group of objects provides configuration functions for the system(server)
  generalSystemSettings  OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 4 }

  --This group of objects provides configuration functions for system power
  systemPower  OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 5 }
  
  --This group of objects provides functions to boot the IMM and system
  restartReset      OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 6 }
  
  --This group of objects provides functions to update the IMM firmware
  firmwareUpdate    OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 7 }
  
    --This group of objects provides functions Service Advisor
  serviceAdvisor     OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 8 }

-- ****************************************************************************
--  Monitors
-- ****************************************************************************   
    -- ************************************************************************
    -- Temperature
    -- ************************************************************************
    temperature OBJECT IDENTIFIER ::= { monitors 1 }  
     tempNumber         OBJECT-TYPE
         SYNTAX            Gauge
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The present number of rows in the temperature table."
         ::= { temperature 1 }

     tempTable             OBJECT-TYPE
         SYNTAX            SEQUENCE OF TempEntry
         ACCESS            not-accessible
         STATUS            mandatory
         DESCRIPTION    "This table contains temperature measurement information."
         ::= { temperature 2 }

     tempEntry             OBJECT-TYPE
         SYNTAX            TempEntry
         ACCESS            not-accessible
         STATUS            mandatory
         DESCRIPTION    "Each row contains parameters related to a temperature measurement channel."
         INDEX            { tempIndex }
         ::= { tempTable 1 }

     TempEntry ::=
         SEQUENCE {
         tempIndex        INTEGER,
         tempDescr        DisplayString,
         tempReading    INTEGER,  
            tempNominalReading    INTEGER,
         tempNonRecovLimitHigh    INTEGER,
         tempCritLimitHigh    INTEGER,
         tempNonCritLimitHigh INTEGER,
         tempNonRecovLimitLow    INTEGER,
         tempCritLimitLow    INTEGER,
         tempNonCritLimitLow INTEGER
         }

     tempIndex             OBJECT-TYPE
         SYNTAX            INTEGER (1..100)
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "This column is used to identify a particular 
                temperature measurement channel."
         ::= { tempEntry 1 }

     tempDescr             OBJECT-TYPE
         SYNTAX            DisplayString (SIZE(0..31))
         ACCESS            read-only

         STATUS            mandatory
         DESCRIPTION    "A description of the temperature measurement 
                channel."
         ::= { tempEntry 2 }

     tempReading         OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The measured temperature."
         ::= { tempEntry 3 }
      
     tempNominalReading    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The nominal temperature, if available."
         ::= { tempEntry 4 }

     tempNonRecovLimitHigh    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The non-recoverable limit for the measured temperature. If 
                the measured value rises above this limit a trap is sent."
         ::= { tempEntry 5}

     tempCritLimitHigh        OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The critical limit for the measured temperature. If 
                the measured value rises above this limit a trap is sent."
         ::= { tempEntry 6}

     tempNonCritLimitHigh    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The non-critical limit for the measured temperature. If 
                the measured value rises above this limit a trap is sent."
         ::= { tempEntry 7}

     tempNonRecovLimitLow    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The non-recoverable limit for the measured temperature. If 
                the measured value falls below this limit a trap is sent."
         ::= { tempEntry 8}

     tempCritLimitLow        OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The critical limit for the measured temperature. If 
                the measured value falls below  this limit a trap is sent."
         ::= { tempEntry 9}

     tempNonCritLimitLow    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Degrees Celsius"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The non-critical limit for the measured temperature. If 
                the measured value falls below  this limit a trap is sent."
         ::= { tempEntry 10}

    -- ************************************************************************
    -- Voltages
    -- ************************************************************************
    voltage OBJECT IDENTIFIER ::= { monitors 2 } 
    --------------------------------------------------------------------------------
     voltNumber         OBJECT-TYPE
         SYNTAX            Gauge
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The present number of rows in the voltage table."
         ::= { voltage 1 }

     voltTable             OBJECT-TYPE
         SYNTAX            SEQUENCE OF VoltEntry
         ACCESS            not-accessible
         STATUS            mandatory
         DESCRIPTION    "This table contains voltage measurement information."
         ::= { voltage 2 }

     voltEntry             OBJECT-TYPE
         SYNTAX            VoltEntry
         ACCESS            not-accessible
         STATUS            mandatory
         DESCRIPTION    "Each row contains parameters related to a 
                voltage measurement channel."
         INDEX            { voltIndex }
         ::= { voltTable 1 }

     VoltEntry ::=
         SEQUENCE {
         voltIndex        INTEGER,
         voltDescr        DisplayString,
         voltReading    INTEGER,
         voltNominalReading INTEGER,
         voltNonRecovLimitHigh    INTEGER,
         voltCritLimitHigh    INTEGER,
         voltNonCritLimitHigh      INTEGER,
         voltNonRecovLimitLow    INTEGER,
         voltCritLimitLow           INTEGER,
         voltNonCritLimitLow    INTEGER            
         }

     voltIndex             OBJECT-TYPE
         SYNTAX            INTEGER (1..1000)
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "This column is used to identify a particular 
                voltage    measurement channel."
         ::= { voltEntry 1 }

     voltDescr             OBJECT-TYPE
         SYNTAX            DisplayString (SIZE(0..31))
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "A description of the voltage measurement channel."
         ::= { voltEntry 2 }

     voltReading        OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The measured voltage."
         ::= { voltEntry 3 }
      
     voltNominalReading    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The nominal voltage, if available."
         ::= { voltEntry 4 }

     voltNonRecovLimitHigh    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The high non-recoverable limit for the measured voltage. If the 
                measured value falls above this limit a trap is sent."
         ::= { voltEntry 5 }

     voltCritLimitHigh    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The high critical limit for the measured voltage. If the 
                measured value rises above this limit a trap is sent."
         ::= { voltEntry 6 }
         
     voltNonCritLimitHigh    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The high non-critical limit for the measured voltage. If the 
                measured value rises above this limit a trap is sent."
         ::= { voltEntry 7 } 
         
     voltNonRecovLimitLow    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The low non-recoverable limit for the measured voltage. If the 
                measured value falls below this limit a trap is sent."
         ::= { voltEntry 8 }

     voltCritLimitLow    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The low critical limit for the measured voltage. If the 
                measured value falls below this limit a trap is sent."
         ::= { voltEntry 9 }
         
     voltNonCritLimitLow    OBJECT-TYPE
         SYNTAX            INTEGER
         UNITS            "Millivolts"
         ACCESS            read-only
         STATUS            mandatory
         DESCRIPTION    "The low non-critical limit for the measured voltage. If the 
                measured value falls below this limit a trap is sent."
         ::= { voltEntry 10 }

47

Vascom, а вообще есть репозитории для установки стандартных mib файлов?

48

Я не знаю что такое "стандартные mib файлы".