Cómo instalar la herramienta de monitoreo de Grafana 8 en Debian 11

Iniciar sesión

Grafana es una herramienta de visualización de datos gratuita y de código abierto que se utiliza para monitorear las métricas de otros hosts. Está escrito en Typescript and Go y le permite crear y editar gráficos de registros y datos y crear métricas. Puede generar gráficos y tableros a partir de una base de datos de series temporales que incluye Graphite, InfluxDB u OpenTSDB y le permite compartirlos con otros usuarios.

Características

  • Plantillas de tablero
  • Anotaciones de aprovisionamiento
  • Modo quiosco y listas de reproducción
  • Complementos personalizados
  • Alertas y ganchos de alerta

En esta publicación, le mostraremos cómo instalar Grafana 8 en Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Una contraseña de root está configurada en el servidor.

Empezando

Antes de comenzar, se recomienda actualizar su sistema a la versión actualizada. Puede actualizar todos los paquetes usando el siguiente comando:

apt-get update -y

Después de actualizar todos los paquetes, instale otras dependencias requeridas usando el siguiente comando:

apt-get install gnupg2 curl wget git software-properties-common -y

Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Instalar Grafana 8

De forma predeterminada, Grafana no está incluido en el repositorio predeterminado de Debian 11. Por lo tanto, deberá agregar el repositorio de Grafana al APT. Puedes agregarlo usando el siguiente comando:

curl https://packages.grafana.com/gpg.key | apt-key add -
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

Una vez que se agrega el repositorio, actualice el caché del repositorio e instale Grafana usando el siguiente comando:

apt-get update -y
apt-get install grafana -y

Una vez que Grafana esté instalado, inicie y habilite el servicio de Grafana con el siguiente comando:

systemctl start grafana-server
systemctl enable grafana-server

También puede verificar el estado del servicio Grafana con el siguiente comando:

systemctl status grafana-server

Obtendrá el siguiente resultado:

? grafana-server.service - Grafana instance
     Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-02-04 04:08:25 UTC; 5s ago
       Docs: http://docs.grafana.org
   Main PID: 8602 (grafana-server)
      Tasks: 9 (limit: 2341)
     Memory: 29.6M
        CPU: 1.299s
     CGroup: /system.slice/grafana-server.service
             ??8602 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:>

Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="migrations completed" logger=migrator performed=381 s>
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Created default admin" logger=sqlstore user=admin
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Created default organization" logger=sqlstore
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Initialising plugins" logger=plugin.manager
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Plugin registered" logger=plugin.manager pluginId=inp>
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Live Push Gateway initialization" logger=live.push_ht>
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Writing PID file" logger=server path=/run/grafana/gra>
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=[::]:3>
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="warming cache for startup" logger=ngalert
Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="starting MultiOrg Alertmanager" logger=ngalert.multio>

De forma predeterminada, Grafana escucha en el puerto 3000. Puede verificarlo con el siguiente comando:

ss -antpl | grep 3000

Obtendrá el siguiente resultado:

LISTEN 0      4096               *:3000            *:*    users:(("grafana-server",pid=8602,fd=8))               

Instale Nginx como proxy inverso para Grafana

A continuación, deberá instalar y configurar Nginx como un proxy inverso para Grafana. Primero, instale Nginx usando el siguiente comando:

apt-get install nginx -y

Una vez que Nginx esté instalado, cree un archivo de configuración de host virtual de Nginx con el siguiente comando:

nano /etc/nginx/conf.d/grafana.conf

Agregue las siguientes líneas:

server {
        server_name grafana.example.com;
        listen 80;
        access_log /var/log/nginx/grafana.log;

        
        location / {
                proxy_pass http://localhost:3000;
                proxy_set_header X-Forwarded-Host $host:$server_port;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Guarde y cierre el archivo cuando haya terminado. Luego, verifique el Nginx para cualquier error de sintaxis con el siguiente comando:

nginx -t

Si todo está bien, obtendrá el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicie Nginx para aplicar los cambios de configuración.

systemctl restart nginx

También puede verificar el estado de Nginx con el siguiente comando: Anuncio

systemctl status nginx

Obtendrá el siguiente resultado:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-02-04 04:09:20 UTC; 4s ago
       Docs: man:nginx(8)
    Process: 8631 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 8632 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 8633 (nginx)
      Tasks: 2 (limit: 2341)
     Memory: 2.5M
        CPU: 35ms
     CGroup: /system.slice/nginx.service
             ??8633 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??8634 nginx: worker process

Feb 04 04:09:20 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Feb 04 04:09:20 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Feb 04 04:09:20 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

En este punto, Nginx está instalado y configurado como proxy inverso para Grafana. Ahora puede continuar con el siguiente paso.

Acceder al Panel de Grafana

Ahora, abra su navegador web y acceda a la interfaz web de Grafana usando la URL http://grafana.ejemplo.com. Será redirigido a la página de inicio de sesión de Grafana:

Iniciar sesión

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el Iniciar sesión botón. Debería ver la pantalla de restablecimiento de contraseña de Grafana:

Establecer una nueva contraseña

Establezca su nueva contraseña y haga clic en el Enviar botón. Debería ver el panel de Grafana en la siguiente pantalla:

Tablero de Grafana

Asegure Grafana con Let’s Encrypt

A continuación, deberá instalar el paquete de cliente de Certbot para instalar y administrar Let’s Encrypt SSL.

Primero, instale el Certbot con el siguiente comando:

apt-get install certbot python3-certbot-nginx -y

Una vez finalizada la instalación, ejecute el siguiente comando para instalar Let’s Encrypt SSL en su sitio web:

certbot --nginx -d grafana.example.com

Se le pedirá que proporcione una dirección de correo electrónico válida y acepte el término del servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for grafana.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/grafana.conf

A continuación, elija si desea redirigir o no el tráfico HTTP a HTTPS como se muestra a continuación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escriba 2 y presione Entrar para finalizar la instalación. Debería ver el siguiente resultado:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/grafana.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://grafana.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=grafana.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/grafana.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/grafana.example.com/privkey.pem
   Your cert will expire on 2022-05-07. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Conclusión

¡Felicidades! Ha instalado correctamente Grafana 8 con Nginx y Let’s Encrypt SSL en Debian 11. Ahora puede agregar sus hosts remotos y comenzar a monitorearlos desde el panel de control de Grafana. Siéntase libre de preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *