You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
En Docker podemos monitorizar los contenedores y los volúmenes. Para ello, Docker nos proporciona una serie de comandos que nos permiten ver en tiempo real lo que está ocurriendo en nuestro host.
198
+
199
+
### Eventos
200
+
201
+
Uno de ellos es el comando `docker events`. Este comando nos permite ver en tiempo real los eventos que están ocurriendo en nuestro host. Por ejemplo, si creamos un contenedor, veremos un evento de tipo `create` y si eliminamos un contenedor, veremos un evento de tipo `destroy`.
202
+
203
+
Para hacer la prueba de esto, abre un terminal y ejecuta el siguiente comando:
204
+
205
+
```bash
198
206
docker events
207
+
```
208
+
209
+
Ahora abre otro terminal y crea un contenedor:
210
+
211
+
```bash
212
+
docker run -d --name prueba -d ubuntu sleep 100
213
+
```
199
214
200
-
#Como los eventos son en tiempo real, necesitamos crear/modificar/eliminar algo que nos permita generar dichos eventos.
201
-
#Abre otro terminal y ejecuta estos comando:
202
-
docker run --name prueba -d ubuntu sleep 100
215
+
Ahora crea un volumen:
216
+
217
+
```bash
203
218
docker volume create prueba
204
-
docker pull busybox
219
+
```
205
220
206
-
#Métricas de un contenedor
221
+
Ahora descarga una imagen:
207
222
208
-
#Puedes ver las métricas de un contenedor con docker stats. Este comando muestra CPU, memoria en uso, límite de memoria y red
209
-
docker run --name ping-service -d alpine ping docker.com
223
+
```bash
224
+
docker pull busybox
225
+
```
210
226
211
-
docker stats ping-service
227
+
### Métricas de un contenedor
212
228
213
-
#Otro comando que puede ser útil es el que nos dice cuánto espacio estamos usando del disco por "culpa" de Docker
214
-
docker system df
229
+
Otro dato que podemos ver es el uso de CPU, memoria y red de un contenedor. Para ello, Docker nos proporciona el comando `docker stats`. Este comando nos permite ver en tiempo real el uso de CPU, memoria y red de un contenedor.
215
230
216
-
#Recolectar métricas de Docker con Prometheus
217
-
#Docker Desktop for Mac / Docker Desktop for Windows: Click en el icono de Docker en la barra de Mac/Window, selecciona Preferencias > Docker Engine. Pega la siguiente configuración:
218
-
{
219
-
"metrics-addr" : "127.0.0.1:9323",
220
-
"experimental" : true
221
-
}
231
+
Para verlo, vamos a crear un contenedor que haga ping a un servidor. Para ello, ejecuta el siguiente comando:
232
+
233
+
```bash
234
+
docker run --name ping-service -d alpine ping docker.com
235
+
```
222
236
223
-
#Con esta configuración Docker expondrá las metricas por el puerto 9323.
224
-
#Lo siguiente que necesitamos es ejecutar un servidor de Prometheus. El archivo prometheus-config.yml tiene la configuración de este.
225
-
docker run --name prometheus-srv --mount type=bind,source="$(pwd)"/prometheus-config.yml,target=/etc/prometheus/prometheus.yml -p 9090:9090 prom/prometheus
237
+
Y ahora ejecuta el siguiente comando:
226
238
227
-
#Ahora puedes acceder a tu servidor de Prometheus a través de http://localhost:9090. Verás que aparece en Targets pero no podrás acceder a los endpoints si utilizas Docker for Mac/Windows
228
-
#Para comprobar que las gráficas funcionan correctamente, genera N contenedores que estén haciendo continuamente ping
229
-
docker run -d alpine ping docker.com
239
+
```bash
240
+
docker stats ping-service
241
+
```
230
242
231
-
#Verás que la gráfica con la métrica engine_daemon_network_actions_seconds_count genera picos. Después de haberlo probado elimina los contenedores
243
+
Esta información también puedes verla en Docker Desktop, haciendo clic sobre el contenedor y seleccionando la pestaña de Stats.
232
244
233
-
#Ver esta información en un Dashboard de Grafana
234
-
docker run -d -p 3000:3000 grafana/grafana
245
+
### Cuánto espacio estamos usando del disco por "culpa" de Docker
235
246
236
-
#Cómo ver los logs de un contenedor
237
-
docker logs devtest
247
+
Otro comando que puede ser útil es el que nos dice cuánto espacio estamos usando del disco por "culpa" de Docker:
238
248
239
-
#docker logs en fluentd
249
+
```bash
250
+
docker system df
251
+
```
240
252
241
-
#Archivo de configuración de fluentd
242
-
cat fluentd/in_docker.conf
243
253
244
-
#Inicia fluentd en un contenedor. Utilizo bind mount para montar el contenido de in_docker.conf en el archivo fluentd/etc/fluent.conf
245
-
#asegurate de que estás en 01-contenedores/contenedores-v
246
-
docker run -it -p 24224:24224 -v "$(pwd)"/fluentd/in_docker.conf:/fluentd/etc/test.conf -e FLUENTD_CONF=test.conf fluent/fluentd:latest
254
+
### Cómo ver los logs de un contenedor
247
255
248
-
#Arranca un contenedor y lanza algunos mensajes a la salida estándar
249
-
docker run --rm -p 3030:80 --log-driver=fluentd nginx
256
+
Aunque ya lo vimos en alguna clase anterior, es importante recordar que para ver los logs de un contenedor, podemos utilizar el comando `docker logs`. Por ejemplo, si queremos ver los logs del contenedor `ping-service`, ejecuta el siguiente comando:
250
257
251
-
#UI para ver los logs de Fluentd
252
-
docker run -d -p 9292:9292 -p 24224:24224 dvladnik/fluentd-ui #copia el contenido del archivo de configuración en
0 commit comments