feat: send full daily report body and stats in SAC details
This commit is contained in:
+39
-1
@@ -1754,7 +1754,45 @@ send_daily_report() {
|
|||||||
message="${message} Нет активных пользователей"$'\n'
|
message="${message} Нет активных пользователей"$'\n'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
notify_or_sac "report.daily.ssh" "info" "Ежедневный отчёт SSH" "Отчёт за сутки" "$message"
|
local sac_summary sac_details_json
|
||||||
|
sac_summary="SSH 24ч: успех ${successful_logins:-0}, неудач ${failed_logins:-0}, sudo ${sudo_commands:-0}"
|
||||||
|
sac_details_json="$(
|
||||||
|
SAC_REPORT_BODY="$message" \
|
||||||
|
SAC_OK="${successful_logins:-0}" \
|
||||||
|
SAC_FAIL="${failed_logins:-0}" \
|
||||||
|
SAC_SUDO="${sudo_commands:-0}" \
|
||||||
|
SAC_BANS="${active_bans:-0}" \
|
||||||
|
SAC_ACTIVE="${active_count:-0}" \
|
||||||
|
python3 <<'PY'
|
||||||
|
import html
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
body = os.environ.get("SAC_REPORT_BODY", "")
|
||||||
|
stats = {
|
||||||
|
"successful_ssh": int(os.environ.get("SAC_OK", "0") or 0),
|
||||||
|
"failed_ssh": int(os.environ.get("SAC_FAIL", "0") or 0),
|
||||||
|
"sudo_commands": int(os.environ.get("SAC_SUDO", "0") or 0),
|
||||||
|
"active_bans": int(os.environ.get("SAC_BANS", "0") or 0),
|
||||||
|
"active_sessions": int(os.environ.get("SAC_ACTIVE", "0") or 0),
|
||||||
|
}
|
||||||
|
escaped = html.escape(body)
|
||||||
|
report_html = '<div class="agent-report">' + escaped.replace("\n", "<br>\n") + "</div>"
|
||||||
|
print(
|
||||||
|
json.dumps(
|
||||||
|
{
|
||||||
|
"stats": stats,
|
||||||
|
"report_body": body,
|
||||||
|
"report_format": "plain",
|
||||||
|
"report_html": report_html,
|
||||||
|
},
|
||||||
|
ensure_ascii=False,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
PY
|
||||||
|
)" || sac_details_json=""
|
||||||
|
|
||||||
|
notify_or_sac "report.daily.ssh" "info" "Ежедневный отчёт SSH" "$sac_summary" "$message" "$sac_details_json"
|
||||||
write_log "Ежедневный отчет отправлен"
|
write_log "Ежедневный отчет отправлен"
|
||||||
|
|
||||||
echo "$(report_date '+%F')" >"$LAST_REPORT_FILE"
|
echo "$(report_date '+%F')" >"$LAST_REPORT_FILE"
|
||||||
|
|||||||
Reference in New Issue
Block a user