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

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

alex0b

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

alex0b

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

rwarrior

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

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}]}}}
очевидно, что с доступом что-то нетак, вопрос - что же именно?

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

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

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 — положить этот локальный интерфейс

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

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#

infidel

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

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" >_>

k1lg0reTr0ut

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