Skrypty operacyjne

Un conjunto de más de una docena de scripts de diagnóstico que vigilan la salud de la infraestructura. Detectan la deriva de configuración, los secretos en los repos, los certificados que caducan, los enlaces muertos, las copias de seguridad ausentes y los puertos ocupados. Un trabajo rutinario que antes consumía horas, reducido a un solo comando.

Skrypty operacyjne
TL;DR

Una docena larga de scripts de diagnóstico bajo un único comando. Certificados que caducan, backups que faltan, secretos colados en un repo, enlaces muertos, puertos ocupados - las cosas que es fácil dejar para luego, hasta que algo se rompe. Un comando, un código de salida distinto de cero, y el fin de adivinar si alguien se acordó de comprobar.

Introducción

Toda infraestructura tiene una capa de trabajo que es aburrida justo hasta el momento en que se vuelve crítica. Un certificado que caduca un domingo. Un backup que lleva un mes disparando al vacío. Un secreto colado por accidente en un repo. Un puerto ocupado que no debería escuchar. Nada de esto grita hasta que es demasiado tarde.

Reunimos estos controles en una docena larga de pequeños scripts y los escondimos detrás de un único comando. El objetivo no era técnico sino humano: hacer que la higiene de la infraestructura deje de depender de que alguien se acordara de hacerla. Porque la memoria, como resulta en la práctica, es el peor mecanismo de seguridad que se puede elegir.

La rutina que siempre pierde ante los plazos

Cuidar la infraestructura es de ese tipo de trabajo que siempre se puede hacer mañana. Aburrido mientras todo funciona, así que cede educadamente el paso a las cosas que tienen plazo. El problema es que ella misma no tiene plazo - hasta que de repente tiene uno, y duro: el certificado caduca hoy, el backup hacía falta ayer.

No es un problema técnico. Cada uno de estos controles se puede hacer a mano en un minuto. El problema es que exigen que alguien se acuerde de ellos, con regularidad, en el trasfondo de otro trabajo - y eso es exactamente lo que las personas hacen mal. Cuantas más cosas hay que recordar, con más seguridad se cae una, normalmente justo aquella que esta vez habría atrapado algo.

Un comando, una pasada

Así que redujimos toda la rutina a un único comando que no depende de la memoria de nadie. Lo lanzas a mano antes de un despliegue o lo enganchas a una planificación y te olvidas - y ese es precisamente el efecto buscado.

Qué atrapa una pasada

ControlAtrapa
Certificadoscaduca en menos de N días
Backupsel último más viejo que el umbral, o vacío
Secretosclaves y tokens colados en un repo
Enlacesreferencias muertas en documentos y config
Puertosocupados o a la escucha donde no deberían
Desvío de configuna cosa en el repo, otra en el servidor

Contrato: el código de salida lo dice todo

Para que algo pueda engancharse a la CI o a cron, tiene que hablar con un código de salida, no con un párrafo de texto. Cero significa limpio, cualquier otra cosa significa ve a mirar. Ese es todo el contrato, y es justo su simplicidad la que hace la herramienta automatizable sin ningún truco.

ops-check.sh · bash
ops check --all

ops check --all --format json || notify "ops: algo requiere atención"

El mismo comando tiene dos caras. Para una persona imprime un informe legible - qué se comprobó, qué pasó, qué requiere atención. Para una máquina devuelve JSON que se puede parsear y enganchar a una alerta. Una entrada, dos formas de salida, ningún texto pensado para personas que finge ser una interfaz para máquinas.

Una alarma que no suena sin motivo

La parte más difícil de una herramienta así no son los controles en sí, sino los umbrales. Una alarma que suena siempre vale lo mismo que una alarma apagada - la gente simplemente deja de leerla, y entonces se pierde la única vez en que algo va de verdad mal. Es la forma más común en que la monitorización enmudece: no por un fallo, sino por ruido.

Por eso cada control tiene un umbral elegido de modo que el comando calle cuando todo va bien. Un certificado que caduca dentro de medio año no es una alarma. Un certificado que caduca dentro de una semana sí. Un backup de hace una hora está bien, de hace un mes ya no. Los umbrales existen para que el silencio signifique algo.

➜
Consejo

El silencio de una herramienta solo tiene valor si es creíble. Si el comando habla por cualquier nadería, la gente aprende a ignorarlo, y entonces no avisará durante un fuego. Ajusta los umbrales de modo que la ausencia de alarma signifique de verdad limpio - de lo contrario construyes ruido, no monitorización.

Qué queda de ello

No es una herramienta vistosa, y no tiene por qué serlo. No hay panel, no hay gráficas, nada que mostrar en una captura. Todo su valor está en que la rutina dejó de depender de la memoria de nadie - se lanza sola, y cuando calla, ese silencio significa de verdad limpio.

12+
controles bajo un único comando
1
entrada en vez de una docena de pasos manuales
segundos
en vez de horas recorriendo directorios

La diferencia es que la clase de problemas que antes solo salían a la luz en el fallo ahora sale antes - en una simple pasada antes de un despliegue o a hora fija desde cron. Un certificado que caduca avisa con una semana de antelación, no un domingo a las tres de la madrugada. Ese es todo el trabajo de esta herramienta: convertir un silencio nacido de la ignorancia en un silencio nacido de la certeza.

Más proyectos

Más trabajos de la misma categoría - mira cómo abordamos retos parecidos.

¿Tiene un proyecto similar?

Escríbenos - el presupuesto es gratuito y llega en una hora.