Monitoreo y NTP · que contiene la información del recurso, esta variable varia según el tipo de...
Transcript of Monitoreo y NTP · que contiene la información del recurso, esta variable varia según el tipo de...
2019 - TLecom - Tareas #6169
Tareas # 6159 (Nueva): Diseño de la solución tecnológica
Tareas # 6167 (Nueva): Diseño de los servicios
Monitoreo y NTP
04/04/2019 06:41 PM - Victor Alem
Status: Cerrada Start date: 04/04/2019
Priority: Normal Due date:
Assignee: TLecom % Done: 100%
Category: Estimated time: 9.00 hours
Target version: Spent time: 0.00 hour
Description
Investigar como implementar estos servicios en linux
Related issues:
Related to 2019 - TLecom - Tareas # 6213: Implementación de NTP y Monitoreo Cerrada 06/19/2019
History
#1 - 04/10/2019 11:51 AM - Edison Terra
- File Introducción.png added
- File Polls y Traps.png added
Monitoreo y NTP
¿Que es el Monitoreo de una Red?
La monitorización en las redes, en términos generales, consiste en emplear los protocolos de comunicaciones que hay disponibles para obtener
información sobre el estado de nuestros sistemas de comunicaciones, los cuales van desde routers hasta teléfonos fijos o móviles.
Protocolo Simple de Administración de Red: SNMP
Introducción y Objetivos:
El “Simple Network Management Protocol” es un protocolo de la capa de aplicación de red, el cuál fue creado con la idea de administrar la red de una
manera en común. La monitorización por SNMP es una de las más utilizadas en este momento para obtener información, el cuál se encarga de facilitar el
intercambio de información de configuración de red independientemente del tipo de dispositivo que se encuentre en la misma. Este es un componente de
la suite de protocolo de Internet como se define por el IETF (Internet Engineering Task Force) el cuál es es una organización internacional abierta de
normalización, que tiene como objetivos el contribuir a la ingeniería de Internet.
SNMP se compone de un conjunto de normas para la gestión de la red, incluyendo una base de datos de esquema denominada MIB's, también se
compone de una estación de Gestión y un Agente de Gestión, además de un conjunto de objetos de datos.
https://proyectos.interior.edu.uy/attachments/download/4076/Introducci%C3%B3n.png
Los objetivos que se tuvieron en cuenta a la hora de diseñar dicho protocolo fueron:
- La universalidad lo que permitiría que sea implementable desde los equipos mas pequeños a los mas grandes
- Sencillez y accesibilidad lo cual implica que sea implementable en pocas líneas de código
- El agregado de extensiones debería ser posible (nuevas MIBs)
- Gestión debería ser lo mas robusta posible
Implementación:
SNMP permite intercambiar dicha información, por medio de mensajes SNMP, relevantes sobre la configuración del dispositivo, se da entre el Gestor o
controlador y el Agente o controlado además de permitir realizar tareas de gestión de activos, tales como la modificación y la aplicación de una nueva
configuración a través de la modificación remota de variables. El Gestor posee una interfaz a través de la cual el administrador de la red puede monitorear
y controlar el estado de la red además de aplicaciones para recuperar fallas, configuración de sistemas, y análisis de la información obtenida de los
agentes. También puede trasladar los requerimientos del administrador en requerimientos a los agentes y elementos de monitoreo, a su vez cuenta con
una base de datos con la información obtenida de todos los agentes presentes en la red.
Las MIB's (Management Information Base) son las bases de datos recién nombradas, estas se encuentran establecidas por un conjunto de deficiones
basicas establecidas por SMI (Structure of Management Information) en la que se define el marco general bajo el cual las MIBs van a ser construidas
para contener informaciòn de gestiòn.
08/28/2020 1/8
Estas lo que hacen es gestionar todo aquel recurso de red que sea posible de ser gestionado y los representa a través de un objeto el cuál es una variable
que contiene la información del recurso, esta variable varia según el tipo de de recurso que se almacena y el conjunto de todas estas variables que son
conocidas por un agente es la MIB de este agente.
El Gestor debe implementar su funcionalidad accediendo a los objetos presentes en la MIB de cada agente a gestionar, lo que se puede hacer con cada
agente depende de la MIB implementada por este.
https://proyectos.interior.edu.uy/attachments/download/4079/img_2_arbol_mib_representando_oid.png
¿Que es una OID?
Las OID también llamadas objetos identificadores sirven para identificar de manera exclusiva objetos gestionados en una jerarquía MIB. Puede ser
representado como un árbol cuyos nodos son asignados por diferentes organizaciones. Generalmente, un OID es una larga secuencia de números,
codificando los nodos, separado por puntos. Los OID de objetos MIB de nivel superior pertenecen a diferentes organizaciones estándar.
Los proveedores definen sucursales privadas que incluyen objetos gestionados para sus propios productos.
SNMP básicamente funciona con el principio de que los sistemas de gestión de red envían una solicitud y los dispositivos gestionados devuelven una
respuesta.
Las OID's estan definidas por ASN.1, es una norma para representar datos independientemente de la máquina que se esté usando y sus formas de
representación internas y los tipos de datos pueden variar en el número de bits empleados para su codificación (ejemplo Integer, OctecString, etc).
Ejemplo de Sintaxis de una MIB:
Lab DEFINITIONS::=BEGIN
IMPORTS
OBJECT-TYPE,MODULE-IDENITY,TimeTicks, ipAddress, enterprises FROM SNMPv2-SMI;
Lab MODULE-IDENTITY
LAST-UPDATED "201809292648"
ORGANIZATION "Taller De Gestion Redes"
CONTACT-INFO "0154405524"
DESCRIPTION "Descripcion del modulo, que va a llevar a cabo esta MIB"
REVISION "201809292648"
::={ enterprises 673 }
Nombre OBJECT TYPE
SYNTAX Octectstring
MAX-ACCESS read-only
STATUS mandatory
DESCRIPTION "Leera el nombre de los equipos del laboratorio"
::= { Lab 2 }
EquipoTabla OBJECT-TYPE
SYNTAX SEQUENCE OF DateEquip
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Esta tabla contendra el resto de los valores de cada equipo."
::= { Lab 1 }
DateEquip OBJECT-TYPE
SYNTAX DateEquip
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Datos de la computadora"
INDEX
{ sysNombreEquipo }
::= { EquipoTabla 1 }
DateEquip::=
SEQUENCE{
sysNombreEquipo octectstring
Direccion ipAddress
SO octectstring
Activos INTEGER
}
sysNombreEquipo OBJECT TYPE
SYNTAX Octectstring
MAX-ACCESS read-only
STATUS mandatory
DESCRIPTION "Leera el nombre de los equipos de este servidor"
::= { DateEquip 1 }
Direccion OBJECT TYPE
SYNTAX ipAddress
MAX-ACCESS read-only
STATUS mandatory
08/28/2020 2/8
DESCRIPTION "Leera la direccion IP de los equipos de este servidor"
::= { DateEquip 2 }
SO OBJECT TYPE
SYNTAX octectstring
MAX-ACCESS read-only
STATUS mandatory
DESCRIPTION "Brindara informacion del sistema operativo de los equipos de este servidor"
::= { DateEquip 3 }
Activos OBJECT TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS mandatory
DESCRIPTION "contara la cantidad de usuarios activos de este servidor"
::= { DateEquip 1 }
END
Forma de Comunicación:
Para poder llevar a cabo la comunicación entre ambos se debe implementar como mínimo las siguientes funcionalidades básicas las cuales se pueden
englobar en mensajes de monitorización o lectura (get) y mensajes de control o escritura (set) además de funcionalidades especiales (traps o polls):
- Get ; lo que hace es permitirle al gestor acceder a los valores de las variables almacenadas en la MIB
- Set ; lo que hace es permitir que el gestor pueda configurar los valores en algunas de las variables de dicha MIB
- Trap ; en este caso se le permite al el agente que notifique al gestor basándose en cambios o eventos significativos tales como fallas o anormalidades
- Poll ; lo que se hace es generar un pedido de información por parte del gestor hacia la estación del agente, esto generalmente se hace periódicamente
para saber el estado de la otra estación. Por otra parte se utiliza para recolectar información de variables tales como el tráfico, uso de memoria y/o
consumo de CPU
https://proyectos.interior.edu.uy/attachments/download/4077/Polls%20y%20Traps.png
Ejemplo de Monitorización SNMP Polling
En este ejemplo se puede ver como se por medio de un comando en terminal se lanza un chequeo contra una dirección IP, para esto se requiere un
parámetro particular de la comunidad SNMP el cuál consiste en una cadena alfanumérica empleada para autorizar la operación, añadiendo una barrera
de seguridad, cuando realizamos esta acción obtenemos un listado con una gran cantidad de información:
https://proyectos.interior.edu.uy/attachments/download/4078/monitorizacion-snmp-1.png
Cada una de las líneas devueltas por el comando 'snmpwalk' tiene un OID,corresponde a un dato determinado del dispositivo.
Protocolo de Transporte:
Se trabaja directamente sobre IP, por otro lado si tomamos encuenta el protocolo de transporte, en el caso de TCP no seria una buena opción para este
caso debido a que presenta mayor complejidad ya que lleva a cabo el manejo de conexiones y controles de flujo , en el caso de UDP hay mejor flexibilidad
y eficiencia aunque no sea tan seguro, pero es la mejor elección para llevar a cabo las peticiones.
Un ejemplo que utiliza tanto UDP como IP es el agente SNMP ya que debe encargarse de controlar su MIB, de medir todos los parámetros soportados y
de atender a los pedidos del gestor. El gestor y el agente deben estar de acuerdo en la definición de dicha MIB.
https://proyectos.interior.edu.uy/attachments/download/4080/b.png
SNMP en Linux
Existen distintos softwares que llevan a cabo las actividades de SNMP:
Uno de los paquetes más populares de SNMP es el CMU-SNMP, el cuál es compatible con el estándar SNMPv1 e incluye algunas de las nuevas
funcionalidades de SNMPv2, contiene algunas herramientas de gestión que permiten, desde la línea de comandos, enviar peticiones a dispositivos que
ejecuten agentes SNMP. También contiene un programa agente SNMP, que sirve para llevarse a cabo sobre Linux, que ofrece a gestores ejecutándose
en la red , información sobre el estado de los interfaces, tablas de encaminamiento, instante de inicio, entre otras cosas.
Por otra parte existe una herramienta diseñada para la administración y monitoreo de servicios de red, Servidores y hardware de red denominada Zabbix,
ofrece monitoreo para “LAN, Redes locales” y “WAN, redes de área amplia”. Dicho software se implementa de la siguiente manera, la aplicación se
instala en un servidor Linux y luego se dedica a la “Recolección de información” de los dispositivos de la red.
https://proyectos.interior.edu.uy/attachments/download/4242/zabbix-website-v4_orig.png
La ventaja de Zabbix frente a otros softwares de monitoreo es que todo lo que necesita para el monitoreo esta disponible de forma libre, con el detalle qué
la configuración es un poco más técnica sin embargo es fácil de comprender. Dicho software usa MySQL, PostgreSQL, SQLite, Oracle o IBM DB2 como
base de datos, su backend está escrito en C y el frontend web está escrito en PHP.
Entre las funciones que ofrece Zabbix podemos encontrar, auto descubrimiento de servidores y dispositivos de red, posee un alto rendimiento y alta
08/28/2020 3/8
capacidad lo que le da la posibilidad de monitorizar cientos de miles de dispositivos de manera distribuida y con una administración web centralizada,
ademas cuenta con agentes para Linux, Mac y Windows es muy liviano y consume un mínimo de recurso del equipo donde se instale. Se instalan en los
“Servidores” o “Estaciones de trabajo” que le interese monitorear, ademas esta solución le permite ver el estado de Impresoras, Routers, Switches,
sensores de temperatura y humedad entre otros. Por otro lado tiene la capacidad de llevar a cabo sus funciones de monitorización sin agentes.
En si los agentes luego de ser instalados se encuentran a esperas de las ordenes del "Servidor Recolector Zabbix" para envíar únicamente la información
que les sea pedida por dicho servidor recolector.
Instalación y Configuración de Zabbix:
[[https://proyectos.interior.edu.uy/issues/6213]]
Referencias:
[[https://es.wikipedia.org/wiki/Protocolo_simple_de_administraci%C3%B3n_de_red]]
[[https://blog.pandorafms.org/es/monitorizacion-snmp]]
[[https://www.incibe-cert.es/blog/snmp-tan-simple-el-nombre-indica]]
[[http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/January1998/article21.html]]
[[http://wiki.salud.gob.sv/wiki/Configuraci%C3%B3n_de_SNMP_en_Debian]]
[[http://911-ubuntu.weebly.com/zabbix_como_funciona/conoce-la-estructura-de-zabbix-y-como-usarlo]]
[[https://es.wikipedia.org/wiki/Zabbix]]
- Diapositivas sobre SNMP, ASN.1 y SMI del Taller de Gestión de Redes
#2 - 04/10/2019 12:29 PM - Edison Terra
- File monitorizacion-snmp-1.png added
#3 - 04/10/2019 12:46 PM - Edison Terra
- File img_2_arbol_mib_representando_oid.png added
#4 - 04/10/2019 02:03 PM - Edison Terra
- File a.png added
- File b.png added
#5 - 04/10/2019 02:07 PM - Edison Terra
- File deleted (a.png)
#6 - 04/11/2019 11:43 AM - Victor Alem
Edison Terra escribió:
Monitoreo y NTP
[..........]
Referencias:
[[https://es.wikipedia.org/wiki/Protocolo_simple_de_administraci%C3%B3n_de_red]]
[[https://blog.pandorafms.org/es/monitorizacion-snmp]]
[[https://www.incibe-cert.es/blog/snmp-tan-simple-el-nombre-indica]]
[[http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/January1998/article21.html]]
- Diapositivas sobre SNMP del Taller de Gestión de Redes
GRACIAS! GRACIAS POR PONER REFERENCIAS!!!!!!
08/28/2020 4/8
#7 - 04/11/2019 03:51 PM - Alexander Rivero
- File IMAGEN 1.jpg added
- File Imagen2.jpg added
- Status changed from Nueva to En curso
Network Time Protocol (NTP)
¿Que es y para que sirve?
Es un protocolo de los más antiguos de internet y sigue estando en uso hoy en día, el cuál revela el desajuste del reloj local del cliente en comparación con
el reloj local de un servidor de tiempo enviando una estampa de tiempo del servidor al cliente.
Este protocolo es utilizado para sincronizar redes o equipos con la hora del servidor de tiempo.
En general para un estudio detallado de cualquier servicio distribuido, es muy útil el disponer de datos horarios precisos entre los equipos implicados, bien
sea para la detección de problemas de hardware y/o software, así como para el estudio estadístico de los mismos.
¿Como funciona?
El funcionamiento del protocolo NTP consiste esencialmente en establecer una ruta hacia el servidor de tiempo especificado, calcula el tiempo que tarda
en viajar la estampa de tiempo y de regreso (Round Trip Delay), después compensa ese retardo y luego envía la estampa de tiempo para sincronizar el
equipo del cliente.
https://proyectos.interior.edu.uy/attachments/download/4089/IMAGEN%201.jpg
En este protocolo existen estratos. La primera vez que un servidor corre, hace los cálculos de delay y los guarda para no tener que hacerlos nuevamente,
este servidor se sincroniza con los de su mismo estrato o superiores, teniendo así, mayor cantidad de referencias y mayor precisión del tiempo.
https://proyectos.interior.edu.uy/attachments/download/4090/Imagen2.jpg
¿Como es su configuración?
El protocolo NTP puede trabajar en uno o más modos de trabajo, uno de ellos es el modo cliente/servidor en el cuál un cliente se sincroniza con un
servidor.
NTP también soporta un modo simétrico, el cuál permite a cada uno de los servidores sincronizarse con otro, para proporcionarse copias de seguridad
mutuamente.
NTP también soporta el modo broadcast por el cuál muchos cliente pueden sincronizarse con uno o varios servidores, reduciendo el tráfico en la red
cuando están involucrados un gran número de clientes.
NTP en linux.
Chrony es un software que será de utilidad y está disponible en los repositorios de Ubuntu. Chrony está orientado a equipos más corrientes, los cuales son
inestables, entran en modo de suspensión o interrumpiedno la conexión con internet de manera intermitente. Chrony está pensado también para máquinas
virtuales, un ambiente mucho más inestable. Se caracteriza por su bajo consumo de recursos (costo). Tiene dos componentes principales: chronyd un
demonio que se ejecuta al iniciar la computadora y chronyc una interfaz por línea de comandos al usuario para su configuración. Ha sido evaluado como
muy seguro y con apenas unas cuantas incidencias
Instalar Chrony en Linux.
En algunos sistemas, Chrony puede estar instalado de forma predeterminada. Aún así, si falta el paquete, puedes instalarlo fácilmente utilizando tu
herramienta de gestión de paquetes por defecto en tus respectivas distribuciones de Linux, en nuestro caso (Debian) utilizando el siguiente comando:
# apt install chrony
Para comprobar el estado de cronyd utiliza el siguiente comando:
# systemctl status chronyd [En SystemD]
# /etc/init.d/chronyd status [En Init]
Si quieres habilitar el demonio chrony al arrancar, puedes utilizar el siguiente comando:
# systemctl enable chrony [En SystemD]
# chkconfig --add chronyd [En Init]
Comprueba la sincronización con Chrony en Linux.
Para comprobar si chrony está realmente sincronizado, usaremos su programa de línea de comandos chronyc, que tiene la opción de seguimiento que
08/28/2020 5/8
proporcionará información relevante.
# chronyc tracking
https://proyectos.interior.edu.uy/attachments/download/4144/Check-Chrony-Synchronization-in-Linux.png
Los archivos listados proporcionan la siguiente información:
Reference ID – el Id. de referencia y el nombre con el que se sincroniza actualmente el ordenador.
Stratum – número de saltos a un ordenador con un reloj de referencia conectado.
Ref time – es la hora UTC en la que se realizó la última medición desde la fuente de referencia.
System time – retardo del reloj del sistema desde el servidor sincronizado.
Last offset – desplazamiento estimado de la última actualización del reloj.
RMS offset – promedio a largo plazo del valor de offset.
Frequency – esta es la tasa por la cual el reloj del sistema se equivoca si chronyd no lo está corrigiendo. Se presenta en ppm (partes por millón).
Residual freq – la frecuencia residual indica la diferencia entre las mediciones de la fuente de referencia y la frecuencia que se está utilizando
actualmente.
Skew – límite de error estimado de la frecuencia.
Root delay – el total de los retrasos de la ruta de red al ordenador de estrato, desde el que se está sincronizando el ordenador.
Leap status – es el estado de salto que puede tener uno de los siguientes valores: normal, insertar segundo, borrar segundo o no sincronizado.
Para comprobar la información sobre las fuentes de chrony, puedes ejecutar el siguiente comando:
# chronyc sources
https://proyectos.interior.edu.uy/attachments/download/4145/Check-Chrony-Sources.png
Configurar Chrony en Linux
El archivo de configuración de chrony se encuentra en /etc/chrony.conf o /etc/chrony/chrony.conf y el archivo de configuración de ejemplo puede tener
este aspecto:
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
stratumweight 0
driftfile /var/lib/chrony/drift
makestep 10 3
logdir /var/log/chrony
La configuración anterior proporciona la siguiente información:
server – esta directiva se utiliza para describir un servidor NTP desde el que sincronizar.
stratumweight – cuánta distancia debe añadirse por estrato a la fuente de sincronización. El valor por defecto es 0.0001.
driftfile – ubicación y nombre del archivo que contiene los datos.
makestep – esta directiva hace que chrony corrija gradualmente cualquier hora compensada por exceso de velocidad o ralentización del reloj según sea
necesario.
logdir – al archivo de registro de chrony.
Si quieres escalonar el reloj del sistema inmediatamente e ignorar cualquier ajuste que esté en curso, puedes utilizar el siguiente comando:
# chronyc makestep
Si decides detener Chrony, puedes utilizar los siguientes comandos.
# systemctl stop chrony [On SystemD]
# /etc/init.d/chronyd stop [On Init]
Referencias:
[[https://www.slideserve.com/wilson/sincronizaci-n-de-relojes-ntp]]
[[https://www.slideserve.com/noe/sincronizaci-n-de-la-hora-oficial-con-servidor-ntp-cronos-del-cenam]]
[[https://es.wikipedia.org/wiki/Network_Time_Protocol]]
[[https://maslinux.es/como-instalar-y-usar-chrony-en-gnu-linux/]]
08/28/2020 6/8
#8 - 04/24/2019 08:40 PM - Victor Alem
Edison Terra escribió:
Monitoreo y NTP
¿Que es el Monitoreo de una Red?
La monitorización en las r...
[...]
Edison, está bien la descripción del protocolo, pero estaría bueno que investiguen un poco algún software de monitoreo. Por ejemplo, si quiero monitorizar
un OID específico de un equipo, guardar un histórico, generar alarmas, etc, ¿lo puedo hacer solo instalando snmpd?
#9 - 04/24/2019 08:45 PM - Victor Alem
Alexander Rivero escribió:
Network Time Protocol (NTP)
¿Que es y para que sirve?
Es un protocolo de l.....
Alexander, gracias por el material. Estaría bueno tener algún ejemplo de configuración del software, hablaste de Chrony, empieza por ahí.
#10 - 05/01/2019 11:55 AM - Alexander Rivero
- File Check-Chrony-Synchronization-in-Linux.png added
#11 - 05/01/2019 12:18 PM - Alexander Rivero
- File Check-Chrony-Sources.png added
#12 - 05/05/2019 11:58 AM - Edison Terra
- File oid.png added
#13 - 05/05/2019 12:22 PM - Edison Terra
- % Done changed from 0 to 70
#14 - 05/16/2019 05:39 PM - Victor Alem
- Related to Tareas #6213: Implementación de NTP y Monitoreo added
#15 - 05/30/2019 09:52 AM - Edison Terra
- File zabbix-website-v4_orig.png added
#16 - 06/03/2019 02:59 PM - Edison Terra
- % Done changed from 70 to 90
- Estimated time set to 9.00
#17 - 06/04/2019 01:55 PM - Edison Terra
- Status changed from En curso to Resuelta
- % Done changed from 90 to 100
#18 - 06/19/2019 10:50 PM - Victor Alem
08/28/2020 7/8
- Status changed from Resuelta to Cerrada
Files
Introducción.png 16.5 KB 04/10/2019 Edison Terra
Polls y Traps.png 14.8 KB 04/10/2019 Edison Terra
monitorizacion-snmp-1.png 73 KB 04/10/2019 Edison Terra
img_2_arbol_mib_representando_oid.png 124 KB 04/10/2019 Edison Terra
b.png 15.2 KB 04/10/2019 Edison Terra
IMAGEN 1.jpg 64.6 KB 04/11/2019 Alexander Rivero
Imagen2.jpg 29.8 KB 04/11/2019 Alexander Rivero
Check-Chrony-Synchronization-in-Linux.png 2.18 KB 05/01/2019 Alexander Rivero
Check-Chrony-Sources.png 3.12 KB 05/01/2019 Alexander Rivero
oid.png 188 KB 05/05/2019 Edison Terra
zabbix-website-v4_orig.png 62.7 KB 05/30/2019 Edison Terra
08/28/2020 8/8