Поиск по этому блогу

27.03.2009

Мониторинг сессий на cisco

Очень интересно знать, сколько пользователей на данный момент работают на оборудовании. Сделать это можно включив snmp-server.
snmp-server community public RO
snmp-server community private RW

Для получения значения необходимо знать т.н. OID'ы, которые определяются производителем или использовать MIB'ы.

Так с сервера доступа Cisco AS5350 можно получить данные о состоянии цифровых модемов и тем самым судить о загрузке модемного пула:
cmSystemInstalledModem      1.3.6.1.4.1.9.9.47.1.1.1.0
cmSystemModemsInUse 1.3.6.1.4.1.9.9.47.1.1.6.0
cmSystemModemsAvailable 1.3.6.1.4.1.9.9.47.1.1.7.0
cmSystemModemsUnavailable 1.3.6.1.4.1.9.9.47.1.1.8.0
cmSystemModemsOffline 1.3.6.1.4.1.9.9.47.1.1.9.0
cmSystemModemsDead 1.3.6.1.4.1.9.9.47.1.1.10.0

Можно запрашивать информацию, чтобы обработать далее по номеру доступа. Нужно будет подсчитать каким-нибудь скриптом количество строк на каждый номер, если номеров доступа несколько
cpmActiveLocalPhoneNumber 1.3.6.1.4.1.9.10.19.1.3.1.1.13

Количество PPPoE-сессий
cPppoeSystemCurrSessions 1.3.6.1.4.1.9.9.194.1.1.1

Количество PPtP-сессий
cvpdnSystemSessionTotal  1.3.6.1.4.1.9.10.24.1.1.4.1.3

Чтобы завершать сессии по протоколу snmp необходимо включить на серверах доступа
aaa session-mib disconnect

И использовать MIB: CISCO-AAA-SESSION-MIB. Вот шаблон, на основе которого можно написать нужный shell-скрипт:
export MIBS=+CISCO-AAA-SESSION-MIB
#список активных пользователей
snmpwalk -v2c -c public $hostname casnUserId
snmpwalk -v2c -c public $hostname casnUserId.$session_id
# вывод .. = "login"
# сброс сессии. используется community на запись
snmpset -v2c -c private $hostname casnDisconnect.$session_id i 1
# вывод .. = INTEGER: true(1)