Revista Tecnología

Grafana y AWS - Instalación de Grafana en Amazon Linux

Publicado el 04 febrero 2019 por Dbigcloud @dbigcloud

Los sistemas de monitorización son cada día más importantes en los entornos tecnológicos (TI). Los clouds públicos tienen sus propios sistemas que permiten crear cuadros de mando y monitorizar métricas de los servicios que utilicemos, pero a veces no son lo ágiles que deberían. Amazon Web Service dispone de Cloudwatch y Azure dispone de Azure Monitor. La integración de estas herramientas con un software de tercero se hace muy necesario. En las próximas entregas se verá cómo integrar Grafana con ambos clouds públicos.

grafana aws

Grafana es una herramienta de software libre que permite de una forma muy sencilla crear cuadros de mando y monitorización de datos. Al no necesitar ninguna dependencia puede ser implementada casi en cualquier plataforma, incluida contenedores Docker. Una de las ventajas que tiene Grafana respecto a otras herramientas similares es que dispone de una gran cantidad de plugins para integrar sistemas como orígenes de datos.

En un post anterior se vio cómo integrar AWS Cloudatch con Zabbix, pudiendo crear cuadros de mando y configurar alertas de los servicios de AWS. A través de una nueva serie de posts se observará cómo desplegar un entorno de Grafana en una instancia EC2 de AWS con sistema operativo Amazon Linux, se añadirá como origen de datos Cloudwatch y se creará un cuadro de mando con las métricas de servicios de AWS.

Requisitos para seguir el post:


Notas
:  Durante la creación de estos posts se trabajará con la última versión estable de Grafana que es la 5.3.

Cómo desplegar Grafana en Amazon Linux

La instalación de Grafana en Amazon Linux es muy sencilla y se puede realizar de dos formas distintas:

  1. Descargar e instalar la última versión estable a través de yum o rpm. 

    [Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.mlteue@iou.oeue@iou.o]$ sudo yum install https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm
    Complementos cargados:extras_suggestions, langpacks, priorities, update-motd
    grafana-5.4.2-1.x86_64.rpm
    grafana dependencies Amazon Linux

  2. Añadir el repositorio de Grafana para su instalación y estar al día con las actualizaciones:
  3. Ahora ya se encuentra instalada la herramienta. Para poderla usar hay que arrancar el servicio que se realiza de la siguiente forma:
    [Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.mlteue@iou.oeue@iou.o]$ sudo service grafana-server start
    Starting grafana-server (via systemctl): [ OK ]
  4. Si se desea que Grafana se inicie cada vez que el servidor arranque hay que ejecutar el siguiente comando:
    [Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.mlteue@iou.oeue@iou.o]$ sudo systemctl enable grafana-server.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.

De esta forma ya estaría disponible el acceso a Grafana desde la instancia EC2. Para visitar el panel de administración bastará con conocer la IP pública de la instancia y acceder por HTTP a través del puerto 3000. Si se va a utilizar en un entorno de producción es recomendable asignar una Elastic IP a la instancia EC2 y crear un registro DNS de tipo A en Route 53.

grafana login AmazonLinux

¿Tienes dificultades para acceder después de haber realizado todos estos pasos? Posiblemente al crear la instancia EC2 hayas asignado un security group que no tenga abierto el puerto 3000 al lugar desde el que estés accediendo. Si no se desea acceder a través del puerto 3000 en la URL, se puede redirigir el tráfico a través de un proxy inverso, por ejemplo con NGINX.

Integrando el acceso de Grafana con NGINX

Supongamos que se ha asignado la IP de la instancia EC2 al dominio https://grafana.dbigcloud.com.

  1. Instalar NGINX en Amazon linux.
    [Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.mlteue@iou.oeue@iou.o]# sudo amazon-linux-extras install nginx1.12
  2. Crear el fichero de configuración del sitio para NGINX  /etc/nginx/conf.d/grafana.dbigcloud.com
  3. Añadir los datos de configuración para que redirija el tráfico del puerto 80 al 3000.
    server {
        listen 80;     location / {
       
            proxy_pass
    https://grafana.dbigcloud.com:3000/;
       }
    }
  4. Ahora hay que editar el fichero de configuración de Grafana /etc/grafana/grafana.ini. Buscar la línea con la variable root_url, descomentarla y modificarla con el dominio que se haya configurado.
    root_url = https://grafana.dbigcloud.com
  5. Por último, hay que reiniciar el servicio de Grafana y hacer un reload de NGINX.
    [Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.mlteue@iou.oeue@iou.o]$ sudo service grafana-server restart
    Restarting grafana-server (via systemctl): [ OK ]
    [Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.mlteue@iou.oeue@iou.o
    ]$ sudo service nginx reload
    Redirecting to /bin/systemctl reload nginx.service

Ahora ya es posible acceder a Grafana sin tener que añadir el puerto a la URL del dominio usado. Los datos de acceso por defecto para acceder por primera vez son admin/admin.

Como habéis observado, la instalación de Grafana es muy sencilla. Con pocos pasos se puede tener un sistema de monitorización muy completo y capaz de integrarse con bastantes entornos gracias a la gran cantidad de plugins disponibles.


Compártelo:


Volver a la Portada de Logo Paperblog