Тревоги — что накричали обёртки и сторожа, и что из этого не разобрано
неразобранных бед: 55
строк в очереди 396 — повторы свёрнуты
самая старая 38,6 сут назад
разобрать: scripts/alerts.sh, затем scripts/alerts.sh --ack
| началось | подтверждена | раз | источник | что случилось |
|---|---|---|---|---|
| 2026-09-29 08:31:11 | 2026-09-29 08:31:11 | 1 | hot-edge | proc/77: край стоит на 2026-09-22 — 4 рабочих дней без новых документов (порог 2) |
| 2026-09-29 08:31:09 | 2026-09-29 12:53:52 | 10 | hot-edge | control/47: край стоит на 2026-07-27 — 45 рабочих дней без новых документов (порог 2); и региона НЕТ в перечне сбора контура (10987 док. в базе) — вопрос «собираем ли дальше» решают owner/lead, датчик его задаёт |
| 2026-09-29 08:31:10 | 2026-09-29 12:53:52 | 10 | hot-edge | control/50: край стоит на 2026-09-22 — 4 рабочих дней без новых документов (порог 2) |
| 2026-09-29 08:31:10 | 2026-09-29 12:53:52 | 10 | hot-edge | control/77: край стоит на 2026-09-22 — 4 рабочих дней без новых документов (порог 2) |
| 2026-09-29 08:31:11 | 2026-09-29 12:53:52 | 10 | hot-edge | control/78: край стоит на 2026-09-22 — 4 рабочих дней без новых документов (порог 2) |
| 2026-09-29 08:31:11 | 2026-09-29 12:53:52 | 10 | hot-edge | proc/50: край стоит на 2026-09-03 — 17 рабочих дней без новых документов (порог 2) |
| 2026-09-29 08:31:12 | 2026-09-29 12:53:52 | 10 | hot-edge | proc/78: край стоит на 2025-11-19 — 210 рабочих дней без новых документов (порог 2); и региона НЕТ в перечне сбора контура (2101678 док. в базе) — вопрос «собираем ли дальше» решают owner/lead, датчик его задаёт |
| 2026-09-29 12:57:05 | 2026-09-29 12:57:05 | 1 | reconcile | сверка заполненности: notice_requirement.content/epNotificationEZK2020 сырьё 23.31 % против витрины 0.0 %; notice_requirement.content/epNotificationEOK2020 сырьё 19.77 % против витрины 0.0 %; notice_requirement.content/epNotificationEF2020 сырьё 14.33 % против витрины 0.0 % |
| 2026-09-29 12:57:38 | 2026-09-29 12:57:38 | 1 | reconcile | сверка заполненности: notice_requirement.content/epNotificationEZK2020 сырьё 24.73 % против витрины 0.0 %; notice_requirement.content/epNotificationEOK2020 сырьё 18.99 % против витрины 0.23 %; notice_requirement.content/epNotificationEF2020 сырьё 15.79 % против витрины 0.0 % |
| 2026-09-29 12:58:50 | 2026-09-29 12:58:50 | 1 | reconcile | сверка заполненности: notice_requirement.content/epNotificationEZK2020 сырьё 20.64 % против витрины 0.0 %; notice_requirement.content/epNotificationEOK2020 сырьё 17.96 % против витрины 0.06 %; notice_requirement.content/epNotificationEF2020 сырьё 15.44 % против витрины 0.0 % |
| 2026-09-29 12:59:03 | 2026-09-29 12:59:03 | 1 | reconcile | сверка заполненности: notice_requirement.content/epNotificationEZK2020 сырьё 19.05 % против витрины 0.0 %; notice_requirement.content/epNotificationEF2020 сырьё 15.12 % против витрины 0.0 %; notice_requirement.content/epNotificationEOK2020 сырьё 13.35 % против витрины 0.0 % |
| 2026-08-22 08:13:34 | 2026-09-29 13:02:29 | 126 | steps.sh | прогон закрылся кодом 75 — работа не доделана |
Показано бед: 12 из 55; строк в очереди 396. Повторы одной беды свёрнуты в строку со счётчиком:
сторож ходит трижды в сутки и переписывает живую беду заново, и девять копий старой прятали
свежую — так утонул обрыв 15.08, о котором датчики кричали двое суток. Обе метки времени
обязательны: «началось» показывает, сколько беда живёт, «подтверждена» — что она ещё жива.
Очередь — файл logs/alerts.log: она переживает ночь и закрытый экран,
в отличие от нотификации, которая живёт секунды и требует человека у монитора
(05.08 и 06.08 бэкап отменялся, узнали 11-го).
коммитов мимо гейта за 7 сут: 4 обход не бесплатен: гейт уже был мёртв днями, пока его обходили молча
| когда | коммит | тема |
|---|---|---|
| 2026-09-22 19:17:52 | 928d02a |
[dev1] [T-231] в журнал: пять подстановок в worktree, все тр |
| 2026-09-22 21:13:23 | f091fc3 |
[dev2] [T-237] сбор метаданных не требует архивный том: он п |
| 2026-09-22 21:14:15 | b5ad5a2 |
[dev2] [T-237] сбор метаданных не требует архивный том: он п |
| 2026-09-29 11:55:23 | 5d762f7 |
[qa] [T-242] ВОЗВРАТ: новый файл-зависимость роняет 20 чужих |
Ночные контуры — жив ли конвейер без человека в петле
Бэкап базы идёт по расписанию
gz.backupgz.backup-20260929.logТранш DaData идёт по расписанию
gz.dadata-tranchegz.dadata-tranche-20260929.logНочная сюита стоит
gz.nightly-suitegz.nightly-suite-20260922.logСторож конвейера идёт по расписанию
gz.watchdoggz.watchdog-20260929.logПериод расписания читается из самого .plist (у агента с несколькими
запусками в сутки — по самому длинному промежутку между ними). Красное — не мнение, а факт: агент выключен, либо последний успешный прогон старше
трёх периодов расписания. Для бэкапа возрастом считается сам файл дампа, а не код выхода
агента (код 0 без дампа мы уже видели 07.08). Прогон, закрывшийся нулём на законном
пропуске («канал занят», «остаток квоты ниже порога»), успехом СЧИТАЕТСЯ, а работой —
нет: 12–14.08 главный агент три ночи подряд выходил кодом 0, не подвинув горячий край.
Закупочные процедуры (proc) — полнота по журналу сканирования
| регион | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | последний день | лаг |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 50 · Московская обл. | ≥ 10 122 / 15 372 яч. типов 42/53 | ≥ 16 365 / 15 330 яч. типов 42/53 | ≥ 10 365 / 15 330 яч. типов 42/53 | ≥ 19 828 7 665 / 18 250 яч. типов 50/53 | ≥ 22 298 7 686 / 18 300 яч. типов 50/53 | ≥ 1 386 090 18 250 / 18 250 яч. типов 50/53 | ≥ 1 738 398 17 254 / 17 254 яч. | ≥ 2 217 311 16 425 / 16 425 яч. типов 45/53 | ≥ 2 610 953 16 470 / 16 470 яч. типов 45/53 | ≥ 2 189 655 16 425 / 16 425 яч. типов 45/53 | ≥ 1 339 164 10 976 / 12 240 яч. типов 45/53 | 01.09.2026 | 28 дн. |
| 77 · Москва | ≥ 7 122 / 15 372 яч. типов 42/53 | ≥ 47 365 / 15 330 яч. типов 42/53 | ≥ 57 365 / 15 330 яч. типов 42/53 | ≥ 35 977 7 665 / 18 250 яч. типов 50/53 | ≥ 34 459 7 686 / 18 300 яч. типов 50/53 | ≥ 2 375 619 18 250 / 18 250 яч. типов 50/53 | ≥ 3 350 196 17 254 / 17 254 яч. | ≥ 4 316 810 16 425 / 16 425 яч. типов 45/53 | ≥ 5 504 634 16 470 / 16 470 яч. типов 45/53 | ≥ 4 756 797 16 425 / 16 425 яч. типов 45/53 | ≥ 3 375 303 12 105 / 12 240 яч. типов 45/53 | 27.09.2026 | 2 дн. |
| 78 · Санкт-Петербург | — | — | — | — | — | ≥ 2 082 328 14 965 / 18 250 яч. типов 50/53 | 0 0 / 17 254 яч. | 0 0 / 16 425 яч. типов 45/53 | 0 0 / 16 470 яч. типов 45/53 | ≥ 19 350 44 / 16 425 яч. типов 45/53 | 0 0 / 12 240 яч. типов 45/53 | 19.11.2025 | 314 дн. разовый сбор |
В клетке — документов найдено и сколько ЯЧЕЕК «день × тип» закрыто сбором (единица журнала: за день сбор тянет каждый из типов отдельно, поэтому «365 из 365 дней» ещё не значит «год собран» — 13.08 при полных днях недоставало 793 584 документа).
Ноль документов при просмотренных днях — это честный ноль, а не пробел: журнал
fz44_proc.scan_log пишет и пустые дни. Разбор: 35 947 205
разобрано, 1 819 500 ждёт,
3 499 дублей.
Счёт документов точен с 23.08.2026: до этого
дня журнал писал число НОВЫХ документов последнего захода и обнулял запись при
пересканировании горячего края, поэтому на 242 710 ячейках из 245 091
величина занижена и помечена знаком «≥» ([T-201], [T-239]). Два счёта не смешаны
в одну цифру намеренно: день, когда они разойдутся, в ней не был бы виден.
Пар «регион × день» в журнале — 7 697; знаменатель печатается рядом
с долей намеренно, иначе ровный ряд выглядел бы полным и там, где регион перестал
собираться. Ночного агента у этого контура нет —
сбор идёт руками, поэтому лаг помечен «разовый сбор» и тревогой не считается.
Контроль — полнота по журналу сканирования — окно 01.01…22.09.2026, единица — ячейка «тип × день» (20 типов)
| регион | ячеек собрано | охват | документов | потеряно | не по типу | последний день |
|---|---|---|---|---|---|---|
| 50 · Московская обл. | 5 100 из 56 440 | 9 % | 10 219 | 0 | 0 | 22.09.2026 |
| 77 · Москва | 5 499 из 56 440 | 10 % | 26 795 | 0 | 0 | 22.09.2026 |
| 78 · Санкт-Петербург | 12 703 из 56 440 | 23 % | 33 646 | 0 | 0 | 22.09.2026 |
Счёт полученного появился 15.08.2026
(миграция 047), поэтому окно начинается там; всё, что собрано раньше, в этой таблице НЕ учтено и остаётся в таблице ниже как «данные есть».
Задним числом журнал не восстанавливается: наличие документов не доказывает, что ячейку смотрели.
Числитель и знаменатель берутся из журнала, а не из документов по дате публикации:
у жалоб publish_date заполнен у 121 документа из 105 763 (парсер починен
15.08, прежние остались без даты), и на этой оси самый массовый тип дал бы правдоподобную,
но смещённую картину.
Красное — по колонке «потеряно» (errors), а не по остатку: «не по типу» это
документы, которые парсер не признал своими, сигнал другой природы. Свежая недостача сутки
не кричит: перескан перезаписывает ячейку целиком, и частично упавший повтор поверх чистого
скана дал бы ложную тревогу.
Контроль (жалобы, проверки, РНП) — по факту наличия документов в дне
| регион | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | последний день | лаг |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 47 · Ленинградская обл. | — | — | — | — | 0 0 дн. с публ. | 0 0 дн. с публ. | 0 0 дн. с публ. | 6 638 252 дн. с публ. | 2 528 137 дн. с публ. | 27.07.2026 | 64 дн. разовый сбор |
| 50 · Московская обл. | — | 8 565 152 дн. с публ. | 6 291 253 дн. с публ. | 12 551 257 дн. с публ. | 25 377 295 дн. с публ. | 30 770 306 дн. с публ. | 15 269 282 дн. с публ. | 13 984 281 дн. с публ. | 12 290 194 дн. с публ. | 22.09.2026 | 7 дн. |
| 77 · Москва | — | 17 281 200 дн. с публ. | 15 690 338 дн. с публ. | 24 377 342 дн. с публ. | 47 927 356 дн. с публ. | 57 798 355 дн. с публ. | 50 262 359 дн. с публ. | 48 764 352 дн. с публ. | 40 625 253 дн. с публ. | 22.09.2026 | 7 дн. |
| 78 · Санкт-Петербург | 12 9 дн. с публ. | 10 828 174 дн. с публ. | 18 367 303 дн. с публ. | 18 259 310 дн. с публ. | 30 436 347 дн. с публ. | 38 038 347 дн. с публ. | 35 442 347 дн. с публ. | 30 232 350 дн. с публ. | 20 020 244 дн. с публ. | 22.09.2026 | 7 дн. |
Клетки контроля намеренно НЕ красятся в шкалу полноты (серое = «данные
есть»): журнала сканирования у этого контура нет, а значит нет и знаменателя — сколько
ячеек должно было быть. Красить их зелёным значило бы выдать наличие данных за доказанную
полноту; ровно эта ошибка 13.08 скрыла 793 584 недостающих документа у proc. Чтобы шкала
появилась и здесь, сбору контроля нужен такой же журнал (день × тип), как у proc. Пробелы внутри года ищет
python -m gz.fz44.control.collect --gaps по календарю публикаций.
Лаг тревожен только у регионов ночного сбора (50, 77, 78);
остальные помечены «разовый сбор» — там дата это факт, а не сигнал.
Документов без даты публикации: 105 641 — они не попали ни в одну клетку.
Организаций в справочнике DaData: 276 162.