@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

instalar-grafana-a-traves-de-docker-2

Instalar Grafana a través de Docker

Instalar Grafana a través de Docker

Hoy voy a enseñaros lo fácil que es generar un servidor de grafana para monitorización a través de proyectos github. En este caso, hablamos de grafana-xxl, os dejo la URL:

https://github.com/monitoringartist/grafana-xxl

Lanzamos la ejecución en modo no persistente para hacer una prueba, que es muy sencillo:

[root@centos ~]# docker run -d --name=grafana-xxl -p 3000:3000 monitoringartist/grafana-xxl:latest
Unable to find image 'monitoringartist/grafana-xxl:latest' locally
latest: Pulling from monitoringartist/grafana-xxl
c5e155d5a1d1: Pull complete
636812ca4cd8: Pull complete
89336075b74f: Pull complete
Digest: sha256:0ca7441bf76ae97473350078dca504974de65d7748927361fe00ae1dcdec92c9
Status: Downloaded newer image for monitoringartist/grafana-xxl:latest
WARNING: IPv4 forwarding is disabled. Networking will not work.
cc76fe06387535f8c0984238d5979b86ba9591ea2db0f39fc0fc05897291a6cf

Revisamos si existe el contenedor arrancado:

[root@centos ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc76fe063875 monitoringartist/grafana-xxl:latest "/run.sh" 3 minutes ago Up 3 minutes 0.0.0.0:3000->3000/tcp grafana-xxl

Si queremos crear un storage persistente para grafana podríamos crear un directorio:

[raulunzue@centos ~]$ sudo mkdir /var/lib/grafana
[sudo] password for raulunzue:

Generamos un contenedor para el storage con busybox:

[root@centos ~]# docker run -d -v /var/lib/grafana --name grafana-xxl-storage busybox:latest
WARNING: IPv4 forwarding is disabled. Networking will not work.
91ec442ca363ca46ff8d961e752a476d5a746e6e9a9cca78fbb73edab7477308

Y generaríamos el contenedor de la siguiente manera:

[root@centos ~]# docker run -d -p 3000:3000 --name grafana-xxl --volumes-from grafana-xxl-storage monitoringartist/grafana-xxl:latest

En mi caso, hago NAT desde el host físico, así que voy a la URL de mi host físico en el puerto 3000. Se abrirá un portal con usuario y contraseña por defecto admin / admin :

instalar-grafana-a-traves-de-docker-1

Podemos cambiar la contraseña al primer logon:

instalar-grafana-a-traves-de-docker-2

Y comenzaría el proceso de configuración de Grafana:

instalar-grafana-a-traves-de-docker-3

Crear docker MySQL persistente para Grafana

Tenemos que agregar una base de datos, así que generamos una con un contenedor de MySQL, por ejemplo:

[root@centos ~]# docker run -d -p 33060:3306 --name mysql-db -e MYSQL_ROOT_PASSWORD=grafanadbpasswd mysql
Unable to find image 'mysql:latest' locally
latest: Pulling from library/mysql
fc7181108d40: Pull complete
787a24c80112: Pull complete
a08cb039d3cd: Pull complete
4f7d35eb5394: Pull complete
5aa21f895d95: Pull complete
a742e211b7a2: Pull complete
0163805ad937: Pull complete
87f18876c3ff: Pull complete
78082f25f167: Pull complete
0a510f055c17: Pull complete
312b0999e433: Pull complete
f864cfdc0264: Pull complete
Digest: sha256:415ac63da0ae6725d5aefc9669a1c02f39a00c574fdbc478dfd08db1e97c8f1b
Status: Downloaded newer image for mysql:latest
9df7b734e0d8f26943a48a7ca541ecb71e5a6c30a522204776dafe2dcfc4f4f0

Os explico cada parámetro:

-d: Detached Mode es la forma en que indicamos que corra en background
-p : puerto, el contenedor corre en el puerto 3306 pero hacemos un bind para que lo escuchemos en Host el puerto 33061
–name : le asignamos un nombre al contenedor para no usar el hash
-e : asignamos una contraseña

Nos aseguramos que están corriendo ambos contenedores:

[root@centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9df7b734e0d8 mysql "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 33060/tcp, 0.0.0.0:33060->3306/tcp mysql-db
cd1e967aecd7 monitoringartist/grafana-xxl:latest "/run.sh" 25 hours ago Up 25 hours 0.0.0.0:3000->3000/tcp grafana-xxl

Nos conectamos al contenedor MySQL:

[root@centos ~]# docker exec -it mysql-db mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Generamos una base de datos:

mysql> create database grafanadb;
Query OK, 1 row affected (0.01 sec)

Comprobamos:

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| grafanadb |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)

Al añadir el Data Source elegiremos MySQL:

instalar-grafana-a-traves-de-docker-5

Configuráis los datos con los datos de vuestra base de datos y la conexión al host físico en este caso, al puerto 33060, usuario root si no configuráis otro, contraseña la misma que al generar el contenedor y realizamos un test:

instalar-grafana-a-traves-de-docker-7

Ya podemos seguir con la configuración restante:

instalar-grafana-a-traves-de-docker-8

En pocos pasos tendremos Grafana operativo con Docker Container.

¿Te ha gustado la entrada SÍGUENOS EN TWITTER?

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Blogger en “Máquinas Virtuales - El Blog de Negu” | Senior Security Manager (PMP, ITIL) | ProjectManager, SysAdmin & DevOps Enthusiast | Especialista en Virtualización y Sistemas Operativos | VMware vExpert ⭐️ x12

Compruebe también

windows-en-docker-y-proxmox-mi-laboratorio-inception-para-ciberseguridad-0

Windows en Docker y Proxmox: Mi laboratorio ‘Inception’ para Ciberseguridad

Windows en Docker y Proxmox: Mi laboratorio ‘Inception’ para Ciberseguridad Hay días en los que …

Deja una respuesta

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

1 × 4 =

Blog Maquinas Virtuales - El Blog de Negu