Jump to content
Калькуляторы

Cisco ASR NAT (Cacti SNMP)

Собственно вопрос. Комрады, кто как снимает статистику NAT трансляций с ASR и графически ее отображает?

Стянул темплейт с http://docs.cacti.net/usertemplate:graph:cisco:nat настроил кактус, указал OID нужный, а в на графиках 0.

Пытаюсь через snmpwalk сделать запрос, тоже 0.

 

Куда копнуть?

Share this post


Link to post
Share on other sites

Оиды пробовал вот эти:

 

cnatAddrPortBindNumberOfEntries 1.3.6.1.4.1.9.10.77.1.2.3 (PAT)cnatAddrBindNumberOfEntries OID 1.3.6.1.4.1.9.10.77.1.2.1 (NAT)

 

 

Вывод:

 

[18:55]  /usr/home/>snmpwalk -c public -v 2c 192.168.1.8 .1.3.6.1.4.1.9.10.77.1.2.3SNMPv2-SMI::enterprises.9.10.77.1.2.3.0 = Gauge32: 0[18:56]  /usr/home/>snmpwalk -c public -v 2c 192.168.1.8 .1.3.6.1.4.1.9.10.77.1.2.1SNMPv2-SMI::enterprises.9.10.77.1.2.1.0 = Gauge32: 0

 

Share this post


Link to post
Share on other sites

Вроде в одном из свежих софтов видел про поддержку миба натовского..

Share this post


Link to post
Share on other sites

Вроде в одном из свежих софтов видел про поддержку миба натовского..

 

 

Не скажешь в какой версии?

Share this post


Link to post
Share on other sites

Тоже недавно столкнулся с такой проблемой. Видимо, придется скриптом забирать

Share this post


Link to post
Share on other sites

Вроде в одном из свежих софтов видел про поддержку миба натовского..

 

Не скажешь в какой версии?

 

В 3.15

Share this post


Link to post
Share on other sites

Вроде в одном из свежих софтов видел про поддержку миба натовского..

 

Не скажешь в какой версии?

 

В 3.15

 

У меня вот такая сейчас стоит

Cisco IOS XE Software, Version 03.13.01.S - Extended Support Release
Cisco IOS Software, ASR1000 Software (PPC_LINUX_IOSD-ADVENTERPRISE-M), Version 15.4(3)S1, RELEASE SOFTWARE (fc3)

 

У кого есть 03.15 - Extended Support Release, поделитесь ;)

 

Тоже недавно столкнулся с такой проблемой. Видимо, придется скриптом забирать

В этой версии только скриптом, выходит.

На циске писали, что крэшится балалайка если в режиме конфигурирования ввести mib enable. Но у меня ее нет.

Share this post


Link to post
Share on other sites

У кого есть 03.15 - Extended Support Release, поделитесь ;)

Extended будет 3.16, пруф

Share this post


Link to post
Share on other sites

У кого есть 03.15 - Extended Support Release, поделитесь ;)

Extended будет 3.16, пруф

Есть? :)

Share this post


Link to post
Share on other sites

Есть? :)

Нет, к сожалению:) Сами на 3.12, Кол-во трансляций снимаю скриптом

Share this post


Link to post
Share on other sites

Есть? :)

Нет, к сожалению:) Сами на 3.12, Кол-во трансляций снимаю скриптом

 

Каким образом, можно поподробнее? Поделись скриптом ;) А я могу IOS'ом ;)

Share this post


Link to post
Share on other sites

Каким образом, можно поподробнее? Поделись скриптом ;) А я могу IOS'ом ;)

Эх, потерялся. Вобщем по ssh давал команду 'show ip nat statis', доставал кол-во трансляций и записывал в файлик, а zabbix-агент из этого файлика брал значение.

Share this post


Link to post
Share on other sites

Каким образом, можно поподробнее? Поделись скриптом ;) А я могу IOS'ом ;)

тут есть скрипт

Share this post


Link to post
Share on other sites

OID-ов в свое время тоже так и не нашел.

Скрипт по ссылке у меня на debian не заработал.

Share this post


Link to post
Share on other sites

кстати, кто-нибудь знает как сделать на asr сделать nat overload так, чтобы использовались все адреса из внешнего пула рандомно?

Share this post


Link to post
Share on other sites

Ну как вариант, у кого скрипт по ссылке не заработал, вот накидал, работает.

На доебане сначала ставим

apt-get install expect expect-dev

 

 

 

#!/usr/bin/expect -fset force_conservative 0  ;# set to 1 to force conservative mode even if		  ;# script wasn't run conservatively originallyif {$force_conservative} {set send_slow {1 .1}proc send {ignore arg} {	sleep .1	exp_send -s -- $arg}}set timeout -1spawn $env(SHELL)match_max 100000expect -exact "]0;ilili@ilili-work: ~ilili@ilili-work:~\$ "send -- "telnet 10.10.10.10\r"expect -exact "Username: "send -- "ilili\r"expect -exact "Password: "send -- "ilili\r"expect -exact "bras>"send -- "en\r"expect -exact "Password: "send -- "ilili&&\r"expect -exact "tlt_bras#"send -- "sho ip nat stati\r"expect -exact "bras#"send -- "q\r"send \003

 

 

Вместо ilili подставляйте свои учетные данные.

не забываем сделать

chmod +x script.exp

, само собой )))

Само выполнения скрипта можно сделать строчкой ниже, чтобы отпарсить цифру с трансляциями:

 

 

/usr/bin/expect /home/ilili/script.exp | /bin/grep Total | /usr/bin/awk '{print $4}' >> /home/ilili/nat_asr

 

 

при каждом запуске с помощью этой строки, будет отображаться результат в файле /home/ilili/nat_asr Следующий запуск - цифра отобразится в том же файле, с переводом строки.

Edited by ilili

Share this post


Link to post
Share on other sites

Не работает.

Запуск скрипта строчкой ниже дает черный экран пока не прервешь по Ctrl+C

Просто запуск самого скрипта вываливает на экран

 

c7204_core#sho ip nat statiTotal active translations: 4004 (0 static, 4004 dynamic; 4004 extended)Outside interfaces: FastEthernet1/0.5, FastEthernet1/1.502Inside interfaces: Virtual-Template1, Virtual-Access2.1, Virtual-Access4, Virtual-Access5 Virtual-Access7, Virtual-Access8, Virtual-Access9, Virtual-Access10 Virtual-Access11, Virtual-Access12, Virtual-Access14, Virtual-Access15 Virtual-Access16, Virtual-Access17, Virtual-Access18, Virtual-Access19 Virtual-Access20, Virtual-Access22, Virtual-Access23, Virtual-Access26 Virtual-Access28, Virtual-Access30, Virtual-Access31, Virtual-Access32 Virtual-Access33, Virtual-Access34, Virtual-Access35, Virtual-Access38 Virtual-Access39, Virtual-Access41, Virtual-Access42, Virtual-Access43 Virtual-Access45, Virtual-Access46, Virtual-Access47, Virtual-Access48 Virtual-Access49, Virtual-Access50, Virtual-Access51, Virtual-Access52 Virtual-Access53, Virtual-Access54, Virtual-Access56, Virtual-Access57 Virtual-Access58, Virtual-Access59, Virtual-Access60.1, Virtual-Access60.2 Virtual-Access60.3, Virtual-Access60.4, Virtual-Access60.5 Virtual-Access60.6, Virtual-Access60.7, Virtual-Access60.8 Virtual-Access60.10, Virtual-Access60.11, Virtual-Access60.12 Virtual-Access61, Virtual-Access62, Virtual-Access63, Virtual-Access64 Virtual-Access65, Virtual-Access66, Virtual-Access68, Virtual-Access69 Virtual-Access70, Virtual-Access71, Virtual-Access72, Virtual-Access73 Virtual-Access74, Virtual-Access75, Virtual-Access76, Virtual-Access77 Virtual-Access78, Virtual-Access80, Virtual-Access81, Virtual-Access82 Virtual-Access83, Virtual-Access85, Virtual-Access87, Virtual-Access88 Virtual-Access89, Virtual-Access90, Virtual-Access91, Virtual-Access92 Virtual-Access94, Virtual-Access95, Virtual-Access96, Virtual-Access97 Virtual-Access98, Virtual-Access99, Virtual-Access101, Virtual-Access102 Virtual-Access103, Virtual-Access104, Virtual-Access105, Virtual-Access106 Virtual-Access108, Virtual-Access109, Virtual-Access110, Virtual-Access112 Virtual-Access113, Virtual-Access114, Virtual-Access115, Virtual-Access117 Virtual-Access118, Virtual-Access119, Virtual-Access120, Virtual-Access122 Virtual-Access124, Virtual-Access126, Virtual-Access127, Virtual-Access128 Virtual-Access129, Virtual-Access130, Virtual-Access131, Virtual-Access133 Virtual-Access135, Virtual-Access137, Virtual-Access138, Virtual-Access139 Virtual-Access140, Virtual-Access142, Virtual-Access144, Virtual-Access145 Virtual-Access146, Virtual-Access147, Virtual-Access150, Virtual-Access151 Virtual-Access153, Virtual-Access155, Virtual-Access156, Virtual-Access157 Virtual-Access159, Virtual-Access161, Virtual-Access162, Virtual-Access163--More--

 

и тоже на этом встает, пока не прервешь по ctrl+c .

Share this post


Link to post
Share on other sites

Тогда попробуйте использовать автозапись:

запускаете autoexpect -p

выполняете все действия, выходите с железки

нажимаете ctrl+D, это останавливает запись

просматриваете созданный файл, это и будет ваш expect скрипт.

Или изменить скрипт, переместив

 

send \003

 

сразу после

 

send -- "sho ip nat stati\r"

 

Edited by ilili

Share this post


Link to post
Share on other sites

кстати, кто-нибудь знает как сделать на asr сделать nat overload так, чтобы использовались все адреса из внешнего пула рандомно?

 

 

в CGN есть такая фича как PAP циска

Share this post


Link to post
Share on other sites

Тогда попробуйте использовать автозапись:

запускаете autoexpect -p

выполняете все действия, выходите с железки

нажимаете ctrl+D, это останавливает запись

просматриваете созданный файл, это и будет ваш expect скрипт.

Или изменить скрипт, переместив

 

send \003

 

сразу после

 

send -- "sho ip nat stati\r"

 

 

Так сработало. Спасибо!

Прикрутил к mrtg в виде

 

Target[cisco_core_nat_tr]: `/etc/sh_ip_nat_st  | /bin/grep Total | /usr/bin/awk '{print $4}'`

 

 

Только чуток переделал скрипт чтобы в него можно было передать ip NAS-а в качестве параметра, т.к. NAS-ов несколько.

Share this post


Link to post
Share on other sites

Для telnet

 

Создаем 2 файла и делаем их исполняемыми: active_nats.sh и all_nat_stats.sh

 

Кладем их куда угодно, я положил в скрипты /usr/share/cacti/site/scripts

 

active_nats.sh

#!/bin/sh
output=$(/usr/share/cacti/site/scripts/all_nat_stats.sh $1 | grep "Total active translations:" | awk '{print $4}')
echo -n "$output"

 

all_nat_stats.sh

#!/bin/bash
(
 sleep 1
 echo "login"
 echo "password"
 echo "sh ip nat statistics"
 sleep 1
 echo "quit"
) | telnet 10.10.10.10

 

Добавляем в крон и в кактус

 

nat.jpg

Edited by TiRider

Share this post


Link to post
Share on other sites

А так делают взрослые дяди :)

 

По инструкции отсюда: https://supportforums.cisco.com/discussion/11021931/snmp-oid-get-active-static-nat-number-router - с моими дополнениями


logging discriminator NO_EEM msg-body drops EEM
logging buffered discriminator NO_EEM 256000 informational

snmp mib expression owner nat name 1
 description Total active translations / oid 1.3.6.1.2.1.90.1.2.1.1.3.3.110.97.116.1.49
 value type integer32

event manager session cli username "EEM"

event manager applet GET_NAT_TRANSLATIONS authorization bypass
event timer watchdog time 60
action 010 cli command "enable"
action 030 cli command "configure terminal"
action 040 cli command "do-exec show ip nat translations total"
action 090 regexp "^.+\s([0-9]+)" "$_cli_result" match total_translations
action 100 cli command "snmp mib expression owner nat name 1"
action 110 if $_regexp_result eq "1"
action 120  cli command "expression $total_translations"
action 130 else
action 140  cli command "expression 0"
action 150  cli command "exit"
action 160 end

И дергают указанный oid

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this