feat(hands,jobs): длящаяся беда не пропадает - суточная сводка и всплеск против своей нормы
This commit is contained in:
1 parent
69e427469a
commit
d89e24ae09
4 files changed
+492
-24
No files matched your search
+22
-12
@@ -25,6 +25,7 @@ from beaver_agent.hands.komodo_logs import (
|
||||
StackScan,
|
||||
Sweep,
|
||||
brief,
|
||||
daily,
|
||||
digest,
|
||||
read_stack,
|
||||
)
|
||||
@@ -99,26 +100,35 @@ async def sweep(
|
||||
|
||||
|
||||
async def logs_watch(run: JobRun) -> None:
|
||||
"""Проход по логам: состояние на диске, инжект - только на новом."""
|
||||
"""Проход по логам: состояние на диске, инжект - на новом и раз в сутки.
|
||||
|
||||
Инжекта два и они разные: обычный - про новое, всплески и отбой; суточный -
|
||||
про длящееся, которое в проходах молчит. Первый проход суток у нас в 01:40,
|
||||
он же и несёт сводку: в 00:00 ротация мастера, лезть туда незачем.
|
||||
"""
|
||||
if KOMODO is None:
|
||||
_log.info("логи: руки komodo нет, проход пропущен")
|
||||
return
|
||||
seen = Seen.load(STATE_FILE)
|
||||
report = digest(seen, await sweep(KOMODO))
|
||||
if not report.worth_telling:
|
||||
seen.save()
|
||||
_log.info(
|
||||
"логи: нового нет, стеков прочитано %s из %s",
|
||||
len(report.sweep.read),
|
||||
report.sweep.in_scope,
|
||||
)
|
||||
return
|
||||
if await run.inject_master(brief(report, ZONE), urgency="normal", origin="логи"):
|
||||
report = digest(seen, await sweep(KOMODO), ZONE)
|
||||
if report.worth_telling and await run.inject_master(
|
||||
brief(report, ZONE), urgency="normal", origin="логи"
|
||||
):
|
||||
seen.mark_told(report)
|
||||
if report.summary and await run.inject_master(
|
||||
daily(report, ZONE), urgency="normal", origin="логи"
|
||||
):
|
||||
seen.mark_daily(report)
|
||||
seen.save()
|
||||
_log.info(
|
||||
"логи: новое %s, стихло %s, не прочитано %s",
|
||||
"логи: новое %s, всплеск %s, стихло %s, длится %s (сводка %s), "
|
||||
"не прочитано %s, стеков %s из %s",
|
||||
len(report.new),
|
||||
len(report.surge),
|
||||
len(report.quiet),
|
||||
len(report.ongoing),
|
||||
report.summary,
|
||||
len(report.trouble),
|
||||
len(report.sweep.read),
|
||||
report.sweep.in_scope,
|
||||
)
|
||||
Reference in new issue
Block a user