Labs DD101
Recorrido de labs (sin spoilers de Instruqt)
Mapa mental de lo que cambió al hacer los labs en Instruqt: ganchos de examen y trampas reales. Las notas largas están en content/LABS.md y content/DOCUMENTO-DE-ESTUDIO.md del repo. No copies claves del lab.
Datadog Quick Start
Caminado en vivoVisualización
Examen
- La UI no recolecta: Dashboards, Logs, Catalog, Monitors y Bits leen lo que ya llegó.
- Bits es el chat de la org, no un tipo de dashboard. Un dashboard en blanco no es Bits.
- Storedog + tags env/service del lab aíslan los datos de otras orgs de training.
Cuidado
- El lab puede no tener el dashboard OOTB Containers-Overview: no memorices nombres de boards como si fueran universales.
- Clipboard pega widgets a un dashboard; no es un screenboard distinto.
Agent on a Host
Caminado en vivoInfra / Agent
Examen
- Instalación one-step con DD_API_KEY + DD_SITE; el YAML queda en /etc/datadog-agent/datadog.yaml.
- status = intake (Forwarder, checks); systemctl status = servicio del SO.
- Checks: copiar conf.yaml.example → conf.yaml y restart. Password mal → ERROR y Last Successful Execution Date: Never.
- Logs de Redis/Postgres: el usuario dd-agent necesita grupo (adm / postgres) o BytesSent queda en 0.
Cuidado
- process_collection en Python puede saltarse en el lab; no asumas que todos los pasos del checklist salen verdes.
- El Process Agent a veces sale unreachable en status mientras Live Processes sí recolecta: lee la sección, no solo el banner.
- Timeout de inactividad (~10 min) mata el VM: Launch ≠ Start y hay que esperar el VM.
Agent on Docker
Caminado en vivoInfra / contenedores
Examen
- El Agent es un contenedor con socket Docker, /proc y cgroup montados.
- Autodiscovery: labels en el contenedor de la app, no en dd-agent.
- %%host%% / %%port%% deben resolverse en configcheck; si ves el literal, las labels no llegaron.
- Redis de lab no es el ejemplo foobar: usa host/puerto reales del compose.
Cuidado
- Sin grupo docker / socket, logs de contenedor: BytesSent 0 aunque DD_LOGS_ENABLED=true.
- DD_API_KEY vacío en compose hereda del host del lab; en prod no dejes la key en el YAML de git.
Introduction to Metrics
Caminado en vivoColección
Examen
- Filtro {env:prod} no es lo mismo que avg: : el filtro recorta series; avg agrega las que quedan.
- Count en query puede ser “cuántos puntos”, no el origen Count de DogStatsD.
- Gauge = último valor del flush; Count/rate = eventos; histogram vs distribution (host vs flota).
Cuidado
- No memorices valores de un lab concreto (hex de Redis, CPU 100 %).
Monitors y notificaciones
Caminado en vivoVisualización
Examen
- Resolve cierra el incidente actual; Mute silencia notificaciones. No son lo mismo.
- Downtime programado ≠ mute puntual del monitor.
- Mute de host (Infrastructure) calla alertas de ese host un rato; el Agent sigue enviando.
Cuidado
- Un monitor sin @handle no avisa a nadie.
Dashboards
Caminado en vivoVisualización
Examen
- Template variables recortan todos los widgets.
- Timeboards vs screenboards: el Clipboard copia widgets, no cambia el tipo del board.
Cuidado
- No asumas un dashboard OOTB concreto en el examen.
Tagging best practices
Parcial en vivoColección
Examen
- UST: env, service, version iguales en métricas, traces y logs.
- version es tag de deploy (git/semver), no el tag de imagen Docker.
- key:value permite by {key}; un tag simple no.
Cuidado
- Lab de tagging: Terminal a veces en iframe; leftover Synthetics / K8s se omitieron en vivo.
Infrastructure List / Host Map
Parcial en vivoVisualización
Examen
- Host Map = hotspot ahora; List = ¿el Agent reporta?
- Mute host 1 h visto en vivo; downtime de host ≠ downtime de monitor.
Cuidado
- Storedog de 4 hosts no llegó completo en un Resume: frontend-host y discounts-host ausentes. No bases el estudio en un inventario de lab a medias.
CNM, DogStatsD, AWS, K8s, API (pendiente vivo)
Plantilla (no vivo)Varios
Examen
- CNM = flujos, no CPU. DogStatsD = UDP 8125. AWS crawler ≠ Agent en EC2 ≠ Forwarder de logs.
- K8s: Node Agent DaemonSet + Cluster Agent. Helm puede crear el secret; Operator no (kubectl create secret).
- API: API key ingesta; Application key + API key para CRUD. Precedencia config: Remote Config > env > YAML.
Cuidado
- Esas pistas salen de docs/cursos; aún no del VM en vivo.