проглядел, интересующая меня строка
nnn MAC address learned in routing instance PPPoE-xxx bridge domain __PPPoE-xxxx__
будет самой первой после того как скрипт выполнит команду, следовательно нужно научить скрипт выводить нужную цифру из самой первой строки полученной информации
Вообще я еще не разобрался как собственно последнюю строку лога занести в переменную. Т.е. сначала должно быть условие типа
если существует строка содержащая "nnn MAC address learned in routing instance" то занести ее в переменную $s
А далее уже
$s = "nnn MAC address learned in routing instance PPPoE-xxx bridge domain __PPPoE-xxxx__";
if ($s =~ /^(\d)(?=\s)/) # Найти цифру за которой стоит '\s'(пробел)
{
print "$1\n";
}
else { print "ошибка поиска\n";}
Сергей Петриков: SNMP настроен, другие запросы проходят нормально. Вышестоящие админы не позволят вносить изменения в устоявшуюся систему какому-то юному падавану). Эх, придется кастыли видимо искать
Сергей Петриков: у нас версия 12.3R5.7
Когда с заббикс сервера делаю запрос собственно и получаю простыню:
MIB search path: /root/.snmp/mibs:/usr/local/share/snmp/mibs
Cannot find module (Juniper-MPLS-MIB): At line 0 in (none)
Module not found (Juniper-MPLS-MIB): At line 68 in /usr/local/share/snmp/mibs/juniMplsAC.mi2 и т.д.
А делиться мне к сожалению нечем, работаю в области пару месяцев, втягиваюсь в процесс. Спасибо за помощь!
Сергей Петриков: снова вернулся к этому вопросу. Действительно натолкнулся на 1.3.6.1.4.1.2636.3.67.1.1.3.8, но сервер отвечает
MIB search path: /root/.snmp/mibs:/usr/local/share/snmp/mibs
Cannot find module (Juniper-MPLS-MIB): At line 0 in (none)
Module not found (Juniper-MPLS-MIB): At line 68 in /usr/local/share/snmp/mibs/juniMplsAC.mi2
Module not found (Juniper-MPLS-MIB): At line 87 in /usr/local/share/snmp/mibs/juniMplsAC.mi2
Module not found (Juniper-MPLS-MIB): At line 106 in /usr/local/share/snmp/mibs/juniMplsAC.mi2
Module not found (Juniper-MPLS-MIB): At line 125 in /usr/local/share/snmp/mibs/juniMplsAC.mi2
Module not found (Juniper-MPLS-MIB): At line 143 in /usr/local/share/snmp/mibs/juniMplsAC.mi2
Module not found (MPLS-LSR-MIB-JUNI): At line 348 in /usr/local/share/snmp/mibs/juniMplsAC.mi2
JUNIPER-SMI::jnxPppoeMibRoot = No Such Object available on this agent at this OID
Т.е. такого OIDa нет. Нужно найти mi2 библиотеку и закинуть в соответствующую папку? Не поделитесь?
Александр Карабанов: Александр Карабанов: обнаружили, что на некоторых железках snmp-server name подхватывает sysName.0 1.3.6.1.2.1.1.5, на других snmp-server name просто нет. Речь идет от qtech 2900 (есть sysName.0 и snmp-server name) и 2800 соответственно
Т.е. например у меня есть железка с хостнеймом poliklinika_№_ardes #, ее snmp-server name 172.20.120.5. Вот мне и нужно на тысяче железок заменить snmp-server name <значение> на значение хостнейма каждой из этих железок соответственно
Вообще как с помощью snmp посмотреть хостнейм я знал, мне нужно узнать, как скрипт заставить делать примерно следующее
snmp-server name {переменная} выдернуть из hostname
Оцените пожалуйста адекватность. Первый раз пришлось работать со скриптами, собираю все с миру по нитке от добрых людей.