Cargando



Cómo instalar Prometheus en Ubuntu 17 Linux

En este tutorial te explicamos todos los pasos y configuraciones que debes seguir para saber cómo instalar Prometheus en Ubuntu 17 para Linux


oct 02 2017 17:52
Profesional
Total de Apartados : 12
oct 03 2017 14:26

En diversas ocasiones hemos hablado de la escalabilidad que nos ofrecen las distros de Linux al contar con miles de aplicaciones de código abierto que pueden ser instaladas en ellas y así extender de forma significativa la capacidad de uso y desarrollo de los servicios y roles.

 

Podemos encontrar aplicaciones para todo tipo de tarea a nivel personal o corporativo y hoy Solvetic analizará en detalle una que llama la atención por su potencial dinamismo a la hora de recopilar múltiples tipos de métricas y ofrecernos informes detallados que serán de gran utilidad a la hora de nuestra gestión y soporte.

 

Esta aplicación se llama Prometheus y hoy veremos cómo instalarla en Ubuntu 17.04 de forma práctica.

 

Qué es Prometheus
Prometheus es un potente sistema de monitoreo de código abierto el cual recopila las métricas de nuestros servicios y las almacena en una base de datos de series de tiempo. Nos ofrece un modelo de datos multidimensional, un lenguaje de consulta flexible y diversas posibilidades de visualización a través de herramientas como Grafana.

 

Por defecto, Prometheus sólo exporta métricas sobre sí mismo, por ejemplo el número de solicitudes recibidas, el consumo de memoria, entre otras. Sin embargo, es posible ampliar Prometheus instalando exportadores los cuales son programas opcionales que generan métricas adicionales y detalladas de otros aspectos a analizar.

 

Estos exportadores están enfocados en infraestructura, bases de datos y servidores web en sistemas de mensajería, APIs y muchas más.

 

Algunos de los exportadores que nos ofrece Prometheus son:

 

node_exporter
Este exportador produce métricas sobre la infraestructura de equipos incluyendo la CPU actual, la memoria y el uso del disco duro, así como las estadísticas de E / S y de red (como el número de bytes leídos de un disco o la carga media de un servidor)

 

blackbox_exporter
Con este exportador podremos generar métricas derivadas de protocolos de navegación como HTTP y HTTPS para determinar la disponibilidad de los puntos finales, el tiempo de respuesta y más.

 

mysqld_exporter
La función de este exportador es recopilar métricas relacionadas a un servidor MySQL, tales como el número de consultas ejecutadas, el tiempo de respuesta promedio de las consultas y el estado de replicación del clúster.

 

rabbitmq_exporter
Este exportador genera métricas sobre el sistema de mensajería RabbitMQ, incluyendo detalles como el número de mensajes publicados, el número de mensajes listos para ser entregados y el tamaño de todos los mensajes de la cola.

 

nginx-vts-exporter
Con este exportador obtendremos métricas sobre un servidor web Nginx haciendo uso del módulo VTS de Nginx, en el cual se incluyen el número de conexiones abiertas, el número de respuestas enviadas (agrupadas por códigos de respuesta) y el tamaño total de las solicitudes enviadas o recibidas en bytes.

 

Características de Prometheus
Algunas de las características más sobresalientes de Prometheus son:
  • Dimensión de datos, ya que Prometheus almacena todos los datos como series temporales usando flujos de valores de tiempo que pertenecen a la misma métrica y el mismo conjunto de dimensiones etiquetadas. Adicional esto, Prometheus puede generar series temporales derivadas temporales como resultado de consultas.
  • Consultas dinámicas, En este aspecto Prometheus ofrece un lenguaje de expresión funcional mediante el cual el usuario puede seleccionar y agregar datos de series de tiempo en tiempo real. El resultado de una expresión podrá reflejarse como un gráfico, visto como datos tabulares en el navegador de expresiones de Prometheus o ejecutado por sistemas externos a través de la API HTTP.
  • Diversas opciones de visualización, ya que Prometheus incluye Grafana la cual está disponible desde Grafana 2.5.0 (2015-10-28).
  • Almacenamiento eficiente, debido a que Prometheus cuenta con un sofisticado subsistema de almacenamiento local. Para índices, hace uso de LevelDB. Para los datos de muestra en bloque, tiene su propia capa de almacenamiento personalizada, la cual organiza los datos de muestra en trozos de tamaño constante (1024 bytes de carga útil). Estos trozos se almacenan en el disco en un archivo por serie de tiempo.
  • Operación simple, ya que Prometheus se configura a través de parámetros de línea de comandos y un archivo de configuración. Mientras los indicadores de línea de comandos configuran parámetros inmutables del sistema (tales como ubicaciones de almacenamiento, cantidad de datos para guardar en el disco y en la memoria), el archivo de configuración define todo lo relacionado con los trabajos de raspado y sus instancias, así como los archivos de reglas cargar con la aplicación.
  • Alertamiento preciso, al contar con la opción de crear reglas de alerta las cuales nos permiten definir condiciones de alerta basadas en valores de lenguaje de expresión Prometheus y enviar notificaciones sobre alertas de disparo a un servicio externo en un momento dado y así estar al tanto de cualquier cambio.
  • Múltiples librerías, gracia a que Prometheus nos ofrece una serie de librerías compatibles tales como Java o Scala, Python, Rubí, Bash, C++, Common Lisp, Elixir, Erlang, Haskell, Lua for Nginx, Lua for Tarantool, .NET / C#, Node.js, PHP y Rust.
  • Integración múltiple, ya que tenemos varias bibliotecas y servidores que ayudan a exportar métricas existentes de sistemas de terceros hacia las métricas de Prometheus, algunas de estas son Aerospike exporter, ClickHouse exporter, Consul exporter, CouchDB exporter, ElasticSearch exporter, Memcached exporter, MongoDB exporter, MSSQL server exporter, MySQL server exporter, OpenTSDB Exporter, PgBouncer exporter, PostgreSQL exporter o ProxySQL exporter.

 

Ahora veremos cómo instalar Prometheus en Ubuntu 17.04.

 


1. Instalación de Nginx

 

Paso 1

El primer punto a tener en cuenta es que Nginx debe estar instalado en Ubuntu, si no tenemos ejecutaremos el siguiente comando:
sudo apt install nginx

_instalar-Prometheus-en-Ubuntu-17-Linux-1.png

 

Paso 2

Allí ingresaremos la letra S para confirmar la descarga e instalación de los paquetes necesarios. Una vez instalado será necesario configurar los ajustes de firewall de Ubuntu para permitir el acceso al servicio Nginx, para ello ejecutaremos la siguiente línea para enumerar las configuraciones de las aplicaciones de ufw:
sudo ufw app list

instalar-Prometheus-en-Ubuntu-17-Linux-2.png

 

A nivel de Nginx tenemos las siguientes opciones
  • Nginx Full: Este perfil abre tanto el puerto 80 (tráfico web normal, sin cifrar) como el puerto 443 (tráfico cifrado TLS / SSL)
  • Nginx HTTP: Este perfil abre sólo el puerto 80 (normal, tráfico web no cifrado)
  • Nginx HTTPS: Este perfil abre sólo el puerto 443 (tráfico cifrado TLS / SSL)

 

Paso 3

Para este caso ejecutaremos la siguiente línea:
sudo ufw allow 'Nginx HTTP'

_instalar-Prometheus-en-Ubuntu-17-Linux-3.png

 

Paso 4

Podemos ver que el estado del firewall es inactivo, en algunos casos, y debe ser necesario que lo activemos, para ello ejecutamos lo siguiente:
sudo ufw enable

_instalar-Prometheus-en-Ubuntu-17-Linux-4.png

 

Una vez configuremos estos parámetros en el firewall proseguimos con la instalación de Prometheus.

 



Login         Únete!


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X