diff --git a/ssh-monitor b/ssh-monitor index 16e84e4..9b20dd6 100644 --- a/ssh-monitor +++ b/ssh-monitor @@ -1754,7 +1754,45 @@ send_daily_report() { message="${message} Нет активных пользователей"$'\n' 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 = '