0% encontró este documento útil (0 votos)
124 vistas14 páginas

Prac 3

El documento describe los pasos para extender un agente SNMP en una práctica de la UNAN-León. Primero, se crea la estructura de directorios y el archivo MIB para definir los nuevos grupos de objetos del uso de CPU y memoria. Luego, se genera el código fuente para obtener los valores de los objetos a través de archivos de sistema. Finalmente, se compila la librería, se agrega al agente SNMP y se prueba mediante consultas SNMP.

Cargado por

Luis L.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
124 vistas14 páginas

Prac 3

El documento describe los pasos para extender un agente SNMP en una práctica de la UNAN-León. Primero, se crea la estructura de directorios y el archivo MIB para definir los nuevos grupos de objetos del uso de CPU y memoria. Luego, se genera el código fuente para obtener los valores de los objetos a través de archivos de sistema. Finalmente, se compila la librería, se agrega al agente SNMP y se prueba mediante consultas SNMP.

Cargado por

Luis L.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA

UNAN-LEÓN

Facultad de ciencias y tecnología

Carrera: Ing. Telemática

Componente: Gestión de sistemas UNIX

Practica 3: Extensión de un agente SNMP

Docente: Wilmer Moisés Matamoros Cáceres

Integrante:
Luis Antonio López Aragón 15-01208-0

Fecha: 22/5/2022
Primero creamos un directorio llamado .snmp donde se guardan los archivos
para esta práctica, en este mismo directorio creamos 3 directorios más,
llamados mibs, src y lib
Creamos nuestro archivo de mibs, nos vamos al directorio de mibs que hemos
creado antes y creamos el archivo

Creamos el nodo unan que cuelga de enterprises, dentro de unan creamos el


grupo resources, y creamos 2 grupos más, uno para el uso de la cpu y otro para
el uso de la memoria, ambos grupos cuelgan del grupo resources.
Luego creamos los objetos tanto para el grupo del uso de la cpu, como para los
del grupo del uso de la memoria.
Luego de haber creado nuestro archivo de mibs, debemos agregarlo para que
sea reconocido por el sistema cuando le hacemos consultas, para ello nos vamos
a editar el fichero /etc/snmp/[Link]

Agregamos el directorio nombre tenemos nuestra mibs a la variable mibdirs y


también agregamos una variable con el nombre de mibs y el módulo de nuestra
mibs, en este caso el nombre de nuestra mibs es unan
Ahora podemos realizar pruebas con el comando snmptranslate, para verificar
que nuestra mibs está realizada de forma correcta

Lo siguiente es generar el código fuente de nuestro modulo, para ello nos vamos
al directorio src y ejecutamos el siguiente comando mib2c con el cual
generamos todos los objetos del grupo resources.

Podemos observar que se han generado 2 archivos, uno llamado resources.h y


el otro resources.c, tendremos que editar el archivo .c para obtener los valores
para nuestros objetos.
En el archivo resources.c tenemos una plantilla de código, en este código
podemos encontrar una función para cada uno de los objetos que hemos creado
en nuestra mibs.
Para obtener los valores del primer grupo de objetos del uso de la cpu, creamos
una función llamada extract, se le pasara como parámetro un número entero,
definimos variables de tipo long para cada uno de los valores que queremos
obtener, con fopen mandamos a abrir el fichero /proc/stat, ya que dentro de
este archivo están los valores del uso de la cpu, y recuperamos los valores
guardándolos en cada una de las variables que hemos definido antes.
Con un switch retornamos el valor que deseemos obtener usando el numero
entero que se pasa como parámetro al momento de llamar a la función.
Para obtener el valor user definimos una variable de tipo long y le pasamos el
valor que retorna la función extract, en este caso retornara el valor user debido
al parámetro que le estamos pasando.

Para obtener los valores del segundo grupo de objetos del uso de la memoria
primero debemos agregar la librería sys/info.h, creamos una función llamada
mmryResult a la cual se le pasara como parámetro un numero entero, creamos
una estructura de tipo sysinfo y definimos una variable de tipo long para el
resultado y con un switch obtenemos el resultado que queramos según el caso
utilizando el numero entero que se usa como parámetro al llamar a la función.
Para obtener el valor totalram definimos una variable de tipo long y le pasamos
el valor que retorna la función mmryResult, en este caso retornara el primer
valor ya que lo especificamos en el número entero que le pasamos como
parámetro.
Ahora debemos compilar para generar la librería que se va agregar al agente
snmp, para ello utilizamos el archivo makefile.
En SRCS le indicamos el archivo .c que vamos a compilar y en PROG se indica
cual va ser el nombre de la salida de la compilación.
Para compilar escribimos make

Podemos observar que se genera el archivo [Link], el cual será la librería


que tenemos que agregar al agente snmp para que la invoque cuando necesite
devolver los valores de los objetos.

Copiamos el archivo [Link] en el directorio lib


Debemos agregar esta librería al agente, para ello vamos a editar el archivo
/etc/snmp/[Link]

Agregamos la línea dlmod, le indicamos un nombre en este caso resources y la


ruta donde se encuentra la librería, de esta forma agregamos nuestra librería al
agente snmp.
Por ultimo debemos agregar una vista que de acceso a nuestros objetos, para
ello creamos otra vista e incluimos el nodo unan.
Reiniciamos el servicio snmp y ahora podemos realizarle pruebas al agente,
para ello utilizamos los comando snmpget, snmpgetnext y snmpwalk

También podría gustarte