Чтобы добавлять сообщения и комментарии, .

@Hawat:
Hawat

Может кто знает какими OID'ами можно загрузку файловых систем смотреть?

@alex0b:
alex0b

Индексы записей не обязательно должны быть последовательны. Осталось понять насколько кошерно добавлять RowStatus.

@alex0b:
alex0b

Таки дошел до руч~wW стандарта в вопросе нумерации строк таблиц:
Instances identified by use of integer-valued objects should be numbered starting from one (i.e., not from zero). The use of zero as a value for an integer-valued index object should be avoided, except in special cases.

@alex0b:
alex0b

Чуть легче стало жить с таблицами personal.ee.surrey.ac.uk

@alex0b:
alex0b

Таки узнал, что означает ".0" в конце некоторых OID — означает что они скаляры. Причем в MIB декларируются без всех этих trailing-zero, а добавляется при запросе. Но зачем? Следует ли из этого, что строки таблицы, при том что строка это объект (следовательно не скаляр), тоже должны нумероваться с 0 — не понятно.

@alex0b:
alex0b

Интернетик, я правильно понимаю, что в MIB нельзя запилить и использовать несколько раз сложный тип (из нескольких полей)? Только скаляры и энумы?

@alex0b:
alex0b

Хочешь испортить себе настроение с утра — сядь писать MIB-файл. Хочешь возжелать увечий ближнему своему — заставь какое-то java-поделие, написанное древними римлянами понять этот файл и правильно отобразить данные. Хочешь устроить геноцид — осознай, что это никому не нужно, никто этим не будет пользоваться и ты только что прожил несколько часов зря. Лучше бы спал. Или как @Zert, лучше бы водку пил.

@rwarrior:
rwarrior

Есть маленькое (SOHO) сетевое устройство. Хочу организовать его мониторинг. Устройство умеет SNMP. Есть что-нибудь простенькое, что будет собирать информацию по SNMP, писать её куда-нибудь и строить графики?
Желательно поменьше PHP и MySQL — городить их ради одного устройства представляется мне оверинженирингом.

@hizel:
hizel

если не работает b9agent, то внедрите с вертухи в щи init скрипту snmpd

@Dant:
Dant

Настройка SNMP Service для корректного отображения информации в HP System Management Homepage:

kmil.us
weestro.blogspot.ru

@qrilka:
qrilka

у кого-нибудь получалось настроить SNMP толком? Пробую https://erlangcentral.org/wiki/index.php?title=SNMP_Quick_Start пошагово сделать и получаю
(manager@qdesktop)10> snmpm:sync_get("simple_user", "otp agent", [[sysName,0]]). 
{error,{invalid_sec_info,[{sec_level,3,0},
                          {request_id,807031961,0}],
                         {noError,0,
                                  [{varbind,[1,3,6,1,6,3,15,1,1,4,0],'Counter32',4,1}]}}}
очевидно, что с доступом что-то нетак, вопрос - что же именно?

@wasd:
wasd

SNMP-Builder Interactively navigate SNMP MIBs. Review and create Zabbix items based on SNMP MIB OIDs. Adds new pages to Zabbix for basic SNMP functionality that should be part of Zabbix.
zabbix.com

Чек фор моар тулс: zabbix.com

@Gem:
Gem

Нет ну это круто net-snmp игнорит опцию agentaddress с ошибкой "Error opening specified endpoint" если демон запускается с указанием пути к конфигу (опция -с)
mail-archive.com

@Melhior:
Melhior

Собственно нетормозящий вариант для мониторинга очереди в postfix по snmp

postfix.ru

@overmind88:
overmind88

c:\>snmpget -v2c -d -c security 94.2х.х.230 system.sysDescr.0
No log handling enabled — using stderr logging

Sending 43 bytes to UDP: [94.2х.х.230]:161->[0.0.0.0]:0

Вопросы: почему не работает? с другого компа работает.

Что значит [94.2х.х.230]:161->[0.0.0.0]:0 ?

Мопед не мой

@Phoen:
Phoen

вот набросал простенький трап хэндлер для mac notifications с dlink 3028. Всё что умеет — немного разгребать полученное и класть в базу. Регулярка я айпишниками требует более тонкого подхода, я знаю. pastebin.com

@sany:
sany

Поддержка snmp — это самое омерзительное, что я делал в своей жизни. Мне хуёво.

@freefd:
freefd

Как это не печально и удивительно, но с 2006 года до сих пор не исправлены баги с отсутствием отсылки snmp трапа по snmp-server enable traps tty даже в ветке Version 15.0(2) для 4500 Catalyst. Точнее даже два бага: CSCsa67252 и CSCsg99865. Собственно, login on-success|on-failure trap тоже не работает в моём случае с ssh. Начинаю думать о плохом и смотреть в сторону embedded event manager и tcl, предвкушая размеры костыля.

@Turbid:
Turbid

написал небольшой скриптик, который из конфига quagga читает интерфейсы и добавляет соответствующие графики в zabbix: pastebin.com

@freefd:
freefd

И всё же, SNMP — одна из самые безжалостных и укуренных технологий, что успело придумать человечество.

@pc:
pc

en
conf t
snmp-server community public RO
exit
wr

@Phoen:
Phoen

.1.3.6.1.4.1.9.9.194.1.1.1 — количество сессий, .1.3.6.1.2.1.1.1.0 — определение вендора/модели (работает на cisco, d-link, linksys), .1.3.6.1.2.1.1.1 — тоже самое только для линксис (вероятно и циско), .1.3.6.1.2.1.4.21.1.2.client_ip — индекс локального интерфейса по ip, .1.3.6.1.2.1.2.2.1.7.int_num i 2 — положить этот локальный интерфейс

@partizan:
partizan

это наверное очень круто и энтерпрайзно, иметь в MIB два OID для битов и байтов.

@cmortuorum:
cmortuorum

уёбищный протокол. ёбаное, блядь, уёбище. 1.3.6.1.2.1.1.1 блядь

@freefd:
freefd

Ни один из 3 mib'ов так и не дал возможности посмотреть leased адреса dhcp сервера. И это на
Cisco IOS Software, IOS-XE Software (PPC_LINUX_IOSD-ADVENTERPRISE-M), Version 15.0(1)S2, RELEASE SOFTWARE (fc1)
Сраное Cisco такое Cisco.

@freefd:
freefd

Интересно было бы знать каким образом jabber.ru снимает через cacti данные о количестве сессий, графики stats.jabber.ru
Я пока лишь вижу решение добавлением custom oid к snmpd, оный по exec запускает скрипт, которые посылает станзу

<iq type="get" to="server.tld" id="aed4a">
<query xmlns="http://jabber.org/protocol/disco#items" node="online users"/>
</iq>

серверу, и возвращает количество items. Ну а далее обычно добавляем custom oid в cacti и рисуем графики.
Минусы — костыльность, необходимость наличия администраторских прав на jabber-сервере у аккаунта для скрипта. А вот вдруг есть более простое решение?

@freefd:
freefd

Перфекционизм зло.

Задача - найти крайние коммутаторы в кольце с MSTP. Проще всего найти их, основываясь на наличии mac узла агрегации, куда эти крайние коммутаторы подключены каким-либо из магистральных портов, в root STP дерева.

У D-Link о наличии крайнего коммутатора нам расскажут инстансы, в частности, наличие 6000/6001 в роли Root.

 MSTI   Designated Bridge   Internal PathCost  Prio  Status      Role      
 -----  ------------------  -----------------  ----  ----------  ----------
 0      6000/0019562A0AC0   20000              128   Forwarding  Root      
 1      6001/0019562A0AC0   20000              128   Forwarding  Root      
 2      N/A                 20000              128   Disabled    Disabled  
 3      N/A                 20000              128   Disabled    Disabled  
 4      N/A                 20000              128   Disabled    Disabled 
 
У нас это 0 и 1 инстансы. Через слеш мы видим mac порта узла агрегации. Остаётся собрать эти данные через SNMP. Увы, оба нужных мне инженера D-Link отсутствовали на рабочих местах, MIB STP у D-Link практически нигде не упоминается, но если сделать snmpwalk на .1, то можно по grep поймать упоминание dlkMSTP.mib, это он и есть.
Итого, через 5 минут мы знаем, что 1.3.6.1.4.1.171.12.15.2.5.1.3.25.0 покажет нам данные с 25 порта коммутатора:
 
snmpget -v2c -c public 10.2.1.125 1.3.6.1.4.1.171.12.15.2.5.1.3.25.0
SNMPv2-SMI::enterprises.171.12.15.2.5.1.3.25.0 = Hex-STRING: 60 00 00 19 56 2A 0A C0 

Отлично, хекс, первые 4 значения - 6000, указывают на роль Root в нашем случае, далее следует mac порта узла. Ещё за 3 минуты пишется маленький скрипт, который получает на вход IP коммутатора и решает, является ли он граничным на основе всего вышеперечисленного.

Обращаем свой взгляд на мониторинг на базе Nagios, в котором каждый файл кольца содержит описание хостов этого кольца. Банальный grep IP адресов из файла:
$ grep address /path2/N1R1.cfg 
address	10.2.1.125;
address	10.2.1.253;
...

Нам мешают "address" и ";".
$ grep address /path2/N1R1.cfg | awk '{print $2}' | sed 's/;//'
10.2.1.125
10.2.1.253
...

Упрощаем.
$ awk /address/'{print $2}' /path2/N1R1.cfg | sed 's/;//'
10.2.1.125
10.2.1.253
...

Ещё упрощаем.
$ awk /address/'{gsub(";", "", $2);print $2}' /path2/N1R1.cfg
10.2.1.125
10.2.1.253
...

Отлично, теперь в цикле отдаём ранее написанному скрипту.
$ for ip in $(awk /address/'{gsub(";", "", $2);print $2}' /path2/N1R1.cfg); do ./edges.sh $ip; done
10.2.1.125
10.2.253.253

И, наконец, избавляемся от явного цикла.
$ awk /address/'{ gsub(";", "", $2); print $2}' /path2/N1R1.cfg | xargs -L 1 ./edges.sh
10.2.1.125
10.2.253.253

Выводы: большая часть времени потрачена на bash golf. В никуда.

@freefd:
freefd

snmpwalk.pl из пакета Net::SNMP проигрывает родному snmpwalk в выборке arp-таблицы c catalyst 4948 на 32 секунды.

@freefd:
freefd

Ну неужели данный вендор до сих пор не может корректно реализовать отдачу arp-таблиц по snmp. Ждать по минуте-три таблицу с catalyst 4948 — это ужасно. Более того, нет штатного механизма получить таблицу, не выполняя snmpwalk, потому как везде в oid перед IP хоста стоит age, а age вычислить никак невозможно до. Либо я чего-то не знаю и это "что-то" от меня искусно скрывают.
То лапы ломит, что хвост отваливается.

@Graf:
Graf

Жуйк, а как бы мне получить список доступных для хоста MIB'ов ? или хотя бы где найти описание существующих этих MIB'ов?

@pc:
pc

Обновление Indy в Delphi

Многие используют Indy 9 или Indy 10.0.X, но на самом деле эти версии являются далеко не актуальными и не лишенными различных багов.
Теперь я расскажу как вам обновить ваши компоненты Indy до актуальных ( на момент написания этой статьи актуальная версия была 10.5.5)
Итак, начнем.

Актуальная версия Indy находится только в SVN репозитории разработчиков, значит нам понадобится клиент SVN под Windows. Наиболее популярным клиентом является tortoisesvn, который можно скачать на сайте разработчика. Затем устанавливаем его. Для простоты можем в настройках (после установки) указать язык интерфейса русский. Перегружаемся. Теперь выберем место, где у нас будет располагаться папка с нашими актуальными компонентами, щелкаем правой клавишей мыши на свободном месте в проводнике и выбираем пункт TortoiseSVN->Экспорт… В появившемся окне в поле URL Хранилища впишите адрес репозитория Indy «https://svn.atozed.com:444/svn/Indy10/» в поле «Папка экспорта» выберите папку куда экспортировать компоненты. Затем нажмите ОК, у вас спросят логин с паролем в поле имя пользователя впишите «Indy-Public-RO», пароль указывать не нужно. Теперь дождитесь окончания операции.
Запустите Delphi , выберите в меню «Component»->»Install Packages». В появившемся списке снимите галки с всех пакетов Indy. И затем удалите все пакеты Indy в этом же списке, воспользовавшись кнопкой remove. Затем откройте окно настроек среды: меню «tools->options->Library Win32″ и удалите из строки Library path пути к исходным кодам Indy. Затем добавьте в Library path 3 пути:

1. «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\System«
2. «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\Core«
3. «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\Protocols«
Закройте Delphi. Далее найдите в папке, где у вас установлена Delphi исходные коды Indy. Обычно они располагаются в папке «<папка с Delphi>/sources/Indy» и удалите эту папку. Далее в папке Lib, которая располагается по адресу «<папка установки Delphi>/lib» удалите все файлы Indy (поиск по вхождению «Indy» вам в этом поможет).Теперь запустите Delphi, и откройте пакет «IndySystemX0.dpk» (где X – это ваша версия Delphi), который располагается по следующему адресу: «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\System» и скомпилируйте его. Далее откройте пакет «IndyCoreX0.dpk» (где X- это ваша версия Delphi) из папки «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\Core» и скомпилируйте его. Теперь откройте и скомпилируйте пакет «IndyProtocolsX0.dpk» (где X – это ваша версия Delphi) , который располагается в папке «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\Protocols«.Далее откройте пакет «dclIndyCoreX0.dpk», который располагается в папке «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\Core» и установите его, также установите пакет «dclIndyProtocolsX0.dpk» из папки «<папка, куда вы экспортировали репозиторий Indy>\branches\Tiburon\Lib\Protocols». Вот и все, поздравляю, теперь у вас установлена актуальная версия Indy.

@pc:
pc

cisco.com

Enable SNMP Community Strings
This procedure is the same for both routers and Cisco IOS software-based XL Catalyst Switches.

1.Telnet to the router:

prompt#telnet 172.16.99.20
2.Enter the enable password at the prompt in order to enter the enable mode:

Router>enable
Password:
Router#3.Display the running configuration and look for the SNMP information:

Router#show running-config
Building configuration...
....
.... Note: If no SNMP information is present, continue with these steps. If any SNMP commands are listed, you can modify or disable them.

4.Go into the configuration mode:

Router#configure terminal
Enter configuration commands, one per line. End
with CNTL/Z.
Router(config)#5.Use this command in order to enable the Read-only (RO) community string:

Router(config)#snmp-server community public RO where "public" is the Read-only community string.

6.Use this command in order to enable the Read-write (RW) community string:

Router(config)#snmp-server community private RW

where "private" is the Read-write community string.

7.Exit out of the configuration mode and return to the main prompt:

Router(config)#exit
Router#8.Write the modified configuration to nonvolatile RAM (NVRAM) to save the settings:

Router#write memory
Building configuration...
[OK]
Router#

@Tishka17:
Tishka17

А что вы думаете про SNMP? Или может про RMON?

@infidel:
infidel

Скучающий админ в отпуске — страшная сила. Хвастаюсь — допилил статистику домашнего роутера... ;)
home.infidel.name
Желательно оперой (есть спецэффекты специфичные, но ничего критичного), желательно в 1680 точек ширины (пилил под это, но работать будет прилично и от 1024, в 800 чуть-чуть не вписался). Желательно поелозить мышкой по графикам ;) И покликать тоже.
Сделано на базе MRTG, RRDTool, mrtg-rrd.cgi и чуть-чуть routers2.cgi. Доточенных нещадно напильником ;)

@freefd:
freefd

Каждый раз, работая с SNMP, мне хотелось посмотреть в глаза двум людям: M. Rose и K. McCloghrie. Посмотреть и спросить, какие наркотические вещества они принимали, разрабатывая те самые RFC, описывающие SNMP в общей концепции, а главное — что конкретно применялось в момент придумывания OID в том виде, в котором мы знаем их сейчас.

Угробил полчаса на поиски нигде недокументированных MIBs для UPS, ещё полчаса на поиск нужных мне OIDs.

@neFormal:
neFormal

настроил немножко себе snmpd, подцепил к cacti и нужный скрипт выдаёт с удалённой машинки всякую полезную стату по процессам (в основном вывод от ps)
список терниев:

надо было добавить в snmp.conf следующие параметры доступа:
rocommunity public
rwcommunity private
имена public и private разумно сменить на более секурные, да и вообще закрыть вход по портам от вражеского доступа.. :3

в том же конфиге надо было добавить в разделе Executables/scripts вызов стороннего скрипта:
exec echotest /usr/local/bin/test.sh
echotest — это дефолт..

собсна, сам скрипт, который для демона выдаёт загрузку проца:
#!/bin/bash
echo `ps axo pcpu,comm | grep "daemond$" | cut -d ' ' -f 1`

самое геморройное было найти правильный "адрес" для вызова: .1.3.6.1.4.1.2021.8.1.101.1
я так и не понял, где прописаны привязки чисел к текстовым значениям (в "словах" это выглядит, как enterprises.ucdavis.extTable.extEntry.extOutput.1), искать было влом, поэтому я собрал адрес из примера в конфиге и какого то примера из гугла..
ну и разница между snmpwalk и snmpget в том, что первый допускает любой уровень адресации и выводит все ключи с текущего и ниже, а второй хочет точное указание адреса, иначе ругается на ненайденные элементы..

результат:
$ snmpget -v2c -c public 127.0.0.1 .1.3.6.1.4.1.2021.8.1.101.1
UCD-SNMP-MIB::extOutput.1 = STRING: 10.6

тут наступает момент счастья, слава, признание, деньги, женщины, власть!!11
ЗЫЖ ещё очень хотелось получить результат, дёрнув какой-нить "ssh user@host /usr/local/bin/test.sh" >_>

@Gem:
Gem

silinio.webhost.ru

@k1lg0reTr0ut:
k1lg0reTr0ut

накрадываются смутные подоздения, что snmpv3 очень уж редкая вещь.очень мало документации по нему. и практически никакой на русском.а уж скриптик надыбать для nagios что бы использовался v3 так вообще нереально.

@k1lg0reTr0ut:
k1lg0reTr0ut

вот только появится время и желание поднять snmp на тех жалких 5 коммутаторах, как блять сука найдется тот, кто отвлечет и загрузит бесперспективной работой на несколько дней

@maxen:
maxen

просмотр состояние порта snmpget -v2c -cpublic 192.168.1.1 ifInDiscards.1