Техоперации

Регулярные проверки техдолга — на входе телеметрия, на выходе заведённые задачи

По расписанию агенты читают метрики и логи вашего облака, связывают находки с отвечающим за них кодом и заводят задачу с дедупликацией — или, если вы разрешили, открывают PR с исправлением, который всё равно вливает человек.

Читает телеметрию, не держа ваши ключи

Облачные доступы подставляются на стороне сервера в момент вызова. Ключ только на чтение не попадает ни в контекст модели, ни в транскрипт, ни в коммит — агент видит агрегированные метрики и строки логов, и ничего больше.

Находки связаны с кодом

Аномалия сама по себе — шум. Проверка находит в репозитории отвечающий за неё обработчик, запрос или конфиг и говорит, о каком файле и какой строке идёт речь.

Дедупликация по отпечатку

У каждой находки стабильный отпечаток. Повторяющаяся проблема обновляет существующую задачу, а не заводит ту же самую каждую неделю — именно этот сценарий убивает большинство автоматических сканеров.

Чинить и находить — разные гейты

По умолчанию заводятся задачи. Открытие PR с исправлением — отдельный переключатель, ограниченный бюджетом автономности, и вливает всегда человек.

Задача

«Что-то тихо ухудшается уже месяц. Мы узнаем об этом, когда в три ночи кому-то прилетит алерт».

У любой команды сигнала больше, чем внимания. Дашборды показывают то, куда вы смотрите; медленные регрессии живут в том, куда не смотрите. Ревизии ставятся в план и сдвигаются — работа несложная, просто она никогда не самая срочная.

Автоматические сканеры обычно проваливаются не на обнаружении, а на шуме: бот, заводящий те же двенадцать задач каждый понедельник, оказывается замьючен за месяц — а вместе с ним и та единственная настоящая.

Что делает Forge

Проверка по расписанию, которая заканчивается чем-то применимым — с дедупликацией и указанием на код:

Расписаниевходпо вашей периодичности
DevOpsDevOpsтянет метрики и логи ошибок
РазработчикРазработчиксвязывает с кодом, решает
QAQAпроверяет, что заведено
Задача или PRвыход

DevOps-агент тянет метрики и фильтрует логи ошибок за недавнее окно и докладывает аномалии: какой сервис, что за сигнал, насколько отклонение велико и какие строки логов показательны.

Разработчик находит отвечающий код, читая репозиторий, и решает: завести задачу или — если вы это разрешили и правка небольшая и понятная — внести минимальное исправление.

QA проверяет, что результат достоин внимания человека: указанное место в коде существует, предложение правдоподобно, это не дубль. Этот шаг защищает единственное, на чём держится вся схема, — что поток задач остаётся читаемым.

Всё, что выше безопасной автономности — миграции схемы, кросс-сервисные правки, инфраструктура, любая неоднозначность, — заводится с меткой needs-human, а не трогается. В сомнении заводится задача: неверная автоматическая правка хуже задачи.

Доказательство

Мы гоняем это на собственном флоте. Честное состояние:

  • Отгружено и работает: проверка по расписанию, доступ к метрикам и логам только на чтение с подстановкой доступа на сервере, связывание с кодом и заведение задач с дедупликацией по отпечатку.
  • Под гейтом: путь «чинить сразу» существует и ограничен бюджетом автономности; вливает человек.
  • В работе: расширяем список источников за пределы облачных метрик и логов и делаем обнаружение ресурсов, чтобы проверка не зависела от списка имён, поддерживаемого руками, — на это мы наткнулись на своём же флоте, где лог-группы нестандартные, а имена функций несут сгенерированные суффиксы.

Последнее — как раз то, что узнаёшь, только запустив на себе. Поэтому мы и запускаем.

Что остаётся под вашим контролем

  • Периодичность. Дважды в неделю, еженощно — как быстро меняется ваша система.
  • Охват. Какие сервисы, какие сигналы, какой репозиторий.
  • Автономность. Только задачи или ещё и правки — с бюджетом и точками подтверждения, когда он исчерпан.
  • Доступ. Только на чтение, подставляется на сервере, в контекст модели не попадает.

Что под капотом

Что-то в телеметрии тихо ухудшается?

Наведите проверку на один сервис и дайте доступ только на чтение. Одного цикла хватит, чтобы понять, стоят ли находки внимания команды.