La supervisión de recursos es un aspecto esencial de la gestión de cualquier sistema, ya sea un sistema informático, una red o un servidor. Al monitorear los recursos, podemos obtener información valiosa sobre el rendimiento de nuestros sistemas, identificar posibles problemas antes de que se conviertan en problemas críticos y optimizar el uso de los recursos para mejorar el rendimiento y reducir los costos.
Aquí hay algunas razones específicas por las que es importante monitorear los recursos:
- Optimización del rendimiento — La monitorización de recursos ayuda a identificar cuellos de botella en el rendimiento para que los administradores puedan tomar medidas correctivas para mejorar el rendimiento del sistema. Por ejemplo, si observamos que CPU el uso es constantemente alto, podemos actualizar el hardware o ajustar la distribución de la carga de trabajo para equilibrar la carga de manera más efectiva.
- Planificación de capacidad La monitorización de recursos proporciona información sobre la capacidad utilizada, lo que permite a los administradores tomar decisiones informadas sobre cuándo añadir más recursos para satisfacer la creciente demanda. Esto ayuda a garantizar que el sistema tenga suficiente capacidad para satisfacer las demandas actuales y futuras.
- Control de costos — El monitoreo de recursos ayuda a rastrear el uso de recursos, lo que puede ayudar a las organizaciones a identificar oportunidades para reducir costos al optimizar el uso y retirar recursos no utilizados.
- Seguridad — Los recursos de monitoreo también pueden ayudar a detectar posibles amenazas a la seguridad al brindar visibilidad sobre actividades o patrones inusuales que pueden indicar una violación u otro acceso no autorizado.
En general, la supervisión de recursos es una herramienta esencial para garantizar el rendimiento, la escalabilidad y la seguridad óptimos de los sistemas de TI.
programa para la instalacion
En ese artículo usaremos el paquete para construir ese sistema de monitoreo, alerta y visualización. MongoDB, Graphana, Prometheus proporcionarán una solución interesante para nuestros propósitos. Graphana es un sistema que incluye muchos módulos y formas de su sistema de visualización. Muy cómoda. Prometheus juega un papel igualmente importante: monitorear, alertar y transportar datos. MongoDB es una base de datos común con guardar datos como función principal. ¡Echemos un vistazo a esto!
Instalar y explotar el sistema de monitoreo.
Antes de usar la utilidad principal, actualice y actualice su sistema:
sudo apt update -y && sudo apt dist-upgrade -y
Para tirar del contenedor necesita registrarse en DockerHub, complete todos los campos necesarios y verifique el correo electrónico para confirmar:

Con el siguiente paso, descargue todos los requisitos y el software:
apt install docker.io 
Luego, debemos iniciar sesión en la cuenta en nuestro servidor mediante el siguiente comando:
docker login
¡No verá la contraseña de escritura, pero se ingresarán todas las letras y símbolos! Necesitamos extraer todos los contenedores necesarios que tienen bibliotecas y aplicaciones de sistema compiladas:
docker pull grafana/grafana && docker pull prom/prometheus && docker pull ranchercharts/bitnami-mongodb-exporter:0.8.0-debian-9-r4 
Después de esto, necesitamos crear dependencias entre la base de datos y el sistema de monitoreo, creemos un archivo de configuración en la carpeta:
cd / && mkdir /conf && nano conf/prometheus.yml
Introduzca en los archivos de configuración los siguientes parámetros:
global:
scrape_interval: 15s # how often to scrape targets by default
evaluation_interval: 15s # how often to evaluate rules by default
scrape_configs:
- job_name: 'mongodb-exporter'
scrape_interval: 5s
static_configs:
- targets: ['mongo-exporter:9216']

En esos parámetros hemos indicado MongoDB y el puerto para la comunicación y exportación de datos. Pulsar combinación de botones Ctrl + O para guardar configuración y Ctrl + X para salir del editor de texto. Ahora ejecute el contenedor con nuestros módulos:
sudo docker run -d --name=grafana -p 3000:3000 grafana/grafanasudo docker run -d --name=prometheus -p 9090:9090 prom/prometheussudo docker run -d --name mongodb-exporter -p 9216:9216 ranchercharts/bitnami-mongodb-exporter:0.8.0-debian-9-r4
En la salida, veremos la ID de cada contenedor en proceso. Vamos a comprobarlo:
docker ps -a
Si todo el proceso está bien, entonces podemos continuar e instalar el shell gráfico para el sistema a través del comando:
apt-get install ubuntu-gnome-desktop
Sea paciente y espere el final de la instalación de todo el shell y luego reinicie el sistema mediante el comando:
rebootDespués de que este servidor se reinicie y veremos el panel para iniciar sesión, escriba sus credenciales e ingrese:

Para nuestros propósitos, necesitamos instalar el navegador Firefox y esperar el final de la instalación:
sudo apt install firefox
Ejecute en el navegador de escritorio para el siguiente paso:

Vaya a la HTTP://localhost:3000 en la barra de búsqueda. Esa URL abre Graphana, escriba el nombre de usuario y la contraseña con la configuración predeterminada Inicio de sesión: admin y Contraseña: admin. Ingrese las credenciales:

Bien, ya estamos dentro. Vaya a la pestaña Administración y elija Agregar datos, luego puede ingresar la URL para Prometheus http://localhost:9090:

Haga clic en el botón Añadir fuente de datos:

¡Revisa el mensaje arriba de esta fuente y lo conseguimos! ¡El sistema fue instalado!

Conclusión
En conclusión, la monitorización de recursos es crucial para la gestión eficaz de cualquier sistema. Mediante el seguimiento de recursos tales como CPU uso, ancho de banda y costo, las organizaciones pueden optimizar el rendimiento de sus sistemas de TI e identificar posibles amenazas a la seguridad. En este artículo, analizamos cómo configurar un sistema de monitoreo de recursos utilizando herramientas como Prometheus, MongoDB y Grafana. Si sigue las instrucciones de esta guía, puede instalar y utilizar fácilmente estas herramientas para crear un sistema eficaz de supervisión, alerta y visualización para su organización. Al instalar el sistema correcto, puede asegurarse de que su infraestructura de TI funcione sin problemas, de manera confiable y con la máxima eficiencia.
FAQ - Preguntas frecuentes sobre la monitorización de MongoDB con Grafana y Prometheus
- P1: ¿Por qué es importante la monitorización de recursos para MongoDB y los servidores en general?
La monitorización de recursos ayuda a realizar un seguimiento de métricas de rendimiento clave como CPU, memoria, E/S de disco y uso de red. Permite la detección temprana de cuellos de botella, garantiza la estabilidad del sistema, previene interrupciones y ayuda a optimizar la asignación de recursos y los costos. - P2: ¿Qué funciones desempeñan Grafana y Prometheus en esta configuración de monitorización?
Prometheus recopila y almacena métricas de los servicios monitorizados, incluido MongoDB. Grafana se conecta a Prometheus y proporciona una interfaz web intuitiva para visualizar estas métricas mediante paneles y alertas. - P3: ¿Puedo monitorear MongoDB sin usar? Docker contenedores?
Sí, puede instalar los exportadores Prometheus, Grafana y MongoDB de forma nativa en su Ubuntu sistema, pero usando Docker Simplifica la implementación, el aislamiento y la gestión. - P4: ¿Con qué frecuencia Prometheus recopila datos de MongoDB?
En la configuración de ejemplo, Prometheus raspa las métricas de MongoDB cada 5 segundos, pero puedes ajustar scrape_interval en el archivo prometheus.yml según tus necesidades. - P5: ¿Cuáles son los problemas comunes que hay que tener en cuenta al configurar este sistema de monitoreo?
Asegúrese de que la conectividad de red entre contenedores o servicios sea correcta, la exposición correcta de los puertos y la configuración precisa de los destinos en Prometheus. Además, proteja el acceso a los paneles de Grafana para evitar la visualización no autorizada. - P6: ¿Cómo puede la monitorización ayudar a mejorar el rendimiento de MongoDB?
Al analizar las métricas recopiladas, los administradores pueden identificar consultas lentas y de alto rendimiento. CPU o uso de memoria, picos de conexión o cuellos de botella en el disco, lo que permite tomar decisiones proactivas de ajuste o escalamiento. - P7: ¿Es necesario instalar un entorno de escritorio en Ubuntu ¿Ejecutar Grafana y Prometeo?
No, Grafana y Prometheus se ejecutan como servicios web accesibles mediante un navegador. El entorno de escritorio es opcional si prefiere interactuar localmente en lugar de remotamente.