En este post explicaremos como monitorizar el propio servidor Docker usando una solución con “Grafana”+”Prometheus”+”Node Explorer”, algo que hemos usado para monitorizar motores de bases de datos.

Utilizaremos un proyecto GIT “all in one”, que genera varios contenedores que trabajan juntos para darnos una interfaz gráfica.

Descargamos el proyecto GIT.

# git clone https://github.com/stefanprodan/dockprom
# cd dockprom

Usando “docker-compose” preparamos los contenedores.

# docker-compose up -d

# docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                                    NAMES
301cafafb667        prom/prometheus:v2.0.0       "/bin/prometheus --c…"   35 minutes ago      Up 35 minutes       9090/tcp                                                                 prometheus
f2a3fdd0dc0f        prom/node-exporter:v0.15.2   "/bin/node_exporter …"   35 minutes ago      Up 35 minutes       9100/tcp                                                                 nodeexporter
34f7f2baf1fd        prom/alertmanager            "/bin/alertmanager -…"   35 minutes ago      Up 35 minutes       9093/tcp                                                                 alertmanager
7b0e79f1f64b        google/cadvisor:v0.28.3      "/usr/bin/cadvisor -…"   35 minutes ago      Up 35 minutes       8080/tcp                                                                 cadvisor
034fc01f240f        stefanprodan/caddy           "/sbin/tini -- caddy…"   35 minutes ago      Up 35 minutes       0.0.0.0:3000->3000/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:9093->9093/tcp   caddy
2c88344a102b        grafana/grafana:4.5.2        "/setup.sh"              35 minutes ago      Up 35 minutes       3000/tcp                                                                 grafana
# docker stats
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
301cafafb667        prometheus          0.00%               56.08MiB / 7.681GiB   0.71%               2.05MB / 45kB       27.2MB / 3.67MB     11
f2a3fdd0dc0f        nodeexporter        0.00%               9.664MiB / 7.681GiB   0.12%               41.8kB / 827kB      0B / 0B             10
34f7f2baf1fd        alertmanager        0.00%               3.496MiB / 7.681GiB   0.04%               15.9kB / 0B         0B / 0B             9
7b0e79f1f64b        cadvisor            4.32%               27.33MiB / 7.681GiB   0.35%               44.6kB / 1.21MB     12.3kB / 0B         15
034fc01f240f        caddy               0.00%               2.73MiB / 7.681GiB    0.03%               18kB / 0B           0B / 0B             9
2c88344a102b        grafana             0.07%               15.51MiB / 7.681GiB   0.20%               28kB / 3.49kB       0B / 3.58MB         11

El total usado de disco para las imágenes es de unos 530 mb.

# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
prom/alertmanager              latest              f87cbd5f1360        2 weeks ago         31.2MB
prom/node-exporter             v0.15.2             ff5ecdcfc4a2        3 weeks ago         22.8MB
prom/prometheus                v2.0.0              67141fa03496        7 weeks ago         80.2MB
google/cadvisor                v0.28.3             75f88e3ec333        3 weeks ago         62.2MB
grafana/grafana                4.5.2               1d2e2705fd26        3 months ago        303MB
stefanprodan/caddy             latest              655880563633        2 months ago        24.7MB

GRAFICO0: mon0

GRAFICO1: mon1

GRAFICO2: mon2

GRAFICO3: mon3

GRAFICO4: mon4



Si te interesó el artículo escríbenos a DockerTipsHelp@gmail.com.