memoria v7.0 - Universidad de Concepción

Transcripción

memoria v7.0 - Universidad de Concepción
UNIVERSIDAD DE CONCEPCIÓN
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA
Profesor Patrocinante:
Dr. Mario Medina C.
Informe de Memoria de Título
Para optar al título de:
Ingeniero Civil Electrónico
Análisis de variables criticas en plataformas de
telecomunicaciones de nueva generación, captura de
indicadores y entrega de resultados
Concepción, Junio de 2006
Humberto Eduardo Peralta Manríquez
Profesor Patrocinante
Universidad de Concepción
Facultad de Ingeniería
Dr. Mario Medina C.
Departamento de Ingeniería Eléctrica
Análisis de variables criticas en plataformas de
telecomunicaciones de nueva generación, captura de
indicadores y entrega de resultados
Humberto Eduardo Peralta Manríquez
Informe de Memoria de Título
Para optar al Título de
Ingeniero Civil Electrónico
Junio 2006
i
RESUMEN
Este proyecto busca planificar las capacidades de las plataformas de
telecomunicaciones de nueva generación. Para lograr esto, se desarrollará
un sistema para interrogar las plataformas y analizar las respuestas. El
método de análisis clasifica los resultados obtenidos al interrogar, para así
poder ver en forma resumida la ocupación de la plataforma.
Los indicadores utilizados para caracterizar las capacidades de las
plataformas son obtenidos a través de los servicios que se ofrecen en la
empresa.
La captura de los indicadores se hace por medio de SNMP, un
protocolo de consulta de información específica a equipos. Éste protocolo
se va a manejar a través de Perl, un lenguaje de programación
multipropósito, que almacena los resultados en archivos de texto.
El método de análisis de los resultados obtenidos es un cálculo
matemático que clasificará la ocupación de los equipos y además hará una
proyección de la cantidad de días que le quedan al equipo de servicio,
antes de llegar a un agotamiento de la capacidad. Éste análisis se
despliega en un sitio Web, en el cual se clasifican los equipos según los
resultados de los cálculos y según ubicación geográfica.
Finalmente para, ver en forma clara las variaciones de las
mediciones realizadas semanalmente, se graficarán los resultados en el
sitio Web, y además la opción de exportar los resultados a planillas de
cálculo de Microsoft Excel.
ii
Agradecimientos
A mi familia, la parte mas importante de mi vida, y gracias a ellos he
llegado hasta acá.
A Juan Loza, por creer en mí e integrarme al grupo de trabajo de la
empresa Telmex S.A.
Al Profesor Mario Medina, por aceptar mi propuesta de realizar mi
memoria en una empresa.
A mi amorcito, por apoyarme y creer en mí.
iii
Tabla de Contenidos
Capítulo 1 Introducción .....................................................................1
Capítulo 2 Detalles técnicos...............................................................8
2.1 Plataformas .....................................................................................8
2.1.1 Plataforma DSLAM ....................................................................8
2.1.2 Plataforma switches.................................................................12
2.1.3 Plataforma IP-MPLS.................................................................14
2.2 Realidad de la empresa ..................................................................18
Capítulo 3 Protocolos de administración ..........................................19
3.1 Protocolos de desarrollo .................................................................19
3.2 Protocolo SNMP .............................................................................21
3.3 SNMP en las plataformas ...............................................................26
3.3.1 DSLAM ....................................................................................26
3.3.2 Switches..................................................................................28
3.3.3 IP-MPLS ..................................................................................29
3.4 Indicadores en las MIB ..................................................................29
3.4.1 MIB-II (RFC1213) ....................................................................30
3.4.2 OLD-CISCO-CPU-MIB .............................................................33
3.4.3 CISCO-VTP-MIB ......................................................................34
3.4.4 Q-BRIDGE-MIB .......................................................................34
3.4.5 MPLS-VPN-MIB .......................................................................34
3.4.6 ENTITY-MIB ............................................................................35
Capítulo 4 Captura...........................................................................36
4.1 Preparación del servidor ................................................................37
4.2 Estructura del capturador .............................................................40
4.2.2 Entrada ...................................................................................42
4.2.3 Proceso....................................................................................43
4.2.4 Salida......................................................................................48
4.3 Obtener indicadores de los equipos................................................53
iv
4.3.2 Conectarse al equipo ...............................................................54
4.3.3 Determinar el nombre del equipo .............................................55
4.3.4 Ocupación de interfaces ..........................................................56
4.3.4.1 DSLAM..............................................................................56
4.3.4.2 Switches............................................................................59
4.3.4.3 IP-MPLS ............................................................................64
4.3.5 Numero de VLAN .....................................................................70
4.3.5.1 DSLAM..............................................................................70
4.3.5.2 Switches............................................................................70
4.3.6 CPU.........................................................................................71
4.3.7 Slot disponibles .......................................................................72
4.3.8 Sub-Interfaces .........................................................................73
4.3.9 Numero VRF’s .........................................................................74
4.3.10 Ancho de banda.....................................................................75
4.4 Automatizar la captura ..................................................................81
Capítulo 5 Análisis...........................................................................83
5.2 Proceso de regresión ......................................................................87
5.2.1 Modelo lineal ...........................................................................87
5.2.2 Modelo no lineal ......................................................................91
5.2.2.1 Modelo potencial ...............................................................91
5.2.2.2 Modelo exponencial ...........................................................92
5.2.2.3 Modelo logarítmico ............................................................93
5.3 Estructura análisis ........................................................................95
5.3.1 Calcular porcentaje de ocupación y días inventario ..................95
5.3.1.2 Archivos de entrada...........................................................96
5.3.1.3 Análisis .............................................................................97
5.3.1.4 Archivos de salida ........................................................... 103
5.3.2 Clasificar resultados según días inventario ............................ 105
5.3.2.2 Archivos de entrada......................................................... 106
5.3.2.3 Análisis ........................................................................... 106
5.3.2.4 Archivo de salida ............................................................. 110
v
5.3.3 Clasificar resultados según porcentaje de ocupación.............. 110
5.3.3.2 Archivos de entrada......................................................... 111
5.3.3.3 Análisis ........................................................................... 112
5.3.3.4 Archivo de salida ............................................................. 113
5.4 Estructura de despliegue ............................................................. 113
5.4.2 Menú principal ...................................................................... 114
5.4.3 Área de contenido .................................................................. 115
5.4.3.1 Plataforma....................................................................... 116
5.4.3.2 Bitácora .......................................................................... 120
5.4.3.3 Equipos consultados ....................................................... 121
5.4.3.4 Administración del capturador ........................................ 122
Capítulo 6 Conclusiones ................................................................124
Bibliografia ....................................................................................128
Capítulo 7 Anexos ..........................................................................132
vi
Lista de Tablas
Tabla 1.1 Equipos en las plataformas .......................................................2
Tabla 1.2 Interfaces en los equipos ...........................................................3
Tabla 1.3 Indicadores en los servicios .......................................................6
Tabla 2.1 Interfaces en los switch Catalyst..............................................13
Tabla 2.2 Módulos ethernet Cisco 7609 ..................................................17
Tabla 3.1 Comandos SNMP.....................................................................23
Tabla 3.2 Tipos de interfaces ..................................................................31
Tabla 4.1 Comparación Perl y otros lenguajes de programación ..............36
Tabla 4.2 Características del equipo de captura ......................................37
Tabla 4.3 Parámetros del archivo infoPLATAFORMA.txt ..........................43
Tabla 4.4 ID de identificadores................................................................51
Tabla 4.5 ID de plataforma .....................................................................52
Tabla 4.6 Indicadores a capturar ............................................................53
Tabla 4.7 Tipos interfaces IP-MPLS .........................................................65
Tabla 4.8 Variables Interfaces IP-MPLS ...................................................66
Tabla 4.9 Horario de captura para las plataformas..................................81
Tabla 5.1 Parámetros de la ecuación de la recta......................................88
Tabla 5.2 Modelo lineal regresión de mínimos cuadrados ........................90
Tabla 5.3 Detalles modelo potencial ........................................................91
Tabla 5.4 Parámetros modelo potencial ...................................................92
Tabla 5.5 Detalles modelo exponencial....................................................92
Tabla 5.6 Parámetros modelo exponencial...............................................93
Tabla 5.7 Detalles modelo logarítmico .....................................................94
Tabla 5.8 Parámetros modelo logarítmico................................................94
Tabla 5.9 Casos de días inventario........................................................ 100
Tabla 5.10 Parámetros del archivo DATAWEB-PLATAFORMA.txt........... 104
Tabla 5.11 Parámetros del archivo DATOWEB-PLATAFORMA-GRAF.txt 105
Tabla 5.12 Zonas geográficas ................................................................ 108
vii
Tabla 5.13 Formato salida del archivo RESUMENWEB-PLATAFORMA.txt
............................................................................................................ 110
Tabla 5.14 Formato salida del archivo RESUMENWEB-PLATAFORMAOC.txt .................................................................................................. 113
Tabla 6.1 Detalles proceso de captura y análisis ................................... 125
viii
Lista de Figuras
Figura 1.1 Relación plataforma, equipos, servicios ....................................4
Figura 2.1 Conexión cliente DSLAM ..........................................................9
Figura 2.2 Chasis Zyxel IES1000 ............................................................10
Figura 2.3 Conexión modulo AAM1008 ...................................................11
Figura 2.4 Interconexión de los conmutadores ........................................12
Figura 2.5 Modulo GBIC .........................................................................13
Figura 2.6 Switch Catalyst serie 2950.....................................................14
Figura 2.7 Cisco 7206.............................................................................15
Figura 2.8 Cisco 7507.............................................................................16
Figura 2.9 Cisco 7609.............................................................................17
Figura 3.1 Elementos protocolo SNMP ....................................................21
Figura 3.2 Componentes del agente ........................................................22
Figura 3.3 MIB TREE..............................................................................25
Figura 3.4 Configurar SNMP ...................................................................28
Figura 4.1 SSH Secure Shell client .........................................................40
Figura 4.2 Relación del capturador y las plataformas ..............................41
Figura 4.3 Estructura del capturador .....................................................41
Figura 4.4 Ocupación puertas en equipos DSLAM...................................56
Figura 4.5 Interfaces lógicamente ocupadas............................................60
Figura 4.6 Formato del crontab ..............................................................82
Figura 5.1 Evolución del indicador..........................................................83
Figura 5.2 Tendencia de la ocupación .....................................................84
Figura 5.3 Proyección del indicador ........................................................85
Figura 5.4 Días inventario ......................................................................86
Figura 5.5 Ecuación de la recta ..............................................................87
Figura 5.6 Modelo mínimos cuadrados ...................................................88
Figura 5.7 Representación del coeficiente de determinación R2................90
Figura 5.8 Estructura del análisis...........................................................95
ix
Figura 5.9 Trabajo del script calculador_PLATAFORMA.pl.......................96
Figura 5.10 Caso “No hay cambios” días inventario............................... 100
Figura 5.11 Caso “Valor en días” días inventario ................................... 101
Figura 5.12 Caso “Agotado” días inventario........................................... 101
Figura 5.13 Caso “Desocupación” días inventario.................................. 102
Figura 5.14 Estructura de clasificación según días inventario ............... 106
Figura 5.15 Estructura de clasificación según porcentaje de ocupación 111
Figura 5.16 Web del capturador............................................................ 114
Figura 5.17 Menú de la web del capturador .......................................... 115
Figura 5.18 Filtro de equipos consultados............................................. 116
Figura 5.19 Respuesta al filtro de región ............................................... 117
Figura 5.20 Dialogo de resumen para los días inventario ...................... 118
Figura 5.21 Resumen porcentaje de ocupación ..................................... 118
Figura 5.22 Resumen días inventario.................................................... 118
Figura 5.23 Detalle de información de los equipos ................................ 119
Figura 5.24 Exportar a Microsoft Excel ................................................. 119
Figura 5.25 Grafico de ocupación ......................................................... 120
Figura 5.26 Bitácora del capturador ..................................................... 121
Figura 5.27 Lista de los equipos consultados ........................................ 121
Figura 5.28 Agregar equipo................................................................... 122
Figura 5.29 Eliminar equipo ................................................................. 123
Figura 6.2 Ocupación puertas equipo plataforma DSLAM ..................... 127
Figura 6.3 Estado del equipo plataforma DSLAM .................................. 127
x
Lista de Listados
Listado 3.1 Objeto MIB “ifspeed” .............................................................26
Listado 3.2 Habilitar SNMP switch Cisco Catalyst ...................................28
Listado 3.3 Habilitar SNMP router Cisco .................................................29
Listado 3.4 Características de hardware .................................................35
Listado 4.1 Instalación de los módulos Perl.............................................38
Listado 4.2 Configuración interfaces capturador .....................................39
Listado 4.3 Sección del archivo infoPLATAFORMA.txt .............................43
Listado 4.4 Carga de librerías del archivo principalPLATAFORMA.pl .......44
Listado 4.5 Cargar archivos de entrada y salida ......................................45
Listado 4.6 Comprobar equipo antes de iniciar consultas........................46
Listado 4.7 Llamada a la función de captura de cada indicador...............47
Listado 4.8 Inicio del archivo PLATAFORMA.pm......................................47
Listado 4.9 Inicio de la consulta de un indicador ....................................48
Listado 4.10 Respuesta del módulo de consulta ......................................48
Listado 4.11 Detalles del archivo infoPLATAFORMA.log...........................49
Listado 4.12 Formato del archivo DATO-PLATAFORMA.txt......................52
Listado 4.13 Iniciar sesión SNMP............................................................54
Listado 4.14 Consultar nombre del equipo ..............................................55
Listado 4.15 Obtener el ID de las VLAN...................................................57
Listado 4.16 Interfaces con ID de VLAN validas.......................................59
Listado 4.17 Obtener el index de las Interfaces (ifIndex) ..........................61
Listado 4.18 Obtener ifOperStatus e IfAdminStatus ................................62
Listado 4.19 Ocupación según tipo de interfaces.....................................64
Listado 4.20 Capturar interfaces IMA......................................................66
Listado 4.21 Capturar interfaces serial ...................................................67
Listado 4.22 Capturar Interfaces WAN ....................................................67
Listado 4.23 Capturar interfaces GIGA ...................................................67
Listado 4.24 Capturar interfaces fast ethernet ........................................68
xi
Listado 4.25 Capturar interfaces POS .....................................................68
Listado 4.26 Capturar interfaces HSSI ....................................................69
Listado 4.27 Contabilizar interfaces ocupadas ........................................69
Listado 4.28 Cantidad VLAN en switches ................................................71
Listado 4.29 Captura porcentaje ocupación del CPU ...............................72
Listado 4.30 Captura slot disponibles en la plataforma IP-MPLS .............73
Listado 4.31 Capturar sub-interfaces......................................................73
Listado 4.32 Capturar VRF en la plataforma IP-MPLS .............................74
Listado 4.33 Primera captura del ancho de banda...................................77
Listado 4.34 Segunda captura del ancho de banda .................................78
Listado 4.35 Captura del ancho de banda nominal (ifSpeed) ...................78
Listado 4.36 Análisis del ancho de banda ...............................................80
Listado 4.37 Conversión de unidades de ancho de banda........................80
Listado 4.38 Configuración del crontab en el capturador.........................82
Listado 5.2 Carga de los archivos históricos............................................98
Listado 5.3 Carga de todos los indicadores capturados ...........................99
Listado 5.4 Condiciones de calculo de los días dnventario..................... 103
Listado 5.5 Clasificación de días inventario........................................... 108
Listado 5.6 Clasificación según zona geográfica .................................... 109
Listado 5.7 Clasificación según el porcentaje de ocupación ................... 112
Listado 7.1 MIB Cisco Catalyst serie 2950 ............................................ 133
Listado 7.2 MIB Cisco Catalyst serie 3550 ............................................ 134
Listado 7.3 MIB Cisco serie 12000 ........................................................ 136
Listado 7.4 MIB Cisco serie 7200 .......................................................... 138
Listado 7.5 MIB Cisco serie 7500 .......................................................... 140
Listado 7.6 MIB Cisco serie 7600 .......................................................... 144
Listado 7.7 Tipos de Interfaces definidas en IANA ................................. 148
Listado 7.8 Procedimiento de cálculo de los modelos de regresión ......... 151
xii
Abreviaciones
ADSL
Asymmetric Digital Subscriber Line
ATM
Asynchronous Transfer Mode
BW
Bandwidth
CO
Central Office
CPU
Central Processing Unit
DSLAM
Digital Subscriber Line Access Multiplexer
FTP
File Transfer Protocol
G.SHDSL
G.991.2 Symmetric High-bit-rate DSL
GBIC
Gigabit Interface Converter
GSR
Gigabit Switch Router
GUI
Graphical User Interface
HSSI
High Speed Serial Interface
IANA
Internet Assigned Numbers Authority
ICMP
Internet Control Message Protocol
IMA
Inverse Multiplexing for ATM
IP-MPLS
Internet Protocol-MultiProtocol Label Switching
MAC
Media Access Control address
MDF
Main Distribution Frame
MIB
Management Information Base
MII
Media Independent Interface
NMS
Network Management System
OID
Object Identifier
OSI
Open System Interconnection
POS
Packet Over SONET
RFC
Request for Comments
RMON
Remote Monitoring
xiii
RSP
Route Switch Processors
SNMP
Simple Network Management Protocol
Trap
An SNMP Event
UDP
User Datagram Protocol
VLAN
Virtual LAN
VPN
Virtual Private Network
1
CAPÍTULO 1 INTRODUCCIÓN
Este proyecto surge de las necesidades de una empresa de
telecomunicaciones como es TELMEX S.A., de conocer en forma rápida y
precisa el estado de ocupación de los equipos que posee a nivel nacional.
Esto se debe a que el mercado de las telecomunicaciones, es un
mercado
con
un
crecimiento
acelerado,
que
constantemente
está
ofreciendo nuevos servicios a los clientes, por lo que no se pueden aceptar
errores en la información de los equipos que soportan los servicios.
Por ejemplo, puede darse el caso que en comuna del país se ofrezca
un servicio de Internet determinado, pero posteriormente se determine que
los equipos instalados para soportar dicho servicio se encuentren ya
funcionando a su máxima capacidad, y no es posible agregar a este nuevo
abonado. Esta situación se produce debido a la utilización de información
desactualizada entre las distintas áreas de la empresa.
Frente a las dificultades asociadas a mantener al día la información
de utilización de los equipos, se opta por la creación de una herramienta
que obtenga la información necesaria de los equipos para poder ofrecer
servicios.
Los servicios para los cuales se desarrollará la Herramienta son,
Internet Banda Ancha, IP-Business e Internet Dedicada; servicios que
están orientados a distintos tipos de clientes.
Para llegar a los clientes, estos servicios se encuentran dentro de
plataformas que se encuentran relacionadas unas con otras, y que dentro
de las cuales existen equipos.
2
Una Plataforma se define como un grupo de equipos que poseen las
mismas características y prestan la misma utilidad. Éstas no se ven
divididas por marca del equipo o lugar geográfico. Entre las plataformas
existe una comunicación que produce una dependencia al ofrecer un
servicio. Las plataformas sobre las cuales se desarrolla el proyecto son
DSLAM, SWITCHES e IP-MPLS. Se pueden ver en la Figura 1.1.
Cada plataforma, entrega servicios de forma directa o indirecta:
DSLAM: Esta plataforma entrega los servicios en forma directa tanto a
hogares como empresas.
SWITCHES: Esta diseñada para unir distintas redes, conmutando
paquetes de datos. Puede dar servicio en forma directa o a través de la
Plataforma DSLAM.
IP-MPLS: Plataforma para enrutar los paquetes de datos. No genera
servicios en forma directa, lo hace a través de los switch o los DSLAM.
Dentro de cada Plataforma se presentan equipos, como se muestra
en la Tabla 1.1.
Plataforma
Equipo
DSLAM
IP DSLAM
SWITCHES
SWITCH ETHERNET
IP-MPLS
ROUTERS
Tabla 1.1 Equipos en las plataformas
3
Cada equipo presenta diferentes tipos de interfaces o puertos de
comunicación, según las características del servicio que ofrecen. Para los
DSLAM se presentan 3 tipos de interfaces, para los switch ethernet se
presentan 2 tipos se interfaces, en cambio para los routers hay mas
variedad de interfaces, pero sólo 2 tipos son necesarias para los servicios
del proyecto. Las interfaces relacionadas con los equipos se muestran en la
Tabla 1.2.
Equipo
Tipo de Puerto
ADSL
IP DSLAM
G.SHDSL
FAST ETHERNET
SWITCH ETHERNET
FAST ETHERNET
GIGA
FAST-ETHERNET
ROUTERS
GIGA
Tabla 1.2 Interfaces en los equipos
Una
estructura
general,
que
relaciona
servicios, interfaces se encuentra en la Figura 1.1.
plataformas,
equipos,
4
Figura 1.1 Relación plataforma, equipos, servicios
Anteriormente se ha referido a servicios dados por los equipos. Estos
servicios son:
Internet banda ancha:
Servicio dedicado a hogares, posee un ancho de banda asimétrico de
bajada y subida de datos. Utiliza la tecnología de comunicaciones ADSL
que comparte voz y datos sobre líneas de cobre. Las velocidades de acceso
van desde 256Kbps/128Kbps hasta 2Mbps/512Kbps.
5
IP-Bussines:
Servicio dedicado a empresas PYMES, las cuales lo usan para
transmitir datos localmente entre sucursales o bien, para transmitir datos
en el ámbito nacional. El servicio utiliza la tecnología G.SHDSL que ofrece
un ancho de banda simétrico que permite transmitir información de forma
dedicada sobre líneas de cobre.
Internet dedicado:
Servicio dedicado para corporaciones y grandes empresas, que
buscan aprovechar las ventas de Internet en sus e-bussines. Este servicio
ofrece un ancho de banda desde 64Kbps hasta 1Gbps. El acceso se realiza
en líneas de cobre o fibra óptica dedicadas.
Cada servicio utiliza una interfaz de un switch ethernet o IP DSLAM,
lo que también representa una interfaz en un router.
Para dar un servicio, no sólo basta con conectarlo a una interfaz,
también es necesario configurar el servicio, la configuración del servicio se
realiza a travéz el sistema operativo de los equipos, generándose otros
parámetros.
Es
necesario
consultar
esos
indicadores
para
poder
determinar en forma exacta el estado de ocupación de un equipo.
Los indicadores se ven en la Tabla 1.3. Se encuentran asociados a
uno de los servicios.
6
Servicio
Indicadores
Interfaz en IP DSLAM (ADSL)
Internet Banda Ancha
VLAN en IPDSLAM (ADSL)
Sub-Interfaz en ROUTER
Interfaz en IP DSLAM (G.SHDSL)
IP-Bussines
VLAN en IP DSLAM (G.SHDSL)
Interfaz SWITCH ETHERNET
Internet Dedicado
VLAN SWITCH ETHERNET
Sub-Interfaz en ROUTER
Tabla 1.3 Indicadores en los servicios
Para dar los servicios es necesario crear VLAN y sub-interfaces:
VLAN:
Representa
una
red
de
área
local
virtual,
y
cuando
los
computadores se encuentran dentro de la misma VLAN, se comportan
como si estuvieran conectados por un mismo cable, aunque se encuentren
en segmentos de red diferentes.
Sub-Interfaz: Es la parte lógica de una interfaz física en un router, define
una subred que se asociada a una VLAN. Entonces a través de una
interfaz de un router se pueden ofrecer la cantidad de servicios según la
cantidad de sub-interfaces que se creen.
De todo lo descrito anteriormente, ésta nueva herramienta para la
empresa consultará a todos los equipos, y obtendrá los indicadores
anteriores para analizar la ocupación.
7
Para realizar las consultas no se debe sobrecargar los equipos,
debido a que se encuentran operando con tráfico de clientes, y
sobrecargarlos podría perjudicar el servicio. Por lo tanto se consulta en
horarios de bajo tráfico.
Se utiliza SNMP, Protocolo Simple de Administración de Redes, que
está diseñada para consultar una gran cantidad de variables a equipos,
sin sobrecargar el mismo. Se proporciona una ventana de consultas, para
obtener datos actualizados, de siete días hábiles.
Si se realiza en forma periódica se puede realizar una proyección de
la ocupación de los recursos y así planear demandas futuras, y prever la
adquisición de nuevos equipos.
8
CAPÍTULO 2 DETALLES TÉCNICOS
En este capitulo de entregará una visión de lo global a lo particular
de las Plataformas de las cuales se desarrollará la herramienta, incluyendo
además una descripción de los equipos y las interfaces asociadas.
La descripción se realizara en forma detallada y así conocer el
hardware al que vamos a consultar la información, para poder comprobar
si las respuestas obtenidas tienen relación con las características del
equipo. Lo anterior se refleja en conocer el tipo de equipo, interfaz. O la
cantidad de ranuras y cuales ya se encuentran utilizadas.
Luego, conociendo las características de los equipos se describirá la
realidad de la empresa y cómo se resuelve el problema en la actualidad.
2.1 PLATAFORMAS
2.1.1 Plataforma DSLAM
Se compone por equipos DSLAM (Digital Subscriber Line Access
Multiplexer). Son equipos que proporcionan al cliente servicios DSL
utilizando pares trenzados de cobre como medio.
La conexión del servicio a través de un DSLAM se ve en forma
general en la Figura 2.1, donde los clientes pueden estar conectados a
través de interfaces ADSL o G.SHDSL.
9
Figura 2.1 Conexión cliente DSLAM
En este trabajo se utilizo el DSLAM Zyxel-IES1000. Este DSLAM
consta de 2 ranuras, en cada una de las cuales se puede instalar un nuevo
módulo ADSL o G.SHDSL, como se muestra en la Figura 2.2. Estos
módulos son:
SAM1008 (G.SHDSL Access Module): Es un módulo de red multiplexor
de 8 puertos.
AAM1008 (ADSL Access Module): Es un módulo de red multiplexor de 8
puertos, que tiene integrado un splitter (divisor de frecuencias) gracias al
cual el módulo puede transportar voz (0 a 4 KHz) y servicio ADSL (sobre
4KHz) simultáneamente sobre el mismo par trenzado de cobre.
10
Figura 2.2 Chasis Zyxel IES1000
Para el servicio IP-Business, que se entrega a través de la tarjeta
SAM1008, se realiza la conexión desde la interfaz G.SHDSL al MODEM del
usuario a través del par de cobre telefónico.
Para el servicio Internet Banda Ancha, el módulo AAM1008 trabaja
como multiplexor, con la señal, datos+telefonía.
⇒ La señal de datos+telefonía sale de la interfaz ADSL hacia el
cliente. En el cliente se instala un filtro para dividir las frecuencias,
separando datos de telefonía. La señal de telefonía va al teléfono
del cliente y los datos hacia el MODEM del mismo. Como se
muestra en la Figura 2.3.
11
Figura 2.3 Conexión modulo AAM1008
La configuración del equipo se puede hacer por medio de consola
(puerto serial), telnet, SNMP, y Web.
12
2.1.2 Plataforma switches
Se
compone
por
equipos
conmutadores
que
sirven
para
interconectar redes. Un conmutador interconecta dos o más segmentos de
red pasando información entre ellos según la dirección MAC de destino.
Esta plataforma interconecta la plataforma IP-MPLS con la DSLAM, y
además ofrece el servicio de Internet Dedicada. Ver Figura 2.4.
Figura 2.4 Interconexión de los conmutadores
Los equipos poseen interfaces que pueden ser Fast Ethernet y Giga.
Las interfaces Fast Ethernet obtienen su nombre del estándar de IEEE
para redes de 100Mbps. Las interfaces GIGA alcanzan velocidades de
hasta 2Gbps y es un modulo, que se puede instalar en los switch, llamado
GBIC, Gigabit Interface Converter, que se ve en la Figura 2.5.
13
Figura 2.5 Modulo GBIC
Para el desarrollo del proyecto, se utilizaron los switch Cisco
Catalyst de la serie 3550 y 2950. Los modelos específicos y las interfaces
se ven en la Tabla 2.1. En la Figura 2.6 se muestran los switch de la serie
Catalyst 2950.
Equipos Cisco Catalyst
3550-12G
3550-24
3550-48
2950G-12
2950-24
2950G-24
2950-12
Detalles
2 puertas de 10/100/1000
10 puertas GBIC
24 puertas de 10/100
2 puertas GBIC
48 puertas de 10/100
2 puertas GBIC
12 puertas de 10/100
2 puertas GBIC
24 puertas de 10/100
24 puertas de 10/100
2 puertas GBIC
24 puertas de 10/100
Tabla 2.1 Interfaces en los switch Catalyst
14
Figura 2.6 Switch Catalyst serie 2950
2.1.3 Plataforma IP-MPLS
Se compone por equipos router (enrutadores) que realizan la
interconexión
de
redes
de
computadoras.
A
diferencia
de
los
conmutadores, el router toma decisiones respecto a la mejor ruta para un
datagrama, seleccionando la interfaz de salida más conveniente. Las
decisiones se basan en la dirección de red del destino, carga de tráfico y
velocidad de las interfaces.
Esta Plataforma realiza el enrutamiento de los datagramas entre
distintas redes. No posee un servicio asociado, pero a través de ella
acceden los otros servicios. Está compuesta por los siguientes equipos:
1.-
Cisco 12008: Es un GSR, Gigabit Switch Router, que posee 8
ranuras. En una de las ranuras se instala el CPU del enrutador y en las
otras 7 se pueden instalar las LineCard (tarjetas donde se encuentran las
interfaces). Las interfaces pueden ser de Fibra Óptica y/o Ethernet.
Las LineCard pueden contener:
o 8 interfaces POS (Packet Over SONET)
15
o 1 interfaz GIGA por LineCard.
o 4 interfaces GIGA.
2.-
Cisco 7206VXR: Este chasis posee 6 ranuras horizontales (Figura
2.7). Puede poseer variados tipos de puertos, Entre ellos, se tiene:
o 10/100-MB Ethernet
o GIGA
o E1 IMA
o POS (Packet Over SONET)
Figura 2.7 Cisco 7206
3.-
Cisco 7507: Es un conmutador con 7 ranuras disponibles y fuentes
de poder redundantes (Figura 2.8). Las ranuras 2 y 3 son usadas para
Router Switch Processors (RSP) y en las ranuras restantes se pueden
instalar las interfaces.
16
Figura 2.8 Cisco 7507
En este router se pueden encontrar los siguientes tipos de interfaces:
o Interfaces POS
o Interfaces Fast Ethernet
o Interfaces E1 IMA
4.-
Cisco 7609: Router con 9 slot verticales en el chasis. Es un equipo
compatible con las interfaces ethernet del switch Catalyst 6500, (ver Tabla
2.2). En la Figura 2.9 se ve el Router y sus componentes, 9 slot y las
fuentes de poder redundante.
17
Figura 2.9 Cisco 7609
Módulos
Modelo
24 interfaces 10BASE-FL
WS-X6024-10FL-MT
48 interfaces10/100/1000
WS-X6148-GE-TX
48 interfaces 10/100
WS-X6248-RJ45
8 interfaces GIGA
WS-X6408-GBIC
16 interfaces GIGA
WS-X6416-GBIC
24 interfaces GIGA
WS-X6724-SPF
Tabla 2.2 Módulos ethernet Cisco 7609
18
2.2 REALIDAD DE LA EMPRESA
TELMEX CHILE es el resultado de la fusión de las empresas de
telecomunicaciones Chilesat y AT&T. Por ello el control de las plataformas
existentes se encuentra distribuido en distintas áreas.
Los sistemas de control de los equipos se mantienen en forma
independiente unos de otros, debido a que son distintas áreas de trabajo
que administran las distintas plataformas. Estos sistemas solo cubren las
necesidades del área, y la información que manejan los sistemas de control
es ingresada en forma manual por un operador.
Entonces, si la información de las plataformas se maneja en forma
independiente, puede provocar diferencias a la hora de dar un servicio,
debido a las dependencias reales que existen entre las plataformas.
Si se deseara dar un servicio de Internet banda ancha, este servicio
viene de una puerta ADSL del DSLAM, suponiendo que el equipo tiene la
puerta disponible, entonces se puede dar el servicio dirían los sistemas de
control de la plataforma, pero esa plataforma depende de la plataforma
switches donde sus equipos pueden estar trabajando a toda su capacidad,
por lo tanto no podrán dar el servicio.
Para superar esas posibles diferencias, se opta por crear una nueva
herramienta, capaz de obtener la capacidad de todas las plataformas en
forma directa y automática. Centralizando la información, con acceso a
todos los usuarios interesados en esta.
19
CAPÍTULO 3 PROTOCOLOS DE ADMINISTRACIÓN
En este capítulo se presentan dos alternativas de protocolos de
administración. Luego se describe el protocolo SNMP y sus elementos,
explicando la manera de realizar consultas y presentando ejemplos de su
uso.
3.1 PROTOCOLOS DE DESARROLLO
Para comenzar el desarrollo de esta, se buscan alternativas para
obtener los indicadores de los equipos. Esa tarea se realiza con un
protocolo de administración que permite la lectura de los indicadores en
forma remota y estandarizada.
En la actualidad existen dos protocolos de monitoreo de amplia
difusión y fácil uso:
SNMP: Protocolo sencillo de administración de redes, proporciona una
manera ordenada de administrar y supervisar una red. Este protocolo se
ha implementado ampliamente en productos comerciales y se ha
convertido en un estándar en la administración de redes. Está basado en
eventos y no es orientado a la conexión, entonces si el paquete de
información enviado desde el equipo administrado al administrador no
llega al destino, el equipo administrado no se da por enterado del error,
siempre asume que el paquete fue recibido.
20
Ventajas
Fácil de implementar
Diseño simple
Actualmente el mas usado
No consume muchos recursos
Capacidad de expansión
Disponible en todos los equipos que se van a consultar
Desventajas
Bajo nivel de seguridad
Posee funcionalidad limitada
CMIP: Protocolo común de administración de información. Este protocolo
sigue el patrón de los modelos de interconexión OSI y define un sistema
genérico de gestión de red. Está diseñado solo para gestión de redes OSI,
pero ha sido adoptado en la práctica como tecnología base de gestión,
debido a que mejora las debilidades del SNMP. Esta orientado a la
conexión, si el paquete no llega a su destino el protocolo lo reenvía
nuevamente.
Ventajas
Alto nivel de seguridad
Desventajas
Variables complejas
Complejo de programar
Implementación demasiado costosa en hardware y software
Se determina el uso del protocolo SNMP, basándose en la cantidad
de ventajas presentes y despreciando el bajo nivel de seguridad debido a
que se trabaja sobre redes administrativas protegidas por Firewalls.
21
3.2 PROTOCOLO SNMP
Es un protocolo creado para administrar y gestionar equipos en las
redes de telecomunicaciones. Es utilizado para monitorear redes. Los
componentes para una administración por SNMP son: una estación de
administración y un agente. Tal como se ve en la Figura 3.1.
Figura 3.1 Elementos protocolo SNMP
Un agente es el módulo de software que se encuentra instalado en el
equipo que se va a monitorear. El agente conoce toda la información a
consultar
(MIB),
y
se
comunica
por
el
protocolo
administrador. Los agentes se pueden instalar en:
⇒ Impresoras
⇒ Estaciones de Trabajo
⇒ Servidores
⇒ DSLAM
⇒ Conmutadores
⇒ Enrutadores
SNMP
con
el
22
El NMS, Sistema Administración de Red (Figura 3.1), se refiere al
equipo que se encuentra realizando las consultas a los agentes que se
encuentran en todos los equipos de la red.
El protocolo SNMP funciona como una consulta realizada por el NMS
al agente, luego la respuesta a la consulta el NMS la puede almacenar. La
consulta solicitada está basada sobre un objeto administrado, que
representa una característica variable dentro del equipo (agente). El objeto
administrado se refiere uno de los indicadores que andamos buscando (Ver
Figura 3.2).
Figura 3.2 Componentes del agente
Las consultas al equipo administrado son comandos del Protocolo
SNMP. Estos comandos y la descripción se ven en la Tabla 3.1.
23
Comandos
Descripción
Permite al administrador recibir la Característica Variable de
Get
un Objeto Administrado del agente.
Permite al administrador recibir información del próximo
GetNext
Objeto Administrado.
Permite al administrador dar un
Set
valor a un Objeto
Administrado en el Agente.
Usado por el Agente para informar al administrador algunos
Trap
eventos.
Tabla 3.1 Comandos SNMP
La MIB, Management Information Base, es la base de datos del
agente, donde tiene la información de todos los Objetos Administrados y es
enviada del agente al NMS si es solicitada.
Las
MIB
se
encuentran
preparadas
para
realizar
tareas
especializadas. Existen MIB básicas que se encuentran disponibles en la
mayoría de los dispositivos de red. Dentro de las MIB se encuentran los
Objetos
de
MIB,
equivalentes
a
los
Objetos
Administrados,
que
representan el campo de la MIB donde se encuentra la Característica
Variable del Objeto Administrado.
24
Existe una MIB estándar llamada MIB-II, ésta contiene 172 Objetos
Administrables, definida por la RFC12131.
El RFC1213 comenta las deficiencias presentes en MIB-I, y propone
mejoras, plantea una nueva versión para realizar la administración de las
redes modificando la versión existente. Una de las mejoras es poseer
cadenas de texto (string) y así poder entregar una descripción de los
Objetos de MIB.
Los Objetos de MIB se organizan de manera jerárquica como se
muestra en la Figura 3.3. Esta jerarquía comienza desde la ISO
(Organización
de
Estándares
Internacional)
pasando
por
DOD
(Departamento de Defensa de Estados Unidos) hasta llegar a los Objetos
MIB. Esta estructura jerárquica se define como MIB TREE. El Objeto de
MIB que define Internet se caracteriza por el identificador “1.3.6.1.2.1”,
donde
cada
número
representa
un
vértice
del
MIB
TREE.
Los
identificadores se denominan como OID, identificador de Objetos.
1
RFC, Requerido Para Comentarios, son Memos que normalizan
protocolos de comunicaciones.
25
Figura 3.3 MIB TREE
En el MIB TREE anterior se ven las MIB privadas, definidas por el
OID “1.3.6.1.4”. Estas MIB son usadas por las empresas para administrar
sus dispositivos.
26
Los Objetos dentro de la MIB poseen un formato característico,
dentro de él se da el nombre del objeto, el permiso de acceso, estado y la
descripción. En el Listado 3.1 se ve el Objeto de MIB “ifspeed”, que
representa la velocidad de la interfaz.
ifSpeed OBJECT-TYPE
SYNTAX
Gauge32
MAX-ACCESS read-only
STATUS
current
DESCRIPTION
"An estimate of the interface's current bandwidth in bits
per second. For interfaces which do not vary in bandwidth
or for those where no accurate estimation can be made, this
object should contain the nominal bandwidth. If the
bandwidth of the interface is greater than the maximum value
reportable by this object then this object should report its
maximum value (4,294,967,295) and ifHighSpeed must be used
to report the interace's speed. For a sub-layer which has
no concept of bandwidth, this object should be zero."
::= { ifEntry 5 }
Listado 3.1 Objeto MIB “ifspeed”
3.3 SNMP EN LAS PLATAFORMAS
Los equipos en las plataformas poseen configuraciones SNMP
distintas, según la empresa a la cual pertenece, por lo tanto poseen MIB
específicas.
3.3.1 DSLAM
27
En esta plataforma se encuentra el equipo Zyxel IES-1000, este
equipo soporta las siguientes MIB:
MIB II (definida en RFC1213)
Q-BRIDGE-MIB
Zyxel.mib
Zyxel-AS.mib
Zyxel-AS-ATM.mib
Zyxel-AESCommon.mib
Zyxel-SESCommon.mib
Las MIB privadas comienzan con el nombre de la empresa, y poseen
información particular del equipo.
Para que el equipo responda a las consultas realizadas por SNMP,
debe ser configurado y debe ser asignado a una comunidad, que se refiere
a una clave de acceso. Esta configuración en el equipo Zyxel IES-1000 se
realiza vía Web. Se debe ingresar la dirección IP del Administrador, la
comunidad, los permisos y si se desea enviar Traps al administrador. La
Figura 3.4 muestra la pantalla de configuración vía Web.
28
Figura 3.4 Configurar SNMP
La configuración que se asigna en el proyecto omite el permiso de
escritura y el envío de Trap, debido a que solo se necesita obtener
información particular del equipo.
3.3.2 Switches
Esta plataforma se compone de 9 equipos distintos, pero se pueden
caracterizar en 2 modelos generales:
o Cisco Catalyst Serie 2950
o Cisco Catalyst Serie 3550
Ambas series soportan distintos y variados tipos de MIB. En el caso
del Switch Catalyst serie 2950 soporta las MIB mostradas en el Listado
7.1. El Switch Cisco Catalyst 3550 soporta las MIB dadas en el Listado
7.2.
En ambos Switches se debe habilitar el protocolo SNMP, usando el
comando “snmp-server”, como se muestra en el Listado 3.2. Se configura
el Switch con una comunidad “SwichCisco” y con permisos de acceso RO,
Read Only, sólo lectura.
Switch# configure terminal
Switch(config)# snmp-server community SwitchCisco RO
Listado 3.2 Habilitar SNMP switch Cisco Catalyst
29
3.3.3 IP-MPLS
La plataforma IP-MPLS se compone por los siguientes modelos de
Routers Cisco:
Cisco 12008
Cisco 7206VXR
Cisco 7507
Cisco 7607
La lista de MIB relacionadas a los Routers anteriores se presenta en
los siguientes listados de anexos:
Cisco 12008 Listado 7.3
Cisco 7206VXR Listado 7.4
Cisco 7507 Listado 7.5
Cisco 7607 Listado 7.6
Al igual que en el caso anterior, es necesario habilitar el servicio de
SNMP en los Routers se debe configurar el comando “snmp-server”
(Listado 3.3)
Router# configure terminal
Router(config)# snmp-server community SwitchCisco RO
Listado 3.3 Habilitar SNMP router Cisco
3.4 INDICADORES EN LAS MIB
30
Debido a la existencia de MIB estándar, que son independiente a las
marcas de los equipos, se pueden analizar los indicadores en forma
independiente de las plataformas y los equipos.
3.4.1 MIB-II (RFC1213)
SysName
Nombre del Sistema, entrega el nombre del sistema asignado por el
administrador del dispositivo. Posee permisos de lectura y escritura.
Su OID es: 1.3.6.1.2.1.1.5
SysDescr
Descripción del Sistema, este valor entrega una completa descripción
de la versión del hardware y software. Posee permisos de lectura y
escritura.
Su OID es: 1.3.6.1.2.1.1.1
ifIndex
Define el índice de la interfaz, es un valor único, mayor que cero,
asignado a cada una de ellas.
Su OID es: 1.3.6.1.2.1.2.2.1.1
ifDescr
Es una cadena de texto que entrega información sobre la interfaz.
Esta cadena incluye el tipo de interfaz y numero de ésta.
Su OID es: 1.3.6.1.2.1.2.2.1.2
ifType
Entrega el tipo de interfaz asignada por IANA, Internet Assigned
Numbers Authority. El valor devuelto se compara con la Tabla 3.2 para
31
saber el tipo de interfaz que representa. La lista completa de equivalencias
se aprecia en el Listado 7.7.
Valor
Tipo Interfaz
1
Other
2
Regular1822
3
Hdh1822
4
Ddnx25
5
Rfc877x25
6
ethernetCsmacd
Tabla 3.2 Tipos de interfaces
Su OID es: 1.3.6.1.2.1.2.2.1.3
32
ifAdminStatus
Entrega el estado de la interfaz, definido por el administrador, el
estado puede ser:
1: up (Administrativamente habilitada)
2: down (Administrativamente deshabilitada)
3: testing (Se están realizando pruebas)
Su OID es: 1.3.6.1.2.1.2.2.1.7
ifOperStatus
Entrega el estado de operación de la interfaz, estos estados pueden
ser:
1: up
2: down
3: Testing
4: unknown
5: dormant
6: notPresent
7: lowerLayerDown
El estado “testing(3)” es de prueba definido por ifAdminStatus. Si
ifAdminStatus es “down(2)” entonces ifOperStatus debe ser “down(2)”. Si
ifAdminStatus cambia a “up(1)” entonces ifOperStatus debe ser “up(1)”. Si
el componente de hardware no esta instalado, debe permanecer como
“notPresent(6)”
Su OID es: 1.3.6.1.2.1.2.2.1.8
33
ifInOctets
Es el número total de Octetos (bytes) recibidos por la interfaz.
Su OID es: 1.3.6.1.2.1.2.2.1.10
ifOutOctets
Es el número total de Octetos (bytes) que se transmiten por la
interfaz.
Su OID es: 1.3.6.1.2.1.2.2.1.16
ifSpeed
Representa una estimación del ancho de banda de la interfaz, para
interfaces donde no varía el ancho de banda. Este objeto representa el
ancho de banda nominal [bit/seg].
Su OID es: 1.3.6.1.2.1.2.2.1.5
3.4.2 OLD-CISCO-CPU-MIB
avgBusy5
Es el promedio porcentual de ocupación de la CPU en 5 minutos.
Su OID es: 1.3.6.1.4.1.9.2.1.58
34
3.4.3 CISCO-VTP-MIB
vtpVlanName
Entrega el nombre de las VLAN.
Su OID es: 1.3.6.1.4.1.9.9.46.1.3.1.1.4
3.4.4 Q-BRIDGE-MIB
dot1qVlanStaticName
Entrega la cadena de texto que describe a la VLAN.
Su OID es: 1.3.6.1.2.1.17.7.1.4.3.1.1
3.4.5 MPLS-VPN-MIB
mplsVpnConfiguredVrfs
Numero de VRF’s configuradas en el dispositivo.
Su OID es: 1.3.6.1.3.118.1.1.1
35
3.4.6 ENTITY-MIB
entPhysicalClass
Entrega el hardware especifico del equipo, este valor debe ser
comparado en el Listado 3.4.
1:other
2:unknown
3:chassis
4:backplane
5:container
6:powerSupply
7:fan
8:sensor
9:module
10:port
11:stack
12:cpu
Listado 3.4 Características de hardware
Su OID es: 1.3.6.1.2.1.47.1.1.1.1.5
36
CAPÍTULO 4 CAPTURA
En el presente Capítulo se presentará como se realizó la captura,
que servidor se ocupó, como se logró automatizar el proceso y que
indicadores se consultaron.
Para las consultas se analizan las alternativas de lenguajes. Se
busca uno que posea la capacidad de trabajar con cadenas de texto y
archivos de texto de forma rápida, que posea una variedad de módulos,
entre ellos uno para consultas SNMP. La elección fue Perl (ver Tabla 4.1).
PERL v/s …
Comentarios
Perl puede ser más lento que C, debido a la cantidad de
memoria necesaria para poder cargar el intérprete de
C
comandos, pero posee mayor flexibilidad en el lenguaje,
variedad de bibliotecas y soporte orientado a objetos que
lo hace más robusto.
Para tareas pequeñas sh es muy eficiente, pero a
Sh
medida que el problema se hace más compleja sh hace
notar sus limitaciones.
Python no posee la cantidad de módulos de desarrollo
Python
que posee Perl, pero es la competencia directa más
fuerte que posee.
Tabla 4.1 Comparación Perl y otros lenguajes de programación
37
4.1 PREPARACIÓN DEL SERVIDOR
Se trabajó sobre un equipo IBM, que posee las características de la
Tabla 4.2.
Característica
Valor
Marca
IBM
Procesador
Pentium III de 550 MHz
Memoria RAM
256MB
Disco Duro
8GB
Interfaz de red
Sistema Operativo
o 3Com Corporation - 100BaseTX
o Intel Ethernet Pro 100
Debian version 3.1
Tabla 4.2 Características del equipo de captura
Sobre el equipo se instalaron los siguientes módulos PERL. El
proceso de instalación básico se ve en el Listado 4.1.
⇒ Net::SNMP
Object oriented interface to SNMP
Net-SNMP-5.2.0 - 20 Oct 2005 - David M. Town
⇒ Net::Ping
check a remote host for reachability
Net-Ping-2.31 - 28 Jun 2003 - Rob Brown
⇒ Date::Handler
Easy but complete date object (1.1)
Date-Handler-1.2 - 11 Nov 2004 - Benoit Beausejour
38
⇒ Math::Complex
complex numbers and associated mathematical functions
Math-Complex-1.36 - 04 Jul 2006 - Jarkko Hietaniemi
⇒ Spreadsheet::WriteExcel
Write to a cross-platform Excel binary file.
Spreadsheet-WriteExcel-2.17 - 21 May 2006 - John McNamara
⇒ CGI
Simple Common Gateway Interface Class
CGI.pm-3.20 - 23 Apr 2006 - Lincoln D. Stein
El Modulo NET: SNMP es el que realiza las consultas SNMP a lo
equipos, NET::Ping y Date::Handler son herramientas para optimizar el
proceso, el modulo CGI es para desplegar los resultados en una Web.
1) Extraer
gtar -zxvf Net-Ping-xxxx.tar.gz
cd Net-Ping-xxxx
2) Compilar
make realclean
perl Makefile.PL
make
make test
3) Instalar
make install
Listado 4.1 Instalación de los módulos Perl
Luego de instalar los módulos se configuran las interfaces para
poder instalar el servidor Capturador en el lugar definitivo. Las interfaces
39
se configuran editando el archivo “etc/network/interfaces” (Ver Listado
4.2)
ginna:~/humberto/web# vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 200.9.151.173
netmask 255.255.255.192
network 200.9.151.128
broadcast 200.9.151.191
gateway 200.9.151.151
auto eth1
iface eth1 inet static
address 91.0.7.195
netmask 255.0.0.0
network 91.0.0.0
broadcast 91.255.255.255
up route add -net 172.31.0.0 netmask 255.255.0.0 gw 200.9.151.140 dev eth0
Listado 4.2 Configuración interfaces capturador
Una vez instalado el Servidor Capturador, la administración se
realizó por medio del Software SSh Secure Shell Client, Figura 4.1.
40
Figura 4.1 SSH Secure Shell client
4.2 ESTRUCTURA DEL CAPTURADOR
El Capturador representa al sistema NMS del Protocolo SNMP. Este
realiza las consultas a los equipos en las Plataformas (ver Figura 4.2).
41
Figura 4.2 Relación del capturador y las plataformas
La herramienta de captura se estructura según la Figura 4.3.
Figura 4.3 Estructura del capturador
42
En la Figura 4.3 se ven los archivos que forman al Capturador. Estos
archivos se clasifican según la función que realizan. Además se generan
para cada Plataforma reemplazando la palabra “PLATAFORMA” por el
nombre de ésta.
Se clasifican en: Entrada, Salida y Proceso.
4.2.2 Entrada
En este grupo de archivos se ingresan datos para el proceso de
captura. Se compone de:
Archivo infoPLATAFORMA.txt
Tiene el listado de todos los equipos de la plataforma. Es un archivo
de texto de entrada, posee el siguiente formato:
“IP;COMUNIDAD;NOMBRE;NODO”
Las características de cada parámetro se ven en la Tabla 4.3.
43
Parámetro
Descripción
IP
Dirección del equipo a consultar
Comunidad
Contraseña del protocolo SNMP
Alias del equipo normalizado para el
Capturador.
Nombre
caracteres
Los
del
primeros
nombre
dan
4
la
ubicación del equipo. El nombre
“CL01SMASWT02” se ubica en la
primera región del país.
Nodo
Se
refiere
al
lugar
donde
se
encuentra el equipo
Tabla 4.3 Parámetros del archivo infoPLATAFORMA.txt
En el Listado 4.3 se ve una sección del archivo, con información de
equipos reales.
172.31.129.90;chsatMPLS;CL01SMASWT02;IQUIQUE
172.31.129.123;chsatMPLS;CL01ZOFSWT01;ZOFRI IQUIQUE
172.31.129.67;chsatMPLS;CL02ABASWT01;CALAMA
172.31.129.186;chsatMPLS;CL02ABASWT02;CALAMA
Listado 4.3 Sección del archivo infoPLATAFORMA.txt
4.2.3 Proceso
Grupo de archivos que implementan el motor del Capturador. Estos
archivos cargan los parámetros de archivo de entrada, generan las
consultas SNMP, reciben la información de los indicadores y generan los
archivos de salida.
♦ principalPLATAFORMA.pl
44
♦ PLATAFORMA.pm
A continuación se describen ambos archivos.
Archivo principalPLATAFORMA.pl
El
archivo
carga
los
parámetros
de
entrada,
extraídos
de
“infoPLATAFRMA.txt”, además genera los archivos de salida y llama a las
funciones que obtienen los indicadores.
La creación de las variables y la carga de bibliotecas se realizan en el
Listado 4.4.
#Carga de bibliotecas
use lib('/root/humberto/snmp/Net-SNMP-5.2.0/lib');
use Switch; #Modulo de la Plataforma
use Net::Ping;
use Net::SNMP qw(oid_lex_sort);
#creación de variables
my $resultado1;
my $resultado2;
my $resultado3;
Listado 4.4 Carga de librerías del archivo principalPLATAFORMA.pl
Se crean los archivos de salida, tales como los LOG, los archivos de
datos (ver Listado 4.5) y se carga el archivo de entrada.
#Se crean los archivos LOG y se llenan sin reemplazar su contenido.
open ( LOG, ">>/root/humberto/snmp/infoswitch.log")||die "No se puedo abrir el archivo de log";
open ( LOGS, ">>/root/humberto/snmp/infoswitchS.log")||die "No se puedo abrir el archivo de log";
#imprimir fecha y hora en el LOG
45
print LOG entrega_fecha_hora().":Inicio Consultas\n" ;
print LOGS entrega_fecha_hora().":Inicio Consultas\n" ;
#Se generan archivos de salida de datos
open(ARCHIVO1, ">/home/capacity/capturas/DATO-SWITCH.txt") || die "No se pudo abrir el archivo de
salida";
open(ARCHIVO2, ">/home/capacity/historico/DATO-SWITCH.txt.".entrega_fecha()) || die "No se pudo abrir
el archivo de salida";
#Carga de archive entrada
open(ARCHIVOLEC1, "/root/humberto/snmp/infoswitch.txt")|| die "No se pudo abrir el archivo de entrada";
Listado 4.5 Cargar archivos de entrada y salida
El proceso de consulta realiza una lectura de una línea del archivo
infoPLATAFORMA.txt, luego la divide en cada uno de los elementos que se
encuentra separados por “;”.
Después se realiza una revisión al equipo para ver si es válido para
comenzar con las consultas sobre él. Esta revisión consiste un ping al
equipo, para determinar si se encuentra online, y de una consulta SNMP
para verificar la validez de la comunidad (ver Listado 4.6). Si cumple con
esos requisitos se puede comenzar la consulta. El inicio de la sesión SNMP
se analiza en la sección 4.3.2.
while($linea = <ARCHIVOLEC1>) #lee línea archivo entrada
{
chomp($linea);
@datos = split(/;/, $linea);
#divido la línea en sus parámetros
my $p = Net::Ping->new("icmp"); #genera una consulta icmp
if ($p->ping($datos[0])) { #realizo un ping ip
#si es valido, consulto un objeto MIB
my ($session, $error) = Net::SNMP->session(
-hostname => $datos[0],
-community => $datos[1],
46
-port
=> 161
);
my $comprobar='1.3.6.1.2.1.2.1.0';
my $result = $session->get_request( -varbindlist => [$comprobar] );
if(!defined($result)) {
print LOG "ERROR: Equipo no compatible: ".$datos[0]."\n";
print LOGS "ERROR: Equipo no compatible: ".$datos[0]."\n";
$session->close;
} else {
#inicio de consulta de indicadores
}
Listado 4.6 Comprobar equipo antes de iniciar consultas
Las consultas de los indicadores se inician en el Listado 4.7, estos
indicadores dependen de la “PLATAFORMA”. Estas consultas llaman a
funciones que se
encuentran en el modulo “Switch” del archivo
“Switch.pm”
#Llamada a los indicadores
$resultado= &Switch::switchpuertas($datos[0],$datos[1],$datos[2]);
print ARCHIVO1 $resultado;
print ARCHIVO2 $resultado;
$resultado1 = &Switch::consultaCPUswitch($datos[0],$datos[1],$datos[2]);
print ARCHIVO1 $resultado1;
print ARCHIVO2 $resultado1;
$resultado2 = &Switch::consultaVLANsnmp($datos[0],$datos[1],$datos[2]);
print ARCHIVO1 $resultado2;
print ARCHIVO2 $resultado2;
$resultado3=&Switch::consultaBWswitch($datos[0],$datos[1],$datos[2]);
print ARCHIVO1 $resultado3;
47
print ARCHIVO2 $resultado3;
Listado 4.7 Llamada a la función de captura de cada indicador
Archivo PLATAFORMA.pm
En este archivo se encuentran las funciones de consulta para cada
uno de los indicadores. Estas funciones son llamadas del archivo
“principalPLATAFORMA.pl”
El archivo posee un formato de generación del módulo, dado en la
primera línea del Listado 4.8, luego la carga de las bibliotecas necesarias
para las consultas.
package Switch; #generar modulo Switch
#carga de librerias
use strict;
use lib('/root/humberto/snmp/Net-SNMP-5.2.0/lib');
use Net::SNMP qw(oid_lex_sort);
Listado 4.8 Inicio del archivo PLATAFORMA.pm
La siguiente sección del archivo son las funciones, se crean para la
captura de los indicadores, en las funciones se comienza con la creación
de los LOG, luego con la extracción de los parámetros dados en la llamada
función ($direccion, $comunidad, $nombre) (Ver Listado 4.9).
sub consultaCPUswitch()
{
#Abre el archivo de log del sistema.
open (LOG, ">>/root/humberto/snmp/infoswitch.log")||die "No se puedo abrir el archivo de log";
open (LOGS, ">>/root/humberto/snmp/infoswitchS.log")||die "No se puedo abrir el archivo de log";
#extraer direccion IP y comunidad
48
my ($direccion,$comunidad,$nombre)=@_;
Listado 4.9 Inicio de la consulta de un indicador
La consulta de cada uno de los indicadores, desde la conexión SNMP
hasta el procesamiento de los OID se desarrolló en la Sección 4.3
Finalmente se cierra la sesión SNMP y los archivos LOG
Se
retorna
la
respuesta
de
la
consulta
al
archivo
“principalPLATAFORMA.pl” (ver Listado 4.10)
$session->close;
my $fecha_actual=entrega_fecha();
close(LOG);
close(LOGS);
#retornar respuesta de la consulta.
return $nombreswitch.";12;Ocupacion de CPU;".$porcentajeusoCPU.";100;0;0;".$fecha_actual.";0;0;4;
SWITCHES\n";
Listado 4.10 Respuesta del módulo de consulta
4.2.4 Salida
Grupo de archivos generados por los archivos de proceso, estos
archivos almacenan los resultados de las consultas y los detalles de ésta.
Los archivos de salida son:
♦ infoPLATAFORMA.log
♦ infoPLATAFORMAS.log
♦ DATO-PLATAFORMA.txt
49
♦ DATO-PLATAFORMA.txt.dd.mm.aaaa
A continuación se describen los archivos:
Archivo infoPLATAFORMA.log
Se almacenan los detalles de las consultas, tales como:
•
No hay respuesta del ping.
•
No hay respuesta SNMP
•
Inicio de consultas
•
Término de consultas.
Este archivo se va llenando semanalmente con los detalles de todas
las consultas. Una sección del archivo se ve en el Listado 4.11.
26-5-2006 8:37:15:Inicio Consultas
ERROR: No hay respuesta PING del equipo: 172.31.129.67
ERROR: No hay respuesta PING del equipo: 192.168.40.140
ERROR: No hay respuesta PING del equipo: 172.31.129.21
ERROR: No hay respuesta PING del equipo: 192.168.50.235
ERROR: Equipo no compatible: 172.31.129.131
ERROR: Equipo no compatible: 172.31.129.34
ERROR: No hay respuesta PING del equipo: 192.168.50.109
ERROR: No hay respuesta PING del equipo: 192.168.100.165
ERROR: Equipo no compatible: 192.168.50.200
ERROR: Equipo no compatible: 192.168.50.190
ERROR: Equipo no compatible: 192.168.50.26
ERROR: Equipo no compatible: 172.31.129.210
26-5-2006 8:56:26:Termino Consultas
#################################################################
Listado 4.11 Detalles del archivo infoPLATAFORMA.log
50
Archivo infoPLATAFORMAS.log
Este archivo LOG, posee la misma información que el archivo LOG
anterior, pero sólo almacena la información de la última semana.
Archivo DATO-PLATAFORMA.txt
Principal archivo de salida, su formato fue requerido por la empresa:
ALIAS;ID;DESCRIPCION;OC;MAX;ID1;ID2;FECHA;ID3;ID4;ID_PLA;PLA
La descripción de los parámetros es:
ALIAS: Nombre normalizado del equipo, posee la característica de entregar
la región en la que se encuentra en los primeros cuatro caracteres. Por
ejemplo CL01APRSWT01, pertenece a la primera región.
ID: Numero que define al indicador a capturar (ver Tabla 4.4)
DESCRIPCION: Cadena de texto que describe el identificador (ver Tabla
4.4)
51
ID
DESCRIPCIÓN
8
Slot Disponibles
10
Cantidad de VLAN
12
Ocupación de CPU
13
Puertas Ocupadas
13
Ancho de Banda
15
Cantidad de VRF
16
Cantidad de Sub-Interfaces
23
Puertas Fast Ethernet Ocupadas
24
Puertas GIGA Ocupadas
25
Puertas IMA Ocupadas
26
Puertas POS Ocupadas
27
Puertas Serial Ocupadas
28
Puertas WAN Ocupadas
31
Puertas HSSI Ocupadas
Tabla 4.4 ID de identificadores
OC: Ocupación del indicador
MAX: Máximo valor de ocupación del indicador.
ID1, ID2, ID3, ID4: Valores requeridos por la empresa para uso privado.
FECHA: Se entrega la fecha y la hora de captura del indicador. Tiene el
formato “dd-mm-aaaa hh-mm-ss”.
ID_PLA: Identificador numérico que define a una Plataforma (ver Tabla
4.5)
52
PLA: Nombre de la Plataforma en la cual se capturó el identificador (ver
Tabla 4.5)
ID_PLA
PLA
1
DSLAM
4
SWITCHES
2
IP-MPLS
Tabla 4.5 ID de plataforma
En el Listado 4.12 se ve una sección del archivo de Captura para la
Plataforma SWITCHES.
CL01APRSWT01;13;Puertas Ocupadas;16;26;0;0;28-05-2006 01:00:06;0;0;4;SWITCHES
CL01APRSWT01;23;Puertas Ocupadas Ethernet;16;24;0;0;28-05-2006 01:00:06;0;0;4;SWITCHES
CL01APRSWT01;24;Puertas Ocupadas GIGA;0;2;0;0;28-05-2006 01:00:06;0;0;4;SWITCHES
CL01APRSWT01;12;Ocupacion de CPU;1;100;0;0;28-05-2006 01:00:06;0;0;4;SWITCHES
CL01APRSWT01;10;Cantidad de VLANs;43;1000;0;0;28-05-2006 01:00:08;0;0;4;SWITCHES
CL01APRSWT01;7;Ocupacion de BW en la troncal kbps;493;100000;0;0;28-05-2006
01:00:14;0;0;4;SWITCHES
CL01APRSWT01;18;Troncal Configurado Mbps;100;100;0;0;28-05-2006 01:00:14;0;0;4;SWITCHES
Listado 4.12 Formato del archivo DATO-PLATAFORMA.txt
Archivo DATO-PLATAFORMA.dd.mm.aaaa.txt
Este archivo de salida contiene el mismo formato que el archivo de
captura anterior, pero cambia el nombre del archivo debido a que éste es
un archivo de respaldo histórico de los datos capturados a esa fecha.
53
4.3 OBTENER INDICADORES DE LOS EQUIPOS
La captura de indicadores se realiza con un servidor Debian, que se
comunica con los equipos a través del Protocolo de administración SNMP
que es manejado por el modulo NET::SNMP de Perl.
Los indicadores a Capturar se presentan en la Tabla 4.6. Algunos
métodos de captura son independientes de las Plataformas y la marca de
los equipos. Por lo tanto, se describirá como se han capturado cada uno de
los indicadores y para qué Plataformas es valido el proceso.
Indicadores
Comentarios
Nombre del Equipo
Cadena de texto que identifica al equipo.
Se utilizan distintos criterios para saber
Ocupación Interfaces
si
una
interfaz
está
ocupada
o
disponible. Método distinto para cada
Plataforma
Numero VLAN
Cantidad de Redes Virtuales creadas.
Porcentaje de ocupación del Procesador,
CPU
fue
requerido
por
la
empresa
para
algunas Plataformas.
Slot
Sub-Interfaces
VRF
Ancho de Banda
Cantidad
de
Slot
Ocupados
en
la
Plataforma IP-MPLS
Sólo para la Plataforma IP-MPLS
Sólo para la Plataforma IP-MPLS, fue
requerido por la empresa.
Fue requerido por la Empresa.
Tabla 4.6 Indicadores a capturar
54
4.3.2 Conectarse al equipo
Se realiza la conexión al equipo gracias al modulo de Perl Net::SNMP,
el cual es llamado al comienzo de los script (ver Listado 4.13)
use Net::SNMP #Se usa el modulo NET::SNMP
#Inicia sesion
my ($session, $error) = Net::SNMP->session(
-hostname => $direccion
,
-community => $comunidad,
#Comunidad del dispositivo
-port
#IP del dispositivo a consultar
=> 161,
);
#Ver si la sesión fue abierta
if (!defined($session)) {
#si la session falla, se gusrda el error en un log y se cierra session.
print LOGS "ERROR: Session Puertas IP: ".$direccion."\n";
$session->close;
close(LOGS);
return ;
}
else
{
#Comienzan las consultas de los Indicadores
}
Listado 4.13 Iniciar sesión SNMP
Luego de llamar al modulo SNMP (Listado 4.13) se inicia la sesión
SNMP, usando la IP y la comunidad del dispositivo a consultar. Si la
comunidad es valida se inicia la sesión sin problemas y se puede comenzar
a consultar los indicadores, pero si es errónea falla la confirmación y se
almacena el error en un LOG para luego cerrar la sesión.
55
4.3.3 Determinar el nombre del equipo
El Nombre del equipo lo da la MIB-II (RFC1213), definido en el
Objeto “sysName”. La consulta de este indicador se ve en el Listado 4.14.
#Consultar Nombre del equipo “SysName”
my $nameSyS ='1.3.6.1.2.1.1.5.0'; #OID que define el objeto sysname
my $result1 = $session->get_request( #realizo la consulta, GET del OID anterior
-varbindlist => [$nameSyS]
);
if (!defined($result1)) { #si no entrega respuesta el OID, entregaa un error en el LOG
print LOGS "ERROR: Consulta Nombre IP: ".$direccion."\n";
$session->close;
return;
}
my $nombreSyS=$result1->{$nameSyS}; #se almacena el nombre del equipo en la variable $nombreSyS
Listado 4.14 Consultar nombre del equipo
Se ingresa en OID a consultar en una variable, luego se ejecuta la
función “get_request”, representa el comando GET del Protocolo SNMP. A
esta función se le da el OID como parámetro de entrada. Se realiza
entonces la consulta del OID en la sesión SNMP ya creada con
anterioridad en el Script.
Si la respuesta de la función “get_request” no está definida, se
almacena un error en el archivo LOG y se cierra la sesión SNMP con el
equipo.
Si da una respuesta válida, se almacena el nombre en la variable
“$nombreSyS”.
56
4.3.4 Ocupación de interfaces
Este indicador posee criterios, para decidir si una interfaz está
ocupada o disponible. Además influye el tipo de interfaz presente. Estos
parámetros son distintos para cada plataforma.
4.3.4.1 DSLAM
Una interfaz está ocupada si tiene asociada una VLAN, como se ve
en la Figura 4.4.
Figura 4.4 Ocupación puertas en equipos DSLAM
En la Figura 4.4, hay 5 interfaces ocupadas. Para realizar este
análisis por medio de consultas SNMP se identifican las VLAN y se asocian
al puerto que pertenecen.
En el Listado 4.15 se obtienen los ID de las VLAN. Se consulta el
OID '1.3.6.1.2.1.17.7.1.4.3.1.1' (dot1qVlanStaticName) que entrega string
que contienen el ID de las VLAN creadas, para diferenciar los ID de las
57
VLAN se debe convertir el string en vector y seleccionar el elemento que
identifica la VLAN. Todos los ID de las VLAN son almacenados en el vector
“@NumeroV”.
#OBTENGO NUMERO DE VLAN VALIDAS!
my $ifIndex='1.3.6.1.2.1.17.7.1.4.3.1.1';
my $result;
my @inter;
$result = $session->get_table(-baseoid => $ifIndex);
if(!defined($result)) {
print LOG "ERROR: Descripcion VLAN IP: ".$direccion."\n";
close(LOG);
print LOGS "ERROR: Descripcion VLAN IP: ".$direccion."\n";
close(LOGS);
$session->close;
return ;
}
my $contadorVLANS=0;
foreach my $oid (oid_lex_sort(keys(%{$result}))) {
#print $oid."\n";
@oids = split(/\./ , $oid );
push(@NumeroV,$oids[13]);push(@NumeroV, 1 );
#print $oids[13]."\n";
$contadorVLANS++;
}
Listado 4.15 Obtener el ID de las VLAN
Luego se consultan las interfaces, para ver los ID de VLAN que
tienen asociadas. El ID de VLAN de cada interfaz se compara con el vector
que contiene los ID de VLAN creadas en el equipo. Si estos coinciden, se
activa una variable indicando que esa puerta posiblemente está ocupada.
58
La puerta está ocupada si además se encuentra administrativamente
habilitado (Ver Listado 4.16)
#BUSCO PUERTAS COMPARANDO CON VLAN
#inicializo variables
my $interf=1;
my $puertasVLAN=0;
my $interfaces=1;
while( $interfaces <= 8) { #Consulto las 8 interfaces
my $sensor=0;
my $vlanes ='1.3.6.1.4.1.890.1.5.14.2.1.3.'.$interfaces;
#OID Entrega las VLAN de la $Interfaces
$result = $session->get_table(-baseoid => $vlanes); #Consulto la lista de VLAN por interfaz
if(!defined($result)) {
}
else{
foreach my $oid (oid_lex_sort(keys(%{$result}))){ #ordeno la lista de VLAN
my $result1 = $session->get_request(
-varbindlist => [$oid]
);
my $valor1 = $result1->{$oid}; #respuesta del OID
#Comparo el ID VLAN con las ID VLAN creados
foreach $VV (@NumeroV){
if ($valor1 == $VV ){ $sensor=1; }
}
}
}
#REVISO si la interfaz esta habilitada por el administrador, para asi asegurar que se encuentra ocupada.
if ( $sensor == 1) {
my $ifadmin='1.3.6.1.2.1.2.2.1.7.'.$interfaces; #OID IfAdminStatus
my $resultaa = $session->get_request(
-varbindlist => [$ifadmin]
59
);
if (!defined($resultaa)) {
print LOG "ERROR: Consulta Interfaz Admin: ".$direccion."\n";
print LOGS "ERROR: Consulta Interfaz Admin: ".$direccion."\n";
$session->close;
close (LOG);
close (LOGS);
return ;
}
$aa=$resultaa->{$ifadmin};
if ($aa == 1){$puertasVLAN++; }
}
$interfaces++;
}
Listado 4.16 Interfaces con ID de VLAN validas
4.3.4.2 Switches
La ocupación de las puertas en esta Plataforma está definida por
una
función lógica: si se encuentra administrativamente habilitada y
operacionalmente activa, entonces la interfaz está ocupada. Para todos los
otros casos, tenemos una interfaz disponible. Por ejemplo, las conexiones
destacadas en la Figura 4.5 se encuentran ocupadas.
60
Figura 4.5 Interfaces lógicamente ocupadas
En la Figura 4.5 se ven las interfaces ocupadas, pero sólo para un
tipo de interfaz, en esta plataforma se debe diferenciar el tipo de interfaz.
La diferencia del tipo de interfaz se realiza por medio de un filtro en
la descripción de las interfaces.
Se obtiene el índice de las interfaces del equipo, almacenándolo en el
vector “@if_indexes” (Ver Listado 4.17).
#Determina el index de las interfaces y lo coloca dentro de un arreglo.
my $ifIndex='1.3.6.1.2.1.2.2.1.1';
my $contador=0;
my @if_indexes;
my $result;
$result = $session->get_table(-baseoid => $ifIndex); #Obtengo las lista de OID que entregan el index
if(!defined($result)) {
#para cada una de las interfaces
print LOG "ERROR: Session Index Intreface IP: ".$direccion."\n";
print LOGS "ERROR: Session Index Intreface IP: ".$direccion."\n";
$session->close;
close(LOG);
close(LOGS);
return ;
}
#a cada OID le pido el Index y lo almaceno ene l vector @if_indexes
61
foreach my $oid (oid_lex_sort(keys(%{$result}))) {
push(@if_indexes,$result->{$oid});
}
Listado 4.17 Obtener el index de las Interfaces (ifIndex)
Se consulta el índice de las interfaces, porque en el desarrollo del
script se comprobó que no necesariamente son números continuos.
Con el ifIndex almacenado en un vector, se consulta ifAdminStatus e
ifOperStatus, los resultados se almacenan en variables según el tipo de
interfaz (ver Listado 4.18).
#INICIALIZAR VARIABLES
my $aa=0;my $bb=0;
my $pETH = 0 ;my $pGIGA = 0 ;my $pLRE = 0 ;
my $tETH = 0 ;my $tGIGA = 0 ;my $tLRE = 0 ;
my $pOCUPADAS=0;
my $pTOTALES=0;
my $hayETH0 = 0; my $hayGIGA = 0; my $hayLRE = 0;
#ANALIZO CADA INTERFAZ, POR EL INDEX
foreach (@if_indexes){
my $ifadmin='1.3.6.1.2.1.2.2.1.7.'.$_; #OID ifAdminStatus
my $ifoper='1.3.6.1.2.1.2.2.1.8.'.$_; #OID ifOperStatus
#CONSULTO EL ESTADO DE LA INTERFAZ (IFOPERSTATUS e IFADMINSTATUS)!!!
my $resultaa = $session->get_request(
-varbindlist => [$ifadmin]
);
if (!defined($resultaa)) {
print LOG "ERROR: Consulta Interfaz Admin: ".$direccion."\n";
print LOGS "ERROR: Consulta Interfaz Admin: ".$direccion."\n";
62
$session->close;
close (LOG);
close (LOGS);
return ;
}
$aa=$resultaa->{$ifadmin};
my $resultbb = $session->get_request(
-varbindlist => [$ifoper]
);
if (!defined($resultbb)) {
print LOG "ERROR: Consulta Interfaz Operativa: ".$direccion."\n";
print LOGS "ERROR: Consulta Interfaz Operativa: ".$direccion."\n";
$session->close;
close (LOG);
close (LOGS);
return ;
}
$bb=$resultbb->{$ifoper};
Listado 4.18 Obtener ifOperStatus e IfAdminStatus
El tipo de interfaz se obtiene preguntando la descripción (ifDescr) y
revisando si es igual a los tipos existente (ver Tabla 4.7). Este
procedimiento se ve en el Listado 4.19.
# DESCRIPCION INTERFACES!#########################
my $ifdescr='1.3.6.1.2.1.2.2.1.2.'.$_; #OID descripcion if
my $resultcc = $session->get_request(
-varbindlist => [$ifdescr]
63
);
if (!defined($resultcc)) {
print LOG "ERROR: Consulta Interfaz Descripcion: ".$direccion."\n";
print LOGS "ERROR: Consulta Interfaz Descripcion: ".$direccion."\n";
$session->close;
close (LOG);
close (LOGS);
return ;
}
my
$cc=$resultcc->{$ifdescr};
#tipos de interfaz
# FastEthernet
# GigabitEthernet
# Nortel Networks Business Policy Switch 2000 Ethernet Switch Module
# 10/100 utp ethernet
# LongReachEthernet0
#print LOGS $cc." --> ".$direccion."\n";
###############################################
#SE realiza el MATCH para clasificar la Ocupación según tipo de interfaz.
#################################################
if ( $cc =~ /^FastEthernet/i || $cc =~ /^10\/100 utp ethernet/i || $cc =~ /^Nortel Networks Business
Policy Switch 2000 Ethernet Switch Module/i){
if ( $aa == 1 && $bb == 1) { $pETH++; } #Comparacion logica para ver ocupacion deñ
$tETH++;
$hayETH0 = 1;
}
if ( $cc =~ /^GigabitEthernet/i ){
if ( $aa == 1 && $bb == 1) { $pGIGA++; }
$tGIGA++;
$hayGIGA = 1;
}
if ( $cc =~ /^LongReachEthernet/i ){
if ( $aa == 1 && $bb == 1) { $pLRE++; }
$tLRE++;
#tipo de interfaz (Fast Ethernet)
64
$hayLRE = 1;
}
Listado 4.19 Ocupación según tipo de interfaces
Finalmente, la ocupación de puertas se obtiene de la comparación
lógica entre ifAdminStatus e ifOperStatus, y es almacenado en las
variables “$pETH” y “$pGIGA”.
4.3.4.3 IP-MPLS
La ocupación de interfaces en la Plataforma IP-MPLS se hace en forma
independiente para cada tipo de interfaz. Se consideran las interfaces para
el desarrollo del proyecto: fast ethernet y GIGA, pero además se requiere
identificar las otras interfaces presentes (ver Tabla 4.7).
65
Interfaz
ATM/IMA
SERIAL
WAN
Descripción
Modo de Transferencia Asíncrona, la información se
envía en celdas ATM.
Interfaz
E1
(Formato
de
transmisión
digital
a
2048*10^6 [bps])
Interfaz diseñada para conectar WAN (redes de área
amplia)
GIGA
Interfaces GBIC
Fast Ethernet
Interfaces Ethernet de 100Mbps
POS
Interfaz de fibra óptica. (Packet over SONET)
Interfaz en serie de alta velocidad. Estándar para una
HSSI
conexión en serie con velocidades de transmisión de
hasta 52 Mbps
Tabla 4.7 Tipos interfaces IP-MPLS
Como son equipos de transmisión críticos para la empresa, su
administración por parte de los operadores es más cuidadosa.
En estos equipos, una interfaz se considera ocupada cuando
ifAdminStatus es 1.
Luego de obtener el index de las interfaces, se comienza a analizar
cada una de ellas. Se consulta ifType, ifDescr e ifAdminStatus, estos
resultados se almacenan en variables (ver Tabla 4.8).
66
Objeto MIB
Variable
ifType
$tipo_inter
ifDescr
$string
ifAtminStatus
$valor
Tabla 4.8 Variables Interfaces IP-MPLS
Cada tipo de interfaz posee características distintas, para identificarla
se usa una de las variables anteriores y se realizan filtros.
Interfaces ATM/IMA: Estas poseen un ifType igual a 19 o 107 (ver Listado
4.20).
if ( $tipo_inter == 19 || $tipo_inter == 107) {
$tipo_IMA++;
$hay_tipo_IMA++;
#print "IMA tipo 107 y 107: ".$tipo_inter."
".$string."\n";
}
if ( $tipo_inter == 37 && $string !~ /-/) {
$tipo_IMA++;
$hay_tipo_IMA++;
#print "IMA tipo 37 y descr sin - : ".$tipo_inter."
".$string."\n";
}
Listado 4.20 Capturar interfaces IMA
Interfaces serial: Se consulta ifDescr, esta debe decir “Serial” (ver Listado
4.21).
if ( $string =~ /^Serial/ && $string !~ /[.]/ ){
$tipo_SERIAL++;
$hay_tipo_SERIAL++;
67
#print "SERIAL sin punto: ".$tipo_inter."
".$string."\n";
}
Listado 4.21 Capturar interfaces serial
Interfaces WAN: Poseen un ifType igual a 6, como todas las interfaces
ethernet, por lo tanto se debe diferenciar por la descripción. En ifDescr
debe decir “GE-WAN” (ver Listado 4.22).
if ( $tipo_inter == 6 && $string =~ /^GE-WAN/ && $string !~ /-.-/ ) {
$tipo_WAN++;
$hay_tipo_WAN++;
#print "GEWAN sin 2 - : ".$tipo_inter."
".$string."\n";
}
Listado 4.22 Capturar Interfaces WAN
Interfaces GIGA: Se debe diferenciar por la descripción, ifDescr debe ser
igual al “GigabitEthernet” (ver Listado 4.23).
if ( $tipo_inter == 6 && $string =~ /^GigabitEthernet/ && $string !~ /[.]/ && $string !~ /-/
)
{
$tipo_GIGA++;
$hay_tipo_GIGA++;
#print "GIGA sin . ni - : ".$tipo_inter."
".$string."\n";
}
Listado 4.23 Capturar interfaces GIGA
Interfaces fast ethernet: Se diferencia por la descripción, ifDescr debe
decir “FastEthernet” o “Ethernet” (ver Listado 4.24).
68
if ( $tipo_inter == 6 && $string =~ /^FastEthernet/ &&
$string !~ /[.]/) {
$tipo_FastEth++;
$hay_tipo_FastEth++;
#print "Fast sin punto : ".$tipo_inter."
".$string."\n";
}
if ( $tipo_inter == 6 && $string =~ /^Ethernet/ &&
$string !~ /[.]/) {
$tipo_FastEth++;
$hay_tipo_FastEth++;
#print "Fast sin punto : ".$tipo_inter."
".$string."\n";
}
Listado 4.24 Capturar interfaces fast ethernet
Interfaces POS: Poseen un tipo definido, ifType debe ser igual a 171(ver
Listado 4.25).
if ( $tipo_inter == 171 ) {
$tipo_POS++;
$hay_tipo_POS++;
#print "POS tipo 171: ".$tipo_inter."
".$string."\n";
}
Listado 4.25 Capturar interfaces POS
69
Interfaces HSSI: La descripción (ifDescr) debe ser “Hssi” (ver Listado
4.26).
if ( $string =~ /^Hssi/ && $string !~ /[.]/ && $string !~ /-/ ){
$tipo_Hssi++;
$hay_tipo_Hssi++;
#print "Hssi: ".$tipo_Hssi."
".$string."\n";
}
Listado 4.26 Capturar interfaces HSSI
Identificadas las interfaces se realiza la consulta si están ocupadas o
no, esto es una consulta lógica. Si existe la interfaz y está habilitada por
ifAdminStatus, entonces está ocupada (ver Listado 4.27).
if($hay_tipo_IMA == 1 && $valor == 1 ) { $oc_IMA++; }
if($hay_tipo_SERIAL == 1 && $valor == 1 ) { $oc_SERIAL++; }
if($hay_tipo_WAN == 1 && $valor == 1 ) { $oc_WAN++; }
if($hay_tipo_GIGA == 1 && $valor == 1 ) { $oc_GIGA++; }
if($hay_tipo_FastEth == 1 && $valor == 1 ) { $oc_FastEth++; }
if($hay_tipo_POS == 1 && $valor == 1 ) { $oc_POS++; }
if($hay_tipo_Hssi == 1 && $valor == 1 ) { $oc_Hssi++; }
Listado 4.27 Contabilizar interfaces ocupadas
Así se obtiene la cantidad de puertas ocupadas en los equipos de la
Plataforma IP-MPLS.
70
4.3.5 Numero de VLAN
La cantidad de VLAN se captura para las Plataformas DSLAM y
SWITCHES. Ambas poseen MIB diferentes que entregan el resultado, la
función para obtener el número de VLAN es similar.
El OID entrega la lista de VLAN creadas en el equipo, devuelve una
lista con las VLAN y sus ID, y para obtener la cantidad se necesita un
contador para las filas de la lista.
4.3.5.1 DSLAM
Para obtener este indicador se utilizó la captura del indicador
“Puertas Ocupadas”. Al consultar las VLAN creadas para compararlas con
las VLAN presentes en las interfaces y ver la ocupación, se crea un
contador “$contadorVLANS” y cada vez que se revisa una VLAN, se
aumenta el contador. (Listado 4.15). El Zyxel IES-1000 soporta hasta 400
VLAN.
4.3.5.2 Switches
La cantidad de VLAN en esta Plataforma que se obtiene con un
contador (Listado 4.28), de igual manera que para los DSLAM. Los switch
Cisco soportan hasta 1005 VLAN.
my $CantidadVLAN='1.3.6.1.4.1.9.9.46.1.3.1.1.4'; #OID vtpVlanName
my $result;
#Se pide la Lista de VLAN
$result = $session->get_table(-baseoid => $CantidadVLAN);
71
if(!defined($result)) {
print LOG "ERROR: Consulta VLAN: ".$direccion."\n";
print LOGS "ERROR: Consulta VLAN: ".$direccion."\n";
$session->close;
close (LOG);
close (LOGS);
return ;
}
my $contadorVLAN=0; #Se inicializa el contador
foreach my $oid (oid_lex_sort(keys(%{$result}))) { #Recorre la lista de VLAN
$contadorVLAN++;
}
Listado 4.28 Cantidad VLAN en switches
4.3.6 CPU
Este indicador fue requerido como información adicional para ver la
carga de procesos en los equipos. Se obtiene para las Plataformas IP-MPLS
y SWITCHES.
La obtención es la misma para ambas plataformas, debido a que las
dos poseen la MIB donde se encuentra el indicador. El script de captura se
ve en Listado 4.29.
#Consultar CPU del Equipo
my $OIDporcentajeuso ='1.3.6.1.4.1.9.2.1.58.0'; #OID avgBusy5
my $result12 = $session->get_request(
-varbindlist => [$OIDporcentajeuso] #se pide la carga del CPU
);
if (!defined($result12)) {
print LOG "ERROR: Consulta CPU: ".$direccion."\n";
print LOGS "ERROR: Consulta CPU: ".$direccion."\n";
72
$session->close;
close (LOG);
close (LOGS);
return ;
}
my $porcentajeusoCPU=$result12->{$OIDporcentajeuso}; #se extrae la carga del CPU a la variable
Listado 4.29 Captura porcentaje ocupación del CPU
El script del Listado 4.29 no realiza análisis de las consultas, porque
la ocupación del CPU se encuentra inmediatamente al realizar GET
avgBusy5 básicamente.
4.3.7 Slot disponibles
Son contenedores, en los cuales se pueden agregar módulos. Fue
requerido para ver proyecciones de crecimiento en el mismo equipo. Si hay
Slot’s disponibles es mas rápido instalar módulos con las interfaces
necesarias que instalar un nuevo equipo.
Este indicador es requerido en la Plataforma IP-MPLS. Esta
información se captura utilizando la ENTITY-MIB
#Inicializar Variables
my $informacion='1.3.6.1.2.1.47.1.1.1.1.5';
my $container='5';
my $ncontainer='0';
my $modulo='9';
my $nmodulo='0';
#consulta OID
my $result = $session->get_table(-baseoid => $informacion);
if(!defined($result)) {
print LOG "ERROR: Session tipos SLOT: ".$direccion."\n";
print LOGS "ERROR: Session tipos SLOT: ".$direccion."\n";
$session->close;
73
close(LOG);
close(LOGS);
return ;
}
#Analizar la lista del OID consultado, buscando los Modulos y los Containers
foreach my $oid (oid_lex_sort(keys(%{$result}))) {
if($result->{$oid} == $container){$ncontainer++;}
if($result->{$oid} == $modulo){$nmodulo++;}
}
Listado 4.30 Captura slot disponibles en la plataforma IP-MPLS
En el Listado 4.30 se comienza creando la variable “$informacion”
con el OID entPhysicalClass. Para la obtención de los Slot disponibles es
necesario buscar la cantidad total de containers, y luego los módulos
instalados. Entonces los Slot’s disponibles son la resta de dos variables
consultadas.
4.3.8 Sub-Interfaces
Este indicador sólo se captura en la Plataforma IP-MPLS.
Su captura se realiza dentro de la consulta de Ocupación de Puertas,
en el ciclo donde se consulta cada una y se tiene las variables de la Tabla
4.8. Ahí se consulta si la interfaz es una Sub-Interfaz (Ver Listado 4.31)
if( $tipo_inter == 134 || $tipo_inter == 135 ){ $subinter++; }
if( $hay_tipo_SERIAL == 1 && $string =~ /[.]/ ) { $subinter++; }
Listado 4.31 Capturar sub-interfaces
74
Las Sub-Interfaces son del tipo (ifType) igual a 134 y 135. El numero
máximo depende del equipo, para los router Cisco 12008 es 4000 y para el
resto de los equipos es 1000 Sub-Interfaces.
4.3.9 Numero VRF’s
Fue requerido como Indicador a largo plazo, cuando se habiliten
otras plataformas, este indicador será necesario para otros servicios.
La captura del número de VRF creadas en los equipos de la
Plataforma IP-MPLS es parte de la MIB MPLS-VPN-MIB, por lo tanto la
captura es GET mplsVpnConfiguredVrfs. Esto se ve en el Listado 4.32.
my $OIDvrf ='1.3.6.1.3.118.1.1.1.0'; #OID mplsVpnConfiguredVrfs
my $result = $session->get_request(
-varbindlist => [$OIDvrf]
);
if (!defined($result)) {
print LOG "ERROR: Consulta vrf: ".$direccion."\n";
print LOGS "ERROR: Consulta vrf: ".$direccion."\n";
$session->close;
close (LOG);
close (LOGS);
return ;
}
my $nvrf=$result->{$OIDvrf}; #almaceno la variable de numero de VRF’s
Listado 4.32 Capturar VRF en la plataforma IP-MPLS
El script del Listado 4.32 almacena el numero de VRF’s en la
variable “$nvrf”. Los equipos soportan 1000 VRF’s.
75
4.3.10 Ancho de banda
Este indicador, no representa la ocupación de la troncal, debido a
que sólo es medido una vez por semana en horario de bajo tráfico.
El método de captura es aplicable a todas las plataformas, porque
usa Objetos de MIB que pertenecen a la MIB-II (RFC1213).
Los Objetos MIB con los cuales trabaja son:
ifInOctets: 1.3.6.1.2.1.2.2.1.10.9
ifOutOctets: 1.3.6.1.2.1.2.2.1.16.9
ifSpeed: 1.3.6.1.2.1.2.2.1.5.9
El proceso de cálculo se basa en buscar la cantidad de “octetos” de
entrada o salida que transitan por una interfaz en un intervalo de tiempo.
La velocidad configurada en la interfaz (máxima velocidad de transmisión)
se obtiene del Objeto de MIB ifspeed.
Finalmente se deben convertir las unidades, para obtener un
resultado en [Mbps].
76
El formato de la primera captura de “octetos” de entrada y de salida
se ve en el Listado 4.33, en el se definen las variables:
$bytesin1: Primera captura de ifInOctets
$bytesout1: Primera captura de ifOutOctets
my $octin='1.3.6.1.2.1.2.2.1.10.9';
my $octout='1.3.6.1.2.1.2.2.1.16.9';
#Preguntando por primera vez por los bytes de entrada
my $result20=$session->get_request(
-varbindlist => [$octin]
);
if (!defined($result20)) {
print LOG "ERROR: Consulta bit entrada 1 BW IP: ".$direccion."\n";
close(LOG);
print LOGS "ERROR: Consulta bit entrada 1 BW IP: ".$direccion."\n";
close(LOGS);
$session->close;
return ;
}
my $bytesin1=$result20->{$octin};
#
push(@Voctin1,$bytesin1);
#Preguntando por primera vez por los bytes de salida
my $result30=$session->get_request(
-varbindlist => [$octout]
);
if (!defined($result30)) {
print LOG "ERROR: Consulta bit salida 1 BW IP: ".$direccion."\n";
close(LOG);
print LOGS "ERROR: Consulta bit salida 1 BW IP: ".$direccion."\n";
close(LOGS);
$session->close;
return ;
77
}
my $bytesout1=$result30->{$octout};
Listado 4.33 Primera captura del ancho de banda
El tiempo de espera se define en la variable “$deltaT”, luego de eso se
vuelve a consultar los Objetos MIB (Listado 4.34) necesarios para obtener
la cantidad de bytes que transitan por la interfaz en el periodo “$deltaT”.
Las variables definidas y capturadas en el Listado 4.34 son:
$bytesin2: Segunda captura ifInOctets
$bytesout2: Segunda captura ifOutOctets
#Esperando algun tiempo
sleep($deltaT);
#Preguntando por segunda vez por los bytes de entrada
my $result40=$session->get_request(
-varbindlist => [$octin]
);
if (!defined($result40)) {
print LOG "ERROR: Consulta bit entrada 2 BW IP: ".$direccion."\n";
close(LOG);
print LOGS "ERROR: Consulta bit entrada 2 BW IP: ".$direccion."\n";
close(LOGS);
$session->close;
return ;
}
my $bytesin2=$result40->{$octin};
#
push(@Voctin2,$bytesin2);
#Preguntando por segunda vez por los bytes de salida
my $result50=$session->get_request(
-varbindlist => [$octout]
);
if (!defined($result50)) {
78
print LOG "ERROR: Consulta bit salida 2 BW IP: ".$direccion."\n";
close(LOG);
print LOGS "ERROR: Consulta bit salida 2 BW IP: ".$direccion."\n";
close(LOGS);
$session->close;
return ;
}
my $bytesout2=$result50->{$octout};
#
push(@Voctout2,$bytesin2);
Listado 4.34 Segunda captura del ancho de banda
En el Listado 4.35 se obtiene la velocidad nominal de la interfaz
definida por ifSpeed y almacenada en la variable “$maxbwinter”. Esta
velocidad se encuentra en [bit/seg].
my $maxbw='1.3.6.1.2.1.2.2.1.5.9';
#Preguntando por el maximo de capacidad
my $result60=$session->get_request(
-varbindlist => [$maxbw]
);
if (!defined($result60)) {
print LOG "ERROR: Consulta BW MAX IP: ".$direccion."\n";
close(LOG);
print LOGS "ERROR: Consulta BW MAX IP: ".$direccion."\n";
close(LOGS);
$session->close;
return ;
}
my $maxbwinter=$result60->{$maxbw};
Listado 4.35 Captura del ancho de banda nominal (ifSpeed)
Los valores obtenidos definen el ancho de banda (BW) de entrada,
salida y nominal de la interfaz.
79
Ancho
de
banda
BWin =
∆ifInOctets
∆tiempo
de
 byte 
 seg  ,


entrada
donde
(BWin):
Se
define
como
∆ifInOctets = $byte sin 2 − $byte sin 1
y
∆tiempo = $deltaT .
Ancho
BWout =
de
banda
∆ifOutOctets  byte 
,
∆tiempo  seg 
de
salida
donde
(BWout):
Se
define
como
∆ifOutOctets = $bytesout 2 − $bytesout1
y
∆tiempo = $deltaT .
 bit 
Ancho de banda nominal (BWmax): Se define como BW max = ifspeed 
.
 seg 
El Ancho de Banda que mejor representa la ocupación de la interfaz
es el mayor de los dos, esta decisión se toma en el Listado 4.36.
my $bytesdelayin=$bytesin2-$bytesin1;
my $bytesdelayout=$bytesout2-$bytesout1;
my $anchodebanda1=$bytesdelayin/($deltaT);
my $anchodebanda2=$bytesdelayout/($deltaT);
#Ancho de banda mayor
my $anchodebandafinal=0;
if($anchodebanda1>$anchodebanda2)
{
$anchodebandafinal=$anchodebanda1;
}
else
{
80
$anchodebandafinal=$anchodebanda2;
}
Listado 4.36 Análisis del ancho de banda
El porcentaje de ocupación se da comparando el ancho de banda
obtenido en [byte/seg] con el ancho de banda nominal entregado en
[bit/seg]. La unidad de Ancho de Banda requerida es [Kbps], entonces se
debe realizar la conversión de unidades (ver Listado 4.37):
 bit 
 Kbit 
1
Convertir bps a Kbps: 
∗

→


 seg  1000
 seg 
 byte 
 Kbit 
8
Convertir Bps a Kbps: 
∗

→


 seg  1000
 seg 
#conversion unidades
#$maxbwinter [bit/seg] a [Kbite/seg]
$maxbwinter=int($maxbwinter/(1000)); #en Kbps
my $maxbwinterM=int($maxbwinter/(1000)); #en Mbps
#$anchodebandafinal [byte/seg] a [Kbite/seg]
$anchodebandafinal=int($anchodebandafinal*8/(1000));
Listado 4.37 Conversión de unidades de ancho de banda
81
4.4 AUTOMATIZAR LA CAPTURA
Con el proceso de captura funcionando se debe realizar la
automatización. Este procedimiento se realiza en el servidor usando la
herramienta “crontab”.
Primero se definen los horarios de captura para cada Plataforma,
estos se definen en la Tabla 4.9.
Plataforma
Horario
DSLAM
Sábados 1am
SWITCHES
Domingos 1am
IP-MPLS
Lunes 1am
Tabla 4.9 Horario de captura para las plataformas
La herramienta “crontab” permite ejecutar tareas en forma periódica.
Esto se realiza agregando las tareas y el tiempo de ejecución en el archivo
de configuración de “crontab”.
La configuración del “crontab” se realiza en una línea para cada
script a automatizar. En la línea se definen cinco campos configurables y
luego la dirección del script, tal como se ve en la Figura 4.6.
82
Figura 4.6 Formato del crontab
Para agregar tareas al “crontab” se ejecuta “crontab –e” que abre un
editor, donde se ingresan las líneas según el Listado 4.38.
#dslam
0 1 * * sat /usr/bin/perl5.8.4 /root/humberto/snmp/principalDSLAM.pl
#switches
0 1 * * sun /usr/bin/perl5.8.4 /root/humberto/snmp/principalSWITCH.pl
#ip-mpls
0 1 * * mon /usr/bin/perl5.8.4 /root/humberto/snmp/principalROUTER.pl
Listado 4.38 Configuración del crontab en el capturador
Una vez ingresada las líneas se cierra el archivo y automáticamente
comienzan a correr las configuraciones.
83
CAPÍTULO 5 ANÁLISIS
Este capitulo presenta como se va a realizar el análisis de los datos,
usando los valores que se encuentran almacenados luego de la captura de
un indicador en un equipo. Este método se generalizara para todos los
indicadores en todos los equipos de todas las plataformas.
Luego se desarrollara el script que realizara el análisis a los
indicadores de los equipos. Los resultados obtenidos se clasificaran en
segmentos según características comunes y finalmente se mostrara la
forma de despliegue de los datos en una Web.
Para comenzar el Capturador registra la ocupación de cada
indicador, en un periodo de tiempo. La información almacenada en
archivos históricos. Con los cuales es posible generar una grafica de la
evolución del indicador (ver Figura 5.1) en el periodo de tiempo observado.
Figura 5.1 Evolución del indicador
84
Para graficar las fechas de captura, se consideran la cantidad de
días, a partir del 01 de enero de 2006. En la Figura 5.1 se grafica la
evolución del indicador los primeros seis días de enero.
Entonces, se puede generar una función matemática que represente
la muestra de puntos, y con ésta se puede ver la tendencia de la ocupación
(Figura 5.2).
Figura 5.2 Tendencia de la ocupación
La proyección de la curva nos permite predecir el comportamiento
futuro (ver Figura 5.3).
85
Figura 5.3 Proyección del indicador
En el grafico de la Figura 5.4 se ilustra el concepto de díasinventario, como la cantidad de días que tiene el indicador antes de llegar a
su máxima capacidad. Si se considera 14 como el valor máximo del
indicador, entonces la proyección indica que se alcanzará este límite en 6
días más. Por lo tanto el día 12 de enero se colmara la capacidad.
86
Figura 5.4 Días inventario
La función que representa la tendencia de la muestra se obtiene a
través del método de regresión de mínimos cuadrados.
87
5.2 PROCESO DE REGRESIÓN
Para la búsqueda de la función que mejor represente al conjunto de
puntos, se utiliza un proceso de regresión el cual comprende la utilización
de modelos Lineales y no Lineales.
5.2.1 Modelo lineal
Este modelo busca obtener la ecuación de la recta que represente
mejor al conjunto de puntos en el plano cartesiano.
La ecuación de la recta se define en la Figura 5.5.
Figura 5.5 Ecuación de la recta
Los parámetros “a” y “b” se representan en la Tabla 5.1.
88
Parámetro
a
Descripción
Ordenada en el origen. Es el punto de corte con el eje de las
ordenadas (Y), para X=0.
Define la pendiente, es el grado de inclinación de la recta.
b
Esta
puede
ser
negativa,
para
rectas
decrecientes
positivas, para rectas crecientes. Se define como: b =
y
∆Y
∆X
Tabla 5.1 Parámetros de la ecuación de la recta
Para obtener el modelo se utiliza el método de Mínimos Cuadrados,
que consiste en encontrar la recta tal que la suma de los cuadrados de las
distancias dé los puntos a la recta y que sea la mínima posible (Ver Figura
5.6).
Figura 5.6 Modelo mínimos cuadrados
Con la condición
∑d
2
i
= d12 + d 22 + ... + di2 + ... + d n2 ⇒ Mínimo , se llegan a
obtener los parámetros de la ecuación de la recta:
b=
n∑ xi yi − ∑ xi ∑ yi
n∑ xi2 − (∑ xi )
2
89
a=
∑y
i
− b∑ xi
n
Donde:
n : Cantidad de muestras
x i : Dia
y i : Indicador
La recta generada con los parámetros anteriores representa al
conjunto de puntos. Pero para confirmar la calidad de la representación,
se utiliza el Coeficiente de Determinación R2que se define como:
(n∑ x y − ∑ x ∑ y )
=
[n∑ x − (∑ x ) ][n∑ y − (∑ y ) ]
2
R
2
i
2
i
i
i
2
i
i
2
i
2
i
Este término se obtiene de una serie de cálculos basándose en
índices de dispersión, tales como la varianza y covarianza.
La calidad de la representación se da según el valor entregado por el
coeficiente de determinación R2. Una buena representación se da cuando
R2 es cercano a uno, y una mala representación se da cuado el coeficiente
de determinación es cercano a 0 (ver Figura 5.7).
90
Figura 5.7 Representación del coeficiente de determinación R2
Entonces las ecuaciones que se utilizaran para representar el
modelo lineal de regresión de mínimos cuadrados se muestran en la Tabla
5.2.
Parámetro
Ecuación
Recta
Y=a+bx
a
b
∑y
i
− b∑ xi
n
n ∑ x i y i − ∑ xi ∑ y i
n∑ xi2 − (∑ xi )
2
(n∑ x y − ∑ x ∑ y )
[n∑ x − (∑ x ) ][n∑ y − (∑ y ) ]
2
R2
i
2
i
i
i
2
i
i
2
i
2
i
Tabla 5.2 Modelo lineal regresión de mínimos cuadrados
91
5.2.2 Modelo no lineal
Se basa en el mismo formato que en el Modelo Lineal, pero se deben
linealizar las ecuaciones. La función y=f(x) debe transformarse al formato
Y=A+BX y luego se aplica el método de Regresión Lineal.
5.2.2.1 Modelo potencial
En la Tabla 5.3 se presenta en detalle el Modelo Potencial.
Detalle
Ecuación
Modelo
y = a ∗ xb
Modelo linealizado
ln y = ln a + b ln x
Formato buscado
Y = A+ B* X
Y
ln y
X
ln x
A
ln a
B
b
a
eA
b
B
Tabla 5.3 Detalles modelo potencial
Para obtener los parámetros de la Tabla 5.4, se realiza el proceso de
regresión sobre el modelo linealizado.
92
Parámetro
Ecuación
Potencial
y = a * xb
a
 ∑ ln yi − b∑ ln xi
exp

n





n∑ ln x i ln y i − ∑ ln xi ∑ ln y i
n∑ ln xi2 − (∑ ln xi )
b
2
(n∑ ln x ln y − ∑ ln x ∑ ln y )
2
[n∑ ln x
R2
i
2
i
i
][
i
i
− (∑ ln xi ) n∑ ln y i2 − (∑ ln y i )
2
2
]
Tabla 5.4 Parámetros modelo potencial
5.2.2.2 Modelo exponencial
En la Tabla 5.5 se presenta en detalle el Modelo Exponencial.
Detalle
Ecuación
Modelo
y = a ∗ e bx
Modelo linealizado
ln y = ln a + bx
Formato buscado
Y = A+ B* X
Y
ln y
X
x
A
ln a
B
b
a
eA
b
B
Tabla 5.5 Detalles modelo exponencial
Para obtener los parámetros de la Tabla 5.6, se realiza el proceso de
regresión sobre el modelo linealizado.
93
Parámetro
Ecuación
Potencial
y = a * e bx
a
 ∑ ln y i − b∑ xi
exp

n

B




n∑ x i ln y i − ∑ x i ∑ ln y i
n∑ xi2 − (∑ xi )
2
(n∑ x ln y − ∑ x ∑ ln y )
2
R2
[n∑ x
i
2
i
i
][
i
i
− (∑ xi ) n∑ ln y i2 − (∑ ln y i )
2
2
]
Tabla 5.6 Parámetros modelo exponencial
5.2.2.3 Modelo logarítmico
En la Tabla 5.7 se presenta en detalle el Modelo Logarítmico.
94
Detalle
Ecuación
Modelo
y = a + B * ln x
Modelo linealizado
y = a + B * ln x
Formato buscado
Y = A+ B* X
Y
y
X
ln x
A
a
B
b
a
A
b
B
Tabla 5.7 Detalles modelo logarítmico
Para obtener los parámetros de la Tabla 5.8, se realiza el proceso de
regresión sobre el modelo linealizado.
Parámetro
Ecuación
Potencial
y = a + b * ln x
a
B
∑y
i
− b∑ ln xi
n
n∑ y i ln x i − ∑ ln x i ∑ y i
n∑ ln x i2 − (∑ ln x i )
2
(n∑ ln x y − ∑ ln x ∑ y )
2
R2
[n∑ ln x
i
2
i
i
][
i
i
− (∑ ln xi ) n∑ y i2 − (∑ y i )
2
Tabla 5.8 Parámetros modelo logarítmico
2
]
95
5.3 ESTRUCTURA ANÁLISIS
El análisis se realiza por medio de scripts, los que calculan la
ocupación de cada indicador, aplican el método de regresión y clasifican
los resultados. La estructura del análisis se aprecia en la Figura 5.8.
Archivos
entrada
Procesos
Análisis
Archivos
salida
Figura 5.8 Estructura del análisis
Existen tres tipos de análisis:
♦ Calcular Porcentaje de Ocupación y Días Inventario
♦ Clasificar resultados según Días Inventario
♦ Clasificar resultados según Porcentaje de Ocupación
5.3.1 Calcular porcentaje de ocupación y días
inventario
Este script “caculador_PLATAFORMA.pl” es el motor del análisis, y la
tarea de realizar todos los cálculos desde la ocupación del indicador hasta
aplicar cada uno de los modelos buscando el de mejor eficiencia, para
Obtener los Días Inventario. Su operación se puede ver en la Figura 5.9.
96
Archivos de entrada:
DATO-PLATAFORMA.txt.dd.mm.aaa
DATO-PLATAFORMA.txt
Análisis:
calculador_PLATAFORMA.pl
Archivos de salida:
DATOWEB-PLATAFORMA-GRAF.txt
DATOWEB-PLATAFORMA.txt
fechasPLATAFORMA.txt
Figura 5.9 Trabajo del script calculador_PLATAFORMA.pl
5.3.1.2 Archivos de entrada
Estos archivos son la entrada al análisis y son obtenidos del
Capturador, son entregados como respuesta a las consultas SNMP.
⇒ DATO-PLATAFORMA.txt.dd.mm.aaaa (ver sección 0)
⇒ DATO-PLATAFORMA.txt (ver sección 0)
97
5.3.1.3 Análisis
Se compone de un archivo que realiza toda la tarea de cálculo.
Archivo calculador_PLATAFORMA.txt
El script obtiene información de los archivos de datos generados por
el Capturador, los procesa y genera las salidas necesarias para el
despliegue en la Web.
El proceso comienza con la carga de los nombres de los archivos
históricos. Se lee el nombre de cada uno y se analiza la fecha de captura.
Los nombres los almacena en un vector “@nom” y las fechas en el archivo
de salida “fechasPLATAFORMA.txt” (ver Listado 5.1). Las fechas son
almacenadas como número de días desde el 01 de enero de 2006 y como
texto “dd.mm.aaaa”.
#Abre el directorio donde se los Historicos
open ( FECHAS , ">/home/capacity/web/fechasSW.txt") || die (" no se pudo ");
opendir DIR, "/home/capacity/historico/";
my @histo=readdir(DIR);
#para cada archive Historico de esta plataforma almacenos el nombre y la fecha
foreach $i (@histo) {
if ( $i =~ "DATO-SWITCH"){
chomp $i;
my @val = split (/\./, $i );
my $date = new Date::Handler({ date =>
{
year => $val[4],
98
month => $val[3],
day => $val[2],
}, time_zone => 'Sudamerica', locale => 'es_CL' });
#alamaceno la fecha numerica, desde el 01/01/2006
my $ti=$date->DayOfYear() +$val[4]*$date->DaysInYear()-2006*365+1;
push @tiempo, $ti;
push @nom, $i;
$jk= substr ($i, (index ($i, "t."))+2, (length $i)-1); #capturo la fecha ke aparece en el nombre
del archivo
print FECHAS $jk.";".$ti."\n"; #imprimo los valores en el archive fechas
}
}
closedir DIR;
close(FECHAS);
Listado 5.2 Carga de los archivos históricos
El proceso consiste en leer el archivo de la última captura “DATOPLATAFORMA.txt”, de ahí se van a extraer los nombres de los equipos y
los indicadores a procesar. Con el nombre del equipo y el indicador
seleccionado se busca en cada uno de los archivos históricos las
coincidencias. Al encontrarse una, se almacena en un vector la ocupación,
el máximo de ocupación y la fecha numérica (ver Listado 5.2).
while ($equipoip = <EQUIPO>) { #leo una línea de DATO-PLATAFORMA.txt
chomp($equipoip);
@info=split(/;/,$equipoip);
my $cont=0;
foreach $nombre (@nom){ #Abro cada archive historico
open( HIST , "/home/capacity/historico/".$nombre);
99
while ($raya = <HIST>) {
chomp($raya);
@datos1 = split(/;/, $raya);
#comparo el liena leida con la linea del historico
if ($datos1[0] eq $info[0] && $datos1[1] == $info[1]) {
#almaceno las variables en vectores
push @oc, $datos1[3]; push @tot, $datos1[4]; push @times , $tiempo[$cont];
}
}
close (HIST);
$cont++;
}
Listado 5.3 Carga de todos los indicadores capturados
Con los indicadores capturados en vectores se procede a aplicar los
modelos de regresión (ver Listado 7.8).
Con todos los cálculos realizados se selecciona el modelo que posea
un coeficiente de determinación R2 más cercano a uno para calcular los
Días Inventario. Se necesitan aplicar un conjunto de condiciones para que
el valor entregado de Días Inventario tenga sentido. Se dan cinco casos (ver
Tabla 5.9).
100
Casos Días Inventario
Descripción
La función genera una recta paralela al eje x.
No hay cambios
Pendiente cercana a cero (ver Figura 5.10).
La función es creciente y el valor numérico es
Valor en Días
la cantidad de días que quedan para llegar al
máximo de ocupación (ver Figura 5.11).
El valor numérico es mayor a 180 días. El
grafico es igual al de valor en días, pero será
Mas de 6 meses
representado por la cadena de texto “más de
6 meses”.
El cálculo entrega una cantidad de días
Agotado
menor a los días de la fecha actual (ver Figura
5.12).
Desocupación
Pendiente negativa (ver Figura 5.13).
Tabla 5.9 Casos de días inventario
Ocu p aci on de Indi cador
N o hay Cambi os
Ocupacion Indicador
7
6
5
4
3
2
1
0
1
2
3
4
5
6
Fe chas de l His torico
Figura 5.10 Caso “No hay cambios” días inventario
101
Ocu p aci on de Indi cador
Val or en Di as
maximo
Ocupacion Indicador
12
10
8
6
3 Dias Inventario
4
hoy
2
0
1
2
3
4
5
6
7
8
9
Fe chas de l His torico
Figura 5.11 Caso “Valor en días” días inventario
Ocuapcion Indicador
Ocu p aci on de Indi cador
Agotado
8
7
6
5
maximo
maximo cruza con la
tendencia.
4
3
2
1
0
hoy
1
2
3
4
5
6
Fe chas de l His torico
Figura 5.12 Caso “Agotado” días inventario
102
Ocupacion del Indicador
Ocup aci on del Indi cador
Desocu p aci ón
8
7
6
5
4
3
2
1
0
1
2
3
4
5
6
Fe chas de l His torico
Figura 5.13 Caso “Desocupación” días inventario
Una sección de las condiciones del cálculo de los días inventario se
ve en el Listado 5.3
if ($rlo == $erresS[$#erresS]){
$aproxx="Logaritmica";
$correla=$rlo;
#analisis dias Logaritmos
#print "DIAS Logaritmicos!!!\n";
if ($Blo >= -0.000000001 && $Blo < 0.000000001 ){$diainv="No hay cambios";}
if ($Blo >= 0.000000001){
$dias=int (exp(($totalast-$Alo)/$Blo));
if ($dias > $timesS[$#timesS]){
$diainv=($dias-$timesS[$#timesS]);
#
print "dias: ".$dias."\n";
#
print "dia inv: ".$diainv."\n";
#
print "tiempo mayor".$timesS[$#timesS]."\n";
if ( $diainv >180 ){$diainv="mas de 6 meses";}
}
else{
$diainv="AGOTADO";
}
103
}
if ($Blo < -0.000000001){
$diainv="Desocupacion";
}
Listado 5.4 Condiciones de calculo de los días dnventario
5.3.1.4 Archivos de salida
Se deben generar estos archivos, manteniendo el formato de archivos
de salida anteriores, parámetros separados por “;”. Los archivos son:
Archivo DATOWEB-PLATAFORMA.txt
En este archivo esta almacenada la interfaz Web. La información
almacenada se muestra en la Tabla 5.10.
104
Parámetro
Descripción
Alias
Nombre normalizado del equipo
Nodo
Ubicación geográfica del equipo
Indicador
Descripción del indicador
%Ocupación
Porcentaje de ocupación del indicador
Días Inventario
Cantidad de días que quedan para llegar al máximo
de ocupación
Vector que
contiene tres parámetros en forma
consecutiva. Estos son:
Histórico
Ocupación.
Máxima ocupación
Fecha en cantidad de días.
Tabla 5.10 Parámetros del archivo DATAWEB-PLATAFORMA.txt
Archivo DATOWEB-PLATAFORMA-GRAF.txt
Se almacena la información para graficar la evolución del indicador (ver
Tabla 5.11).
105
Parámetro
Descripción
Alias
Nombre normalizado del equipo
Nodo
Ubicación geográfica del equipo
Indicador
Descripción del indicador
%Ocupación
Porcentaje de ocupación del indicador
Días Inventario
Cantidad de días que quedan para llegar al máximo
de ocupación
Aproximación
Método usado para realizar la regresión
Índice
Coeficiente de determinación R2
Vector que contiene los siguientes parámetros en
forma consecutiva:
Histórico
valorY dado remplazando la función generada
por la regresión en la fecha del histórico.
Ocupación en la fecha de la captura
Fecha de la captura.
Tabla 5.11 Parámetros del archivo DATOWEB-PLATAFORMA-GRAF.txt
5.3.2 Clasificar resultados según días inventario
La clasificación se realiza en base a la estructura de la Figura 5.14,
teniendo como núcleo el archivo de clasificación.
106
Archivos de entrada:
DATOWEB-PLATAFORMA.txt
nodoPLATAFORMA.txt
Análisis:
calculador_resumen_PLATAFORMA.pl
Archivos de salida:
RESUMENWEB-PLATAFORMA.txt
Figura 5.14 Estructura de clasificación según días inventario
5.3.2.2 Archivos de entrada
Cada archivo de entrada tiene una utilidad diferente.
⇒ DATOWEB-PLATAFROMA.txt (ver sección5.3.1.4).
⇒ nodoPLATAFORMA.txt: Es una lista de nodos de la plataforma.
5.3.2.3 Análisis
107
Se compone de un archivo, que realiza toda la tarea de agrupar los
resultados.
Archivo calculador_resumen_PLATAFORMA.pl
Es un archivo para clasificar los indicadores, agruparlos dentro de
segmentos comunes para mostrarlos en la Web de manera más rápida.
Este archivo clasifica la cantidad de Días Inventario presentes en un
indicador en grupos:
Grupo 1: 0 a 30 Días Inventario
Grupo 2: 30 a 60 Días Inventario
Grupo 3: 60 a 90 Días Inventario
Grupo 4: 90 a 120 Días Inventario
Grupo 5: 120 a 150 Días Inventario
Grupo 6: 150 a 180 Días Inventario
Grupo 7: Más de 6 meses
Grupo 8: Desocupación
Grupo 9: No hay cambios
Grupo 10: Agotado
Luego se contabiliza la cantidad de indicadores en cada grupo (ver
Listado 5.4). Esto se realiza para distintos niveles de agrupación de
equipos:
Nivel 1: Plataforma
Nivel 2: Zona (Norte, Centro, Sur)
Nivel 3: Región
Nivel 4: Nodo
if( $lineas[4] > 0 && $lineas[4] <= 30 ){$nequipo301++;}
if( $lineas[4] > 30 && $lineas[4] <= 60 ){$nequipo601++;}
if( $lineas[4] > 60 && $lineas[4] <= 90 ){$nequipo901++;}
108
if( $lineas[4] > 90 && $lineas[4] <= 120 ){$nequipo1201++;}
if( $lineas[4] > 120 && $lineas[4] <= 150 ){$nequipo1501++;}
if( $lineas[4] > 150 && $lineas[4] <= 180 ){$nequipo1801++;}
if( $lineas[4] =~ /^mas de 6 meses$/
){$nequipo2101++;}
if( $lineas[4] =~ /^Desocupacion$/
){$nequipo2201++;}
if( $lineas[4] =~ /^No hay cambios$/
){$nequipo2301++;}
if( $lineas[4] =~ /^AGOTADO$/
){$nequipo2401++;}
Listado 5.5 Clasificación de días inventario
Nivel 1
Se realiza la clasificación para toda la plataforma, por lo tanto se
trabaja en todos los equipos presentes en el archivo “DATOWEBPLATAFORMA.txt”
Nivel 2
Se clasifican los equipos por zonas geográficas. Se definen 3 zonas
en el territorio nacional (ver Tabla 5.12).
Zona
Regiones
Norte
1,2,3,4
Centro
5,RM
Sur
6,7,8,9,10,11,12
Tabla 5.12 Zonas geográficas
La clasificación (ver Listado 5.5) se realiza por el Alias que identifica
al equipo, en los primeros cuatro caracteres se da la región a la cual
pertenece.
#($lineas[0] es el alias del equipo
109
if($lineas[0] =~ /CL01|CL02|CL03|CL04/){
#funcion
}
if($lineas[0] =~ /CL05|CLRM/ ){
#funcion
}
if($lineas[0] =~ /CL06|CL07|CL08|CL09|CL10|CL11|CL12/ ){
#funcion
}
Listado 5.6 Clasificación según zona geográfica
Nivel 3
La clasificación por región consiste en contabilizar los equipos que
tiene la región en común. Eso se realiza de forma similar a la clasificación
por zona geográfica.
Nivel 4
El nodo al que pertenece el equipo es un parámetro del archivo
“DATOWEB-PLATAFORMA.txt”. Además se mantiene una lista de nodos de
la plataforma en el archivo “nodosPLATAFORMA.txt”. El proceso de
clasificación lee un nodo de la lista, busca las coincidencias en el archivo
“DATOWEB-PLATAFORMA.txt”,
y
al
inventario de cada indicador del equipo.
encontrarla
clasifica
los
días
110
5.3.2.4 Archivo de salida
El archivo de salida “RESUMENWEB-PLATAFORMA.txt” posee un
formato basado en 3 elementos importantes, como se ve en la Tabla 5.13.
Parámetro
Nivel
Indicador
Grupo
Descripción
Nombre del nivel en el cual se realiza la clasificación de
los días inventario.
Descripción del indicador que se esta clasificando.
Vector consecutivo de la cantidad de equipos que
pertenecen a cada grupo (separados por “;”)
Tabla 5.13 Formato salida del archivo RESUMENWEB-PLATAFORMA.txt
5.3.3 Clasificar resultados según porcentaje de
ocupación
La estructura de clasificación de porcentajes de ocupación de los
indicadores se ve en la Figura 5.15
111
Archivos de entrada:
DATOWEB-PLATAFORMA.txt
nodoPLATAFORMA.txt
Análisis:
calculador_resumen_PLATAFORMA_oc.pl
Archivos de salida:
RESUMENWEB-PLATAFORMA-OC.txt
Figura 5.15 Estructura de clasificación según porcentaje de ocupación
5.3.3.2 Archivos de entrada
Cada archivo de entrada tiene una utilidad diferente.
⇒ DATOWEB-PLATAFROMA.txt (ver sección 5.3.1.4).
⇒ nodoPLATAFORMA.txt: Es una lista de nodos de la plataforma.
112
5.3.3.3 Análisis
Se realiza por medio de un archivo, que realiza la agrupación de los
resultados según la ocupación del indicador.
Archivo calculador_resumen_PLATAFORMA_oc.pl
Es otro archivo de clasificación presente en el análisis, este archivo
clasifica el porcentaje de ocupación de cada indicador. Es similar al
archivo
“calculador_RESUMEN_PLATAFORMA.pl”
en
el
proceso
de
clasificación por niveles, sólo se diferencia en los grupos.
Los grupos son:
Grupo 1: 0 a 20 %
Grupo 2: 20 a 40 %
Grupo 3: 40 a 60 %
Grupo 4: 60 a 80 %
Grupo 5: 80 a 100 %
Luego se contabiliza la cantidad de equipos que pertenecen a cada
grupo (ver Listado 5.6) según el nivel en el cual se encuentre.
if( $lineas[3] >= 0 && $lineas[3] <=20 ){$nequipo303++;}
if( $lineas[3] > 20 && $lineas[3] <=60 ){$nequipo603++;}
if( $lineas[3] > 60 && $lineas[3] <=80 ){$nequipo903++;}
if( $lineas[3] > 80 && $lineas[3] <=100 ){$nequipo1203++; }
Listado 5.7 Clasificación según el porcentaje de ocupación
113
5.3.3.4 Archivo de salida
El archivo de salida “RESUMENWEB-PLATAFORMA-OC.txt” posee
un formato basado en 3 elementos importantes, como se ve en la Tabla
5.14.
Parámetro
Nivel
Indicador
Grupo
Descripción
Nombre del nivel en el cual se realiza la clasificación de
los días inventario.
Descripción del indicador que se está clasificando.
Vector consecutivo de la cantidad de equipos que
pertenecen a cada grupo (separados por “;”)
Tabla 5.14 Formato salida del archivo RESUMENWEB-PLATAFORMA-OC.txt
5.4 ESTRUCTURA DE DESPLIEGUE
El despliegue se realiza en una Web dinámica que se actualiza
automáticamente una vez por semana. Las páginas son generadas usando
Perl y se inicializan con la información almacenada en los archivos de
salida del análisis (ver Figura 5.16)
114
Figura 5.16 Web del capturador
La página se compone de un menú principal y el área de contenido.
5.4.2 Menú principal
En el menú se encuentran las plataformas y las diferentes opciones
para cada una de ellas (ver Figura 5.17).
Para el despliegue en la Web, se requirió la división de la plataforma
DSLAM en ADSL y SDSL.
115
Figura 5.17 Menú de la web del capturador
5.4.3 Área de contenido
El área de contenido es variable, según la sección del menú en la
cual se ingrese. Las secciones son:
♦ PLATAFORMA
♦ LOG
♦ EQUIPOS CONSULTADOS
♦ ADMINISTRACION DEL CAPTURADOR
116
5.4.3.1 Plataforma
Se centra el resumen de la plataforma. Ésta posee tres cuadros de
diálogo. Cada uno entrega información distinta.
Cuadro de diálogo 1
Se compone de filtros para mostrar equipos (ver Figura 5.18). Cada
filtro
se
aplica
a
la
lista
completa
de
equipos
(“DATOWEB-
PLATAFORMA.txt”).
Figura 5.18 Filtro de equipos consultados
El filtro puede ser por Zona, Región, Nodo y Equipo. Pero no
diferencia entre los indicadores capturados sino que se limita a entregar
todos los que pertenecen al equipo, como se aprecia en la Figura 5.19.
117
Figura 5.19 Respuesta al filtro de región
Cuadro de diálogo 2
Entrega la información resumida por grupos de los Días inventario y
el porcentaje de Ocupación. Da la posibilidad de seleccionar los
indicadores a mostrar y además seleccionar el nivel en el cual se entregará
el resumen (ver Figura 5.20).
118
Figura 5.20 Dialogo de resumen para los días inventario
La respuesta al resumen son 2 secciones: la primera sección una
entrega un resumen del Porcentaje de Ocupación (ver Figura 5.21) y la
segunda sección da un resumen de los Días Inventario (ver Figura 5.22).
Figura 5.21 Resumen porcentaje de ocupación
Figura 5.22 Resumen días inventario
119
En ambas respuestas se puede llegar al detalle de los equipos que se
encuentran en cada grupo (ver Figura 5.23).
Figura 5.23 Detalle de información de los equipos
Todas las tablas pueden ser exportardas a Microsoft Excel, en caso
de ser necesario un manejo más detallado (ver Figura 5.24). Además se
puede ver en forma grafica la ocupación y la regresión en el tiempo (ver
Figura 5.25).
Figura 5.24 Exportar a Microsoft Excel
120
Figura 5.25 Grafico de ocupación
Cuadro de diálogo 3
Es una sección administrativa, es alcanzable del menú principal, por
lo tanto se explicara en la sección de administración del capturador.
5.4.3.2 Bitácora
Esta sección se da para ver los LOG del Capturador. Permite ver el
último LOG (ver Figura 5.26) o el LOG histórico que posee información de
todas las consultas de la plataforma.
121
Figura 5.26 Bitácora del capturador
5.4.3.3 Equipos consultados
Entrega
la
lista
de
equipos
consultados
(ver
extrayéndola del archivo infoPLATAFORMA.txt.
Figura 5.27 Lista de los equipos consultados
Figura
5.27),
122
5.4.3.4 Administración del capturador
En la Web, además de mostrar la información capturada de distintas
formas, se puede realizar un proceso simple de administración del
Capturador, a través de la facultad de agregar (ver Figura 5.28) o eliminar
equipos (ver Figura 5.29) de la lista de consultas.
El proceso consiste en tomar las variables ingresadas y editar el
archivo infoPLATAFORMA.txt, agregando los nuevos equipos al final de la
consulta o buscando y eliminado el equipo seleccionado.
Esta página esta protegida vía password, para saber si es un usuario
autorizado para realizar la modificación.
Figura 5.28 Agregar equipo
123
Figura 5.29 Eliminar equipo
124
CAPÍTULO 6 CONCLUSIONES
Los resultados obtenidos por el Capturador reflejan en forma precisa
la información de ocupación entregada por las áreas que administran las
respectivas plataformas. La empresa se encuentra hoy en día utilizando
esta información para adquirir y justificar recursos.
Se observaron también situaciones de variaciones en los resultados
debido a que no se han normalizado algunos casos que producen
confusión, como la existencia de interfaces defectuosas.
El método de consultar indicadores por SNMP es aplicable a todos
los equipos, que posean las MIB necesarias. Es decir, la aplicación no esta
restringida a operar con marcas o lienas especificas de equipos. Por lo
tanto, se pueden agregar nuevos equipos que cumplan a con lo anterior y
así extender el uso de este sistema de consulta Capturador.
El Capturador demostró ser capaz de mantener información clara y
de rápido acceso, y ha sido utilizado en varios ítem de proyectos donde se
ha necesitado saber las capacidades de las plataformas.
Respecto al desarrollo del Capturador, los archivos generados, a
medida que transcurre, el tiempo se van haciendo más voluminosos, por lo
tanto el análisis cada vez se va a hacer más lento, pero como se realiza
una vez a la semana no perjudicará a corto plazo la utilización de la
herramienta. El crecimiento y el tiempo invertido en el análisis se ven en la
Tabla 6.1. Estos datos fueron obtenidos solo para la plataforma Switches
que posee una cantidad de 158 equipos
125
Plataforma Switches
Cantidad de equipos [unidades]
158
Proceso captura
Tiempo[min]
Tiempo medio por equipo [seg]
Cantidad datos almacenados [KB]
Cantidad media de datos por equipo [Byte]
30
11
81
527
Proceso calculo días inventario
Tiempo[min]
Tiempo medio por equipo [seg]
Cantidad datos almacenados [KB]
Cantidad media de datos por equipo [Byte]
Cantidad acumulada a la fecha [KB]
15
5
11
69
352
Proceso clasificación por días inventario
Tiempo[min]
Tiempo medio por equipo [seg]
Cantidad datos almacenados [KB]
Cantidad media de datos por equipo [Byte]
1
0,3
46
295
Proceso clasificación por porcentaje de ocupación
Tiempo[min]
Tiempo medio por equipo [min]
Cantidad datos almacenados [KB]
Cantidad media de datos por equipo [KB]
1
0.3
41
259
Tabla 6.1 Detalles proceso de captura y análisis
En la Tabla 6.1 se en detalle el tiempo y la cantidad de datos que se
manejan en cada uno de los procesos. El proceso que mas tiempo requiere
es la captura por SNMP, se debe a la cantidad de interfaces. Pero los datos
obtenidos no van en aumento, porque se remplaza el archivo donde se
almacenan. El proceso de calculo de días inventario tarda 15 min en
ejecutarse, este proceso va en aumento a medida que son mas fechas las
que debe calcular y su archivo va creciendo a medida que se ejecutan mas
capturas, entonces este proceso dará dificultades en un futuro cuando se
tengan años de capturas. Los otros dos procesos de clasificación no darán
problemas, son rápidos y simples y sus archivos no se ven en aumento.
126
Una solución a la cantidad de datos es migrar a una base de datos y
sobre ella realizar el procedimiento de análisis. Otra solución es limitar la
ventana según el tipo de plataforma, para plataformas de alta movilidad en
servicios se propone el uso de ventanas menores, porque rápidamente los
equipo muestran una tendencia de ocupación o desocupación, en cambio
para equipos como routers, donde la ocupación es mas estable, se
recomiendan ventanas de análisis mas grandes, para así detectar las
variaciones en la ocupación.
El sistema desarrollado demostró ser un sistema viable para fines de
obtener las capacidades de las plataformas y realizar un análisis sobre
ellas.
El sistema puede ser extendido implementando nuevas plataformas
y enfocandolo a las necesidades de otras areas de la empresa.
Dado que el sistema mantiene un registro de los indicadores
capturados, se pueden realizar más análisis de datos, más filtros,
complementado
con
utilidades
para
areas
de
venta
de
servicios,
adquisición de equipos.
Debido a la modularidad de la herramienta, enfocada a plataformas
con distintos tipos de equipos, se otorga un grado de flexibilidad para
presentar sobre ella nuevas plataformas y así realizar nuevos análisis,
desarrollando modelos para integrar la ocupación de servicios.
En la Figura 6.2 se ve la variación de la ocupación de un equipo de
la plataforma DSLAM. Este grafico muestra como la ocupación de las
interfaces se ha mantenido en 2 hasta el de de junio de 2006, luego
comienza un repentino crecimiento hasta llegar a tener 6 puertas
ocupadas el 19 de agosto de 2006. El análisis que más refleja este
127
conjunto de muestras es una aproximación exponencial, la cual tiene un
coeficiente de determinación R2 de 0.8476. En el grafico no se aprecia el
momento que la curva generada por el método de aproximación
exponencial llega al máximo de puertas disponibles en el equipo, en este
caso 8 puertas. Pero en la Web del Capturador se ve el estado del equipo
(ver Figura 6.3), definido por los días inventario y el porcentaje de
ocupación del indicador. Por lo tanto según la proyección realizada este
equipo llegara a su máxima capacidad en 62 días más.
Figura 6.2 Ocupación puertas equipo plataforma DSLAM
Figura 6.3 Estado del equipo plataforma DSLAM
128
BIBLIOGRAFIA
[1]
Zyxel
User
Guide,
“IES-1000
Integrated
Ethernet
Switch”,
http://dl0.web.zyxel.ru/001/IES-1000/document/IES-1000_v205_UsersGuide.pdf (2004)
[2]
Cisco
System,
“Cisco
Network
Monitoring
and
Event
Correlation
Guidelines”,
http://www.cisco.com/en/US/products/sw/cscowork/ps2393/prod_tech
nical_reference09186a00800a9e2f.html (2006)
[3]
Maria
Sol
Canalis,
“MPLS:
Multiprotocol
Label
Switching”,
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MP
LS.PDF (2002)
[4]
Augusto Vyhmister Nanking, “Monitoreo de calidad técnica del suministro
eléctrico a redes de dato vía UPS”, Universidad de Concepción, Facultad de
Ingeniería, Dpto. Ing. Eléctrica (1997).
[5]
Tom Shaughnessy, “Manual de CISCO”, McGraw-Hill (2000)
[6]
Daniel A. Menascé, “Capacity Planning for Web Services”, Prentice Hall
PTR. (2002)
[7]
William Stalling, “Comunicaciones y Redes de Computadores”, Prentice
Hall (2000)
[8]
J. Cady and B. Howarth, “Computers Systems Performance Management
and Capacity Planning”, Prentice Hall (1990)
[9]
Michael Gossland and Associates “Introductory Perl Tutorial Course for
Windows”, http://www.gossland.com/course/index.html, (2006)
129
[10]
Joseph
N.
Hall,
“Effective
Perl
programming”,
http://www.usenix.org/publications/login/1999-4/perl.html (1999)
[11]
Paul
Vixie
<[email protected]>,
“man
crontab”,
http://www.hmug.org/man/5/crontab.php (1994)
[12]
Javier
Fernández-Sanguino
Peña,
“Gestión
SNMP
con
Linux”,
http://es.tldp.org/Articulos-periodisticos/jfs/snmp/snmp.html (2001)
[13]
Rachel
Andrew,
“Style
Web
Forms
Using
CSS”,
http://www.sitepoint.com/article/style-web-forms-css/1 (2003)
[14]
Cisco
Systems,
“Supported
Device
Table
for
DFM
2.0”,
http://www.cisco.com/univercd/cc/td/doc/product/rtrmgmt/cw2000/df
m/dev_sup/dfm2_0.htm#wp95509 (2006)
[15]
Cisco
Systems,
“Features
For
Any
Interface”,
http://www.cisco.com/en/US/products/ps6350/products_configuration_
guide_chapter09186a00804455ae.html#wp1090659 (2006)
[16]
Jacqueline
Hamilton,
“CGI
Programming
101
(2nd
edition)”,
http://www.cgi101.com/book/intro.html (2004)
[17]
Cisco System, “Catalyst 2950 and Catalyst 2955 Switch Software
Configuration
Guide”,
http://www.cisco.com/en/US/products/hw/switches/ps628/products_co
nfiguration_guide_book09186a008047233a.html (2006)
[18]
Cisco System, “Data Sheet Cisco Catalyst 2955 Series Switches”,
http://www.cisco.com/en/US/products/hw/switches/ps628/products_da
ta_sheet09186a008033a436.html (2005)
[19]
Cisco System, “Catalyst 3550 Multilayer Switch Software Configuration
Guide”,
130
http://www.cisco.com/en/US/products/hw/switches/ps646/products_co
nfiguration_guide_book09186a008014f30e.html (2003)
[20]
Cisco System, “Data Sheet Cisco Catalyst 3550 Series Intelligent Ethernet
Switches”,
http://www.cisco.com/en/US/products/hw/switches/ps646/products_da
ta_sheet09186a00800913d7.html (2005)
[21]
Cisco
System,
“Cisco
12000
Series
Channelized
Line
Card”,
http://www.cisco.com/en/US/products/hw/modules/ps2710/products_d
ata_sheet0900aecd80416929.html (2006)
[22]
Cisco
System,
“Cisco
12008
and
Cisco
12012
Routers”,
http://www.cisco.com/en/US/products/hw/routers/ps167/products_dat
a_sheet09186a00800920b9.html (2006)
[23]
Cisco System, “Cisco 7200 Series Router MIB Specifications Guide”,
http://www.cisco.com/en/US/products/hw/routers/ps341/products_mib
_quick_reference_book09186a00803d6154.html (2005)
[24]
Cisco
System,
“Cisco
7500
Series
Router”,
http://www.cisco.com/en/US/products/hw/routers/ps359/products_dat
a_sheet0900aecd800f5542.html (2005)
[25]
Cisco
System,
“Cisco
7507
Quick
Start
Guide”,
http://www.cisco.com/en/US/products/hw/routers/ps359/products_qui
ck_start09186a00800dc779.html (2005)
[26]
Cisco System, “Data Sheet Cisco 7609 Router-Enhenced 9-slot Chassis”,
http://www.cisco.com/en/US/products/hw/routers/ps368/products_dat
a_sheet09186a0080169ead.html (2006)
131
[27]
Cisco System, “Cisco 7600 Series Internet Router MIB Specifications”,
http://www.cisco.com/en/US/products/hw/routers/ps368/products_mib
_quick_reference_book09186a008051d16d.html (2005)
[28]
Cisco System, “Cisco 7600 Series Router Hardware Documentation”,
http://www.cisco.com/en/US/products/hw/routers/ps368/products_inst
allation_guide_book09186a008057b682.html (2005)
[29]
Rosario
Ruiz
Baños,
“Ecuación
Explícita
de
la
Recta”,
http://www.ugr.es/~rruizb/cognosfera/sala_de_estudio/estadistica/regre
sion.ppt (2002)
[30]
Jorge
Peri,
“Metodología
de
la
Programación”,
http://www.tyr.unlu.edu.ar/TYR-publica/MODULO-PROGRAMACION2002-v16.pdf (2004)
[31]
Cisco System, “How To Calculate Bandwidth Utilization Using SNMP”,
http://www.cisco.com/warp/public/477/SNMP/calculate_bandwidth_sn
mp.html (2005)
[32]
K.
McCloghrie,
(1991)
“RFC1213”,
http://ietfreport.isoc.org/rfc/rfc1213.txt
132
CAPÍTULO 7 ANEXOS
• BRIDGE-MIB (RFC1493)
• CISCO-2900-MIB
• CISCO-BULK-FILE-MIB
• CISCO-CDP-MIB
• CISCO-CLUSTER-MIB
• CISCO_CONFIG_COPY_MIB
• CISCO-CONFIG-MAN-MIB
• CISCO-ENTITY-MIB
• CISCO-ENTITY-ALARM-MIB (Catalyst 2955 only)
• CISCO-ENTITY-VENDORTYPE-OID-MIB
• CISCO_ENVMON_MIB
• CISCO-FLASH-MIB
• CISCO-FTP-CLIENT-MIB
• CISCO-IETF-VDSL-LINE-MIB (Catalyst 2950 Long-Reach Ethernet [LRE] only)
• CISCO-IGMP-FILTER-MIB
• CISCO-IMAGE-MIB
• CISCO-LRE-CPR-MIB (Catalyst 2950 LRE only)
• CISCO-MAC-NOTIFICATION-MIB
• CISCO-MEMORY-POOL-MIB
• CISCO-PAE-MIB
• CISCO-PAGP-MIB
• CISCO-PING-MIB
• CISCO-PORT-SECURITY-MIB
• CISCO-PROCESS-MIB
• CISCO-PRODUCTS-MIB
• CISCO-RTTMON-MIB
• CISCO-SMI
• CISCO_STACKMAKER_MIB
• CISCO-STP-EXTENSIONS-MIB
• CISCO-SYSLOG-MIB
• CISCO-TC
• CISCO-TCP-MIB
• CISCO-VLAN-MEMBERSHIP-MIB
• CISCO-VTP-MIB
133
• ENTITY-MIB
• IEEE8021-PAE-MIB
• IANAifType-MIB
• IF-MIB (RFC 1573)
• OLD-CISCO-CHASSIS-MIB
• OLD-CISCO-CPU-MIB
• OLD-CISCO-INTERFACES-MIB
• OLD-CISCO-IP-MIB
• OLD-CISCO-MEMORY-MIB
• OLD-CISCO-SYSTEM-MIB
• OLD-CISCO-TCP-MIB
• OLD-CISCO-TS-MIB
• RFC1213-MIB
• RFC1398-MIB
• RMON-MIB (RFC 1757)
• RS-232-MIB
• SNMPv2-MIB
• SNMPv2-SMI
• SNMPv2-TC
• TCP-MIB
• UDP-MIB
Listado 7.1 MIB Cisco Catalyst serie 2950
• BRIDGE-MIB
• CISCO-BULK-FILE-MIB
• CISCO-CDP-MIB
• CISCO-CLUSTER-MIB
• CISCO-CONFIG-COPY-MIB
• CISCO-CONFIG-MAN-MIB
• CISCO-ENVMON-MIB
• CISCO-FLASH-MIB
• CISCO-FTP-CLIENT-MIB
• CISCO-HSRP-EXT-MIB
• CISCO-HSRP-MIB
• CISCO-IGMP-FILTER-MIB
134
• CISCO-IMAGE-MIB
• CISCO-IPMROUTE-MIB
• CISCO-MAC-NOTIFICATION-MIB
• CISCO-MEMORY-POOL-MIB
• CISCO-PAGP-MIB
• CISCO-PORT-QOS-MIB
• CISCO-PROCESS-MIB
• CISCO-RTTMON-MIB
• CISCO-STACKMAKER-MIB
• CISCO-STACK-MIB
• CISCO-STP-EXTENSIONS-MIB
• CISCO-SYSLOG-MIB
• CISCO-TCP-MIB
• CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB
• CISCO-VLAN-MEMBERSHIP-MIB
• CISCO-VTP-MIB
• ENTITY-MIB
• IF-MIB
• IGMP-MIB
• IPMROUTE-MIBL2/L3 INTERFACE MIB
• OLD-CISCO-CHASSIS-MIB
• OLD-CISCO-SYSTEM-MIB
• OLD-CISCO-TS-MIB
• OSPF-MIB (RFC 1253)
• PIM-MIB
• RFC1213-MIB
• RMON2-MIB
• SNMPv2-MIB
• TCP-MIB
• UDP-MIB
Listado 7.2 MIB Cisco Catalyst serie 3550
• BRIDGE-MIB.my
• CISCO-GENERAL-TRAPS.my
• NOVELL-IPX-MIB.my
135
• NOVELL-RIPSAP-MIB.my
• OLD-CISCO-APPLETALK-MIB.my
• OLD-CISCO-CHASSIS-MIB.my
• OLD-CISCO-CPU-MIB.my
• OLD-CISCO-DECNET-MIB.my
• OLD-CISCO-ENV-MIB.my
• OLD-CISCO-FLASH-MIB.my
• OLD-CISCO-INTERFACES-MIB.my
• OLD-CISCO-IP-MIB.my
• OLD-CISCO-MEMORY-MIB.my
• OLD-CISCO-NOVELL-MIB.my
• OLD-CISCO-SYS-MIB.my
• OLD-CISCO-SYSTEM-MIB.my
• OLD-CISCO-TCP-MIB.
• OLD-CISCO-TS-MIB.my
• OLD-CISCO-VINES-MIB.my
• OLD-CISCO-XNS-MIB.my
• RFC1213-MIB.my
• RFC1231-MIB.my
• RFC1243-MIB.my
• RFC1285-MIB
• RFC1315-MIB.my
• RFC1381-MIB.my
• RFC1382-MIB.my
• RFC1398-MIB.my
• RFC1406-MIB.my
• SNMP-REPEATER-MIB.my
• SOURCE-ROUTING-MIB.my
• BGP4-MIB.my
• CISCO-CHANNEL-MIB.my
• CISCO-FLASH-MIB.my
• CISCO-IMAGE-MIB.my
• CISCO-PING-MIB.my
• CISCO-PRODUCTS-MIB.my
• CISCO-QLLC01-MIB.my
• CISCO-REPEATER-MIB.my
136
• CISCO-SMI.my
• CISCO-TC.my
• CISCO-TCP-MIB.my
• RS-232-MIB.my
• SNA-SDLC-MIB.my
• SNMPv2-CONF.my
• SNMPv2-MIB.my
• SNMPv2-SMI.my
• SNMPv2-TC.my
• BGP4-MIB-V1SMI.my
• CISCO-CHANNEL-MIB-V1SMI.my
• CISCO-FLASH-MIB-V1SMI.my
• CISCO-IMAGE-MIB-V1SMI.my
• CISCO-PING-MIB-V1SMI.my
• CISCO-PRODUCTS-MIB-V1SMI.my
• CISCO-QLLC01-MIB-V1SMI.my
• CISCO-REPEATER-MIB-V1SMI.my
• CISCO-SMI-V1SMI.my
• CISCO-TC-V1SMI.my
• CISCO-TCP-MIB-V1SMI.my
• RS-232-MIB-V1SMI.my
• SNA-SDLC-MIB-V1SMI.my
• SNMPv2-MIB-V1SMI.my
• SNMPv2-SMI-V1SMI.my
• SNMPv2-TC-V1SMI.my
Listado 7.3 MIB Cisco serie 12000
• BRIDGE-MIB.my
• CISCO-GENERAL-TRAPS.my
• NOVELL-IPX-MIB.my
• NOVELL-RIPSAP-MIB.my
• OLD-CISCO-APPLETALK-MIB.my
• OLD-CISCO-CHASSIS-MIB.my
• OLD-CISCO-CPU-MIB.my
• OLD-CISCO-DECNET-MIB.my
137
• OLD-CISCO-ENV-MIB.my
• OLD-CISCO-FLASH-MIB.my
• OLD-CISCO-INTERFACES-MIB.my
• OLD-CISCO-IP-MIB.my
• OLD-CISCO-MEMORY-MIB.my
• OLD-CISCO-NOVELL-MIB.my
• OLD-CISCO-SYSTEM-MIB.my
• OLD-CISCO-TS-MIB.my
• OLD-CISCO-VINES-MIB.my
• OLD-CISCO-XNS-MIB.my
• RFC1213-MIB.my
• RFC1231-MIB.my
• RFC1243-MIB.my
• RFC1315-MIB.my
• RFC1381-MIB.my
• RFC1382-MIB.my
• RFC1398-MIB.my
• RFC1406-MIB.my
• SNMP-REPEATER-MIB.my
• SOURCE-ROUTING-MIB.my
• BGP4-MIB.my
• CISCO-CHANNEL-MIB.my
• CISCO-FLASH-MIB.my
• CISCO-IMAGE-MIB.my
• CISCO-PING-MIB.my
• CISCO-PRODUCTS-MIB.my
• CISCO-QLLC01-MIB.my
• CISCO-REPEATER-MIB.my
• CISCO-SMI.my
• CISCO-TC.my
• CISCO-TCP-MIB.my
• RS-232-MIB.my
• SNA-SDLC-MIB.my
• SNMPv2-CONF.my
• SNMPv2-MIB.my
• SNMPv2-SMI.my
138
• SNMPv2-TC.my
• BGP4-MIB-V1SMI.my
• CISCO-CHANNEL-MIB-V1SMI.my
• CISCO-FLASH-MIB-V1SMI.my
• CISCO-IMAGE-MIB-V1SMI.my
• CISCO-PING-MIB-V1SMI.my
• CISCO-PRODUCTS-MIB-V1SMI.my
• CISCO-QLLC01-MIB-V1SMI.my
• CISCO-REPEATER-MIB-V1SMI.my
• CISCO-SMI-V1SMI.my
• CISCO-TC-V1SMI.my
• CISCO-TCP-MIB-V1SMI.my
• RS-232-MIB-V1SMI.my
• SNA-SDLC-MIB-V1SMI.my
• SNMPv2-MIB-V1SMI.my
• SNMPv2-SMI-V1SMI.my
• SNMPv2-TC-V1SMI.my
Listado 7.4 MIB Cisco serie 7200
• BRIDGE-MIB.my
• CISCO-GENERAL-TRAPS.my
• NOVELL-IPX-MIB.my
• NOVELL-RIPSAP-MIB.my
• OLD-CISCO-APPLETALK-MIB.my
• OLD-CISCO-CHASSIS-MIB.my
• OLD-CISCO-CPU-MIB.my
• OLD-CISCO-DECNET-MIB.my
• OLD-CISCO-ENV-MIB.my
• OLD-CISCO-FLASH-MIB.my
• OLD-CISCO-INTERFACES-MIB.my
• OLD-CISCO-IP-MIB.my
• OLD-CISCO-MEMORY-MIB.my
• OLD-CISCO-NOVELL-MIB.my
• OLD-CISCO-SYSTEM-MIB.my
• OLD-CISCO-TS-MIB.my
139
• OLD-CISCO-VINES-MIB.my
• OLD-CISCO-XNS-MIB.my
• RFC1213-MIB.my
• RFC1231-MIB.my
• RFC1243-MIB.my
• RFC1315-MIB.my
• RFC1381-MIB.my
• RFC1382-MIB.my
• RFC1398-MIB.my
• RFC1406-MIB.my
• SNMP-REPEATER-MIB.my
• SOURCE-ROUTING-MIB.my
• BGP4-MIB.my
• CISCO-CHANNEL-MIB.my
• CISCO-FLASH-MIB.my
• CISCO-IMAGE-MIB.my
• CISCO-PING-MIB.my
• CISCO-PRODUCTS-MIB.my
• CISCO-QLLC01-MIB.my
• CISCO-REPEATER-MIB.my
• CISCO-SMI.my
• CISCO-TC.my
• CISCO-TCP-MIB.my
• RS-232-MIB.my
• SNA-SDLC-MIB.my
• SNMPv2-CONF.my
• SNMPv2-MIB.my
• SNMPv2-SMI.my
• SNMPv2-TC.my
• BGP4-MIB-V1SMI.my
• CISCO-CHANNEL-MIB-V1SMI.my
• CISCO-FLASH-MIB-V1SMI.my
• CISCO-IMAGE-MIB-V1SMI.my
• CISCO-PING-MIB-V1SMI.my
• CISCO-PRODUCTS-MIB-V1SMI.my
• CISCO-QLLC01-MIB-V1SMI.my
140
• CISCO-REPEATER-MIB-V1SMI.my
• CISCO-SMI-V1SMI.my
• CISCO-TC-V1SMI.my
• CISCO-TCP-MIB-V1SMI.my
• RS-232-MIB-V1SMI.my
• SNA-SDLC-MIB-V1SMI.my
• SNMPv2-MIB-V1SMI.my
• SNMPv2-SMI-V1SMI.my
• SNMPv2-TC-V1SMI.my
Listado 7.5 MIB Cisco serie 7500
• ATM-MIB.my
• BGP4-MIB.my
• BRIDGE-MIB.my
• CISCO-AAL5-MIB.my
• CISCO-ALPS-MIB.my
• CISCO-ATM-EXT-MIB.my
• CISCO-ATM-PVC-MIB.my
• CISCO-BCP-MIB.my
• CISCO-BGP-POLICY-ACCOUNTING-MIB.my
• CISCO-BSTUN-MIB.my
• CISCO-BLUK-FILE-MIB.my
• CISCO-BRIDGE-EXT-MIB.my
• CISCO-CABLE-DIAG-MIB.my
• CISCO-CALL-HISTORY-MIB.my
• CISCO-CAR-MIB.my
• CISCO-CASA-MIB.my
• CISCO-CAT6k-CROSSBAR-MIB.my
• CISCO-CDP-MIB.my
• CISCO-CLASS-BASED-QOS-MIB.my
• CISCO-CONFIG-COPY-MIB.my
• CISCO-CONFIG-MAN-MIB.my
• CISCO-DLSW-EXT-MIB.my
• CISCO-DLSW-MIB.my
• CISCO-DSPU-MIB.my
141
• CISCO-ENHANCED-MEMPOOL-MIB.my
• CISCO-ENTITY-ASSET-MIB.my
• CISCO-ENTITY-EXT-MIB.my
• CISCO-ENTITY-FRU-CONTROL-MIB.my
• CISCO-ENTITY-SENSOR-MIB.my
• CISCO-ENTITY-VENDORTYPE-OID-MIB.my
• CISCO-ENVMON-MIB.my
• CISCO-FLASH-MIB.my
• CISCO-FLEX-LINKS-MIB.my
• CISCO-FRAME-RELAY-MIB.my
• CISCO-FTP-CLIENT-MIB.my
• CISCO-HRSP-EXT-MIB.my
• CISCO-HRSP-MIB.my
• CISCO-IETF-ATM2-PVCTRAP-MIB.my
• CISCO-IETF-IP-FORWARD-MIB.my
• CISCO-IETF-IP-MIB.my
• CISCO-IF-EXTENSIONS-MIB.my
• CISCO-IMAGE-MIB.my
• CISCO-IPMROUTE-MIB.my
• CISCO-IP-STAT-MIB.my
• CISCO-L2-CONTROL-MIB.my
• CISCO-L2-TUNNEL-CONFIG-MIB.my
• CISCO-L2L3-INTERFACE-CONFIG-MIB.my
• CISCO-LAG-MIB.my
• CISCO-MAC-NOTIFICATION-MIB.my
• CISCO-MEMORY-POOL-MIB.my
• CISCO-NDE-MIB.my
• CISCO-NTP-MIB.my
• CISCO-PAE-MIB.my
• CISCO-PAGP-MIB.my
• CISCO-PIM-MIB.my
• CISCO-PING-MIB.my
• CISCO-PORT-SECURITY-MIB.my
• CISCO-PRIVATE-VLAN-MIB.my
• CISCO-PROCESS-MIB.my
• CISCO-PRODUCTS-MIB.my
142
• CISCO-QUEUE-MIB.my
• CISCO-RF-MIB.my
• CISCO-RMON-CONFIG-MIB.my
• CISCO-RSRB-MIB.my
• CISCO-RTTMON-MIB.my
• CISCO-SLB-EXT-MIB.my
• CISCO-SLB-MIB.my
• CISCO-SNAPSHOT-MIB.my
• CISCO-SONET-MIB.my
• CISCO-SRP-MIB.my
• CISCO-STACK-MIB.my
• CISCO-STP-EXTENSIONS-MIB.my
• CISCO-STUN-MIB.my
• CISCO-SVI-AUTOSTATE-MIB.my
• CISCO-SWITCH-ENGINE-MIB.my
• CISCO-SYSLOG-MIB.my
• CISCO-TAP-MIB.my
• CISCO-TCP-MIB.my
• CISCO-UDLDP-MIB.my
• CISCO-VINES-MIB.my
• CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB.my
• CISCO-VLAN-MEMBERSHIP-MIB.my
• CISCO-VLAN-TRANSLATION-MIB.my
• CISCO-VPDN-MGMT-MIB.my
• CISCO-VTP-MIB.my
• DLSW-MIB.my
• ENTITY-MIB.my
(RFC2737)
• ETHERLIKE-MIB.my
(RFC2665)
• EXPRESSION-MIB.my
• HC-RMON-MIB.my
• IEEE8021-PAE-MIB.my
• IEEE8023-LAG-MIB.my
• IF-MIB.my
• IGMP-MIB.my
• INT-SERV-GUARANTEED-MIB.my
• INT-SERV-MIB.my
143
• IPMROUTE-MIB.my
• ISDN-MIB.my
• MPLS-LDP-MIB.my
• MPLS-LSR-MIB.my
• MPLS-TE-MIB.my
• MPLS-VPN-MIB.my
• NOTIFICATION-LOG-MIB.my
• NOVELL-IPX-MIB.my
• NOVELL-NLSP-MIB.my
• NOVELL-RIPSAP-MIB.my
• OLD-CISCO-APPLETALK-MIB.my
• OLD-CISCO-CHASSIS-MIB.my
• OLD-CISCO-CPU-MIB.my
• OLD-CISCO-DECNET-MIB.my
• OLD-CISCO-FLASH-MIB.my
• OLD-CISCO-INTERFACES-MIB.my
• OLD-CISCO-IP-MIB.my
• OLD-CISCO-MEMORY-MIB.my
• OLD-CISCO-NOVELL-MIB.my
• OLD-CISCO-SYS-MIB.my
• OLD-CISCO-TCP-MIB.my
• OLD-CISCO-TS-MIB.my
• OLD-CISCO-VINES-MIB.my
• OLD-CISCO-XNS-MIB.my
• PIM-MIB.my
• RFC1213-MIB.my
(MIB-II)
• RFC1243-MIB.my
(APPLETALK MIB)
• OSPF-MIB.my
• FRAME-RELAY-DTE-MIB.my
• DS3-MIB.my
• RFC2006-MIB.my
(MIP MIB)
• RMON-MIB.my
(RFC 1757)
• RMON2-MIB.my
(RFC 2021)
• RS-232-MIB.my
• RSVP-MIB.my
• SMON-MIB.my
144
• SNA-SDLC-MIB.my
• SNMP-COMMUNITY-MIB.my
(RFC 2576)
• SNMP-FRAMEWORK-MIB.my
(RFC 2571)
• SNMP-MPD-MIB.my
(RFC 2572)
• SNMP-NOTIFICATION-MIB.my
(RFC 2573)
• SNMP-TARGET-MIB.my
(RFC 2573)
• SNMP-USM-MIB.my
(RFC 2574)
• SNMP-VACM-MIB.my
(RFC 2575)
• SNMPv2-MIB.my
• SONET-MIB.my
• TCP-MIB.my
• UDP-MIB.my
Listado 7.6 MIB Cisco serie 7600
1:other
2:regular1822
3:hdh1822
4:ddnX25
5:rfc877x25
6:ethernetCsmacd
7:iso88023Csmacd
8:iso88024TokenBus
9:iso88025TokenRing
37:atm
38:miox25
39:sonet
40:x25ple
41:iso88022llc
42:localTalk
43:smdsDxi
44:frameRelayService
45:v35
46:hssi
47:hippi
145
48:modem
49:aal5
50:sonetPath
51:sonetVT
52:smdsIcip
53:propVirtual
54:propMultiplexor
55:ieee80212
56:fibreChannel
57:hippiInterface
58:frameRelayInterconnect
59:aflane8023
60:aflane8025
61:cctEmul
62:fastEther
63:isdn
64:v11
65:v36
66:g703at64k
67:g703at2mb
68:qllc
69:fastEtherFX
70:channel
71:ieee80211
72:ibm370parChan
73:escon
74:dlsw
75:isdns
76:isdnu
77:lapd
78:ipSwitch
79:rsrb
100:voiceEM
101:voiceFXO
102:voiceFXS
103:voiceEncap
146
104:voiceOverIp
105:atmDxi
106:atmFuni
107:atmIma
108:pppMultilinkBundle
109:ipOverCdlc
140:dtm
141:dcn
142:ipForward
143:msdsl
144:ieee1394
145:if-gsn
146:dvbRccMacLayer
147:dvbRccDownstream
148:dvbRccUpstream
149:atmVirtual
150:mplsTunnel
151:srp
152:voiceOverAtm
153:voiceOverFrameRelay
154:idsl
155:compositeLink
156:ss7SigLink
157:propWirelessP2P
158:frForward
159:rfc1483
160:usb
161:ieee8023adLag
162:bgppolicyaccounting
163:frf16MfrBundle
164:h323Gatekeeper
165:h323Proxy
166:mpls
167:mfSigLink
168:hdsl2
169:shdsl
147
170:ds1FDL
171:pos
172:dvbAsiIn
173:dvbAsiOut
174:plc
175:nfas
176:tr008
177:gr303RDT
178:gr303IDT
179:isup
180:propDocsWirelessMaclayer
181:propDocsWirelessDownstream
182
210:linegroup
211:voiceEMFGD
212:voiceFGDEANA
213:voiceDID
214:mpegTransport
215:sixToFour
216:gtp
217:pdnEtherLoop1
218:pdnEtherLoop2
219:opticalChannelGroup
220:homepna
221:gfp
222:ciscoISLvlan
223:actelisMetaLOOP
224:fcipLink
225:rpr
226:qam
227:lmp
228:cblVectaStar
229:docsCableMCmtsDownstream
230:adsl2
231:macSecControlledIF
232:macSecUncontrolledIF
148
233:aviciOpticalEther
234:atmbond
Listado 7.7 Tipos de Interfaces definidas en IANA
#valores iniciales
$Sy=0;
foreach $ocu (@oc){
$Sy=$Sy+$ocu;
}
$Sx=0;
foreach $tii (@times){
$Sx=$Sx+$tii;
}
$N=scalar(@oc);
$Sx2=0;
foreach $tii2 (@times){
$Sx2=$Sx2+$tii2*$tii2;
}
$Sy2=0;
foreach $ocu2 (@oc){
$Sy2=$Sy2+$ocu2*$ocu2;
}
$Sxy=0;
$c=0;
foreach $ocu (@oc){
$Sxy=$Sxy+$ocu*$times[$c];
$c++;
}
149
$Slnx=0;
foreach $tii (@times){
$Slnx=$Slnx+ln($tii);
}
$Slny=0;
foreach $ocu (@oc){
$Slny=$Slny+ln($ocu);
}
$Slnx2=0;
foreach $tii2 (@times){
$Slnx2=$Slnx2+ln($tii2)*ln($tii2);
}
$Slny2=0;
foreach $ocu2 (@oc){
$Slny2=$Slny2+ln($ocu2)*ln($ocu2);
}
$Sxlny=0;
$c=0;
foreach $ocu (@oc){
$Sxlny=$Sxlny+ln($ocu)*$times[$c];
$c++;
}
$Sylnx=0;
$c=0;
foreach $ocu (@oc){
$Sylnx=$Sylnx+$ocu*ln($times[$c]);
$c++;
}
$Slnxlny=0;
$c=0;
foreach $ocu (@oc){
$Slnxlny=$Slnxlny+ln($ocu)*ln($times[$c]);
150
$c++;
}
#Correlaciones, la mas cercana a uno es la ke se busca!(la mayor)
if ($Sx2 == (($Sx*$Sx)/$N)){$denlia=0.00001;}else{$denlia=($Sx2-($Sx*$Sx)/$N);}
if ($Sy2 == (($Sy*$Sy)/$N)){$denlib=0.00001;}else{$denlib=($Sy2-($Sy*$Sy)/$N);}
$rli=($Sxy-$Sx*$Sy/$N)*($Sxy-$Sx*$Sy/$N)/($denlia*$denlib);
if ($Slnx2 == (1/$N*$Slnx*$Slnx)){$denloa=0.00001;}else{$denloa=($Slnx2-1/$N*$Slnx*$Slnx);}
if ($Sy2 == (1/$N*$Sy*$Sy)){$denlob=0.00001;}else{$denlob=($Sy2-1/$N*$y*$Sy);}
$rlo=($Sylnx-1/$N*$Slnx*$Sy)*($Sylnx-1/$N*$Slnx*$Sy)/($denloa*$denlob);
if($Slnx2 == ($Slnx*$Slnx/$N)){$denpoa=0.00001;}else{$denpoa=($Slnx2-$Slnx*$Slnx/$N);}
if($Slny2 == ($Slny*$Slny/$N)){$denpob=0.00001;}else{$denpob=($Slny2-$Slny*$Slny/$N);}
$rpo=($Slnxlny-($Slnx*$Slny)/$N)*($Slnxlny-($Slnx*$Slny)/$N)/($denpoa*$denpob);
if($Sx2 == ($Sx*$Sx/$N)){$denexa=0.00001;}else{$denexa=($Sx2-$Sx*$Sx/$N);}
if($Slny2 == ($Slny*$Slny/$N)){$denexb=0.00001;}else{$denexb=($Slny2-$Slny*$Slny/$N);}
$rex=($Sxlny-$Sx*$Slny/$N)*($Sxlny-$Sx*$Slny/$N)/($denexa*$denexb);
#correcion lineal horizontal sin cambios!
if ($Sy2 == (($Sy*$Sy)/$N)){$rli = 1.000000; $rlo = 1.000000;}
if($Slny2 == ($Slny*$Slny/$N)){$rpo = 1.000000; $rex = 1.000000;}
push @erres, $rli;
push @erres, $rlo;
push @erres, $rpo;
push @erres, $rex;
#sort erres!
@erresS = sort {$a<=>$b} @erres;
#cosntantes lineal y=Ali+Bli*x
if ($Sx2 == (($Sx*$Sx)/$N)){$denlia=0.00001;}else{$denlia=($Sx2-($Sx*$Sx)/$N);}
151
$Bli=($Sxy-$Sx*$Sy/$N)/($denlia);
$Ali=$Sy/$N-$Bli*$Sx/$N;
#cosntantes logaritmica y=Alo+Blo*LN(x)
if ($Slnx2 == (1/$N*$Slnx*$Slnx)){$denloa=0.00001;}else{$denloa=($Slnx2-1/$N*$Slnx*$Slnx);}
$Blo=($Sylnx-1/$N*$Slnx*$Sy)/($denloa);
$Alo=1/$N*($Sy-$Blo*$Slnx);
#cosntantes potencial y=Apo*x^Bpo
if($Slnx2 == ($Slnx*$Slnx/$N)){$denpoa=0.00001;}else{$denpoa=($Slnx2-$Slnx*$Slnx/$N);}
$Bpo=($Slnxlny-($Slnx*$Slny)/$N)/($denpoa);
$Apo=exp($Slny/$N-$Bpo*$Slnx/$N);
#constantes exponenciales
if($Sx2 == ($Sx*$Sx/$N)){$denexa=0.00001;}else{$denexa=($Sx2-$Sx*$Sx/$N);}
$Bex=($Sxlny-$Sx*$Slny/$N)/($denexa);
$Aex=exp($Slny/$N-$Bex*$Sx/$N);
Listado 7.8 Procedimiento de cálculo de los modelos de regresión

Documentos relacionados

Introducción a SNMP

Introducción a SNMP •  El dispositivo puede no tener un agente de SNMP •  El dispositivo puede estar configurado con otro texto de comunidad •  El dispositivo puede estar configurado para rechazar encuestas de SNMP de...

Más detalles