Перейти до вмісту

Побудувала сім ролей звітності лише для читання, які описують робочий хост у Markdown — факти, доступ, git, метрики, трафік, безпека та інвентар провайдера, — за правилом: не виводиться жодне число, якого запуск не виміряв.

сім звітів, що друкують лише виміряне

Ситуація. У хоста не було дашборда, і він не мав з’явитися, бо стек метрик не вміщується в 464 МБ, а якби й умістився, не був би вартий своєї ціни. Тож лишалася чесна прогалина: не було як відповісти на запитання на кшталт того, хто має доступ, наскільки виріс цей репозиторій, який вигляд має трафік і чи справді діє посилення захисту.

Завдання. На ці запитання потрібні були відповіді, які можна отримати на вимогу, які нічого не коштують хостові, поки ніхто не питає, і які ніколи не можуть змінити те, що описують.

Дія. Сім ролей лише для читання, і кожна переносить стан живого хоста в Markdown у репозиторії. Знімок фактів: операційна система, обладнання, сховище, мережа, служби, пакунки, сокети в режимі прослуховування і завантаження процесора, обчислене з двох зчитувань власного лічильника ядра. Звіт про доступ: облікові записи, межі sudo, відбитки ключів, користувачі git‑сервера і ролі бази даних. Git‑звіт для кожного репозиторію. Звіт за метриками, зібраними протягом доби. Звіт про трафік, побудований на журналі вебсервера, де дані замасковано заради приватності. Інвентаризація ресурсів провайдерів через чотири інтерфейси — DNS, два хмарні API та API виділених серверів. І звіт з безпеки, який відповідає, чи посилення захисту справді діє, а не лише налаштоване, і виводить правила брандмауера в порядку зіставлення та чинний набір правил блокування. Головне правило для всіх семи: звіт не друкує жодного числа, якого прогін не виміряв, — звіт, що заповнює прогалину правдоподібним числом, гірший за той, що лишає її порожньою, бо вірять саме правдоподібному.

Результат. Усю інфраструктуру можна на вимогу описати з репозиторію, і звіти знайшли цілком реальні речі: два мертві засоби безпеки, незадекларований порт у режимі прослуховування і те, що архів трафіку сягає в минуле лише до того моменту, коли хтось востаннє згадав його зібрати. Останнє описано як обмеження з точно зафіксованою ціною — шістнадцять днів історії одного сайту, які між збираннями зникли через ротацію журналів і тепер не існують ніде.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік