feat: notification source line in agent alerts (1.2.29-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+27
-1
@@ -80,7 +80,7 @@ $script:MonitorLoopInitialized = $false
|
|||||||
# строки ниже, если правки «мелкие» и вы не хотите менять отображаемую версию в логах).
|
# строки ниже, если правки «мелкие» и вы не хотите менять отображаемую версию в логах).
|
||||||
# Рекомендация: при значимых релизах меняйте и $ScriptVersion, и version.txt одинаково; при только
|
# Рекомендация: при значимых релизах меняйте и $ScriptVersion, и version.txt одинаково; при только
|
||||||
# исправлениях на шаре — достаточно поднять patch в version.txt (например 1.3.0.1).
|
# исправлениях на шаре — достаточно поднять patch в version.txt (например 1.3.0.1).
|
||||||
$ScriptVersion = "1.2.28-SAC"
|
$ScriptVersion = "1.2.29-SAC"
|
||||||
|
|
||||||
# Логи (все под InstallRoot)
|
# Логи (все под InstallRoot)
|
||||||
$LogFile = Join-Path $script:InstallRoot "Logs\login_monitor.log"
|
$LogFile = Join-Path $script:InstallRoot "Logs\login_monitor.log"
|
||||||
@@ -737,6 +737,28 @@ function Get-NotifyChainHuman {
|
|||||||
return ($labels -join ' → ')
|
return ($labels -join ' → ')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Get-AgentNotificationSourcePlainLine {
|
||||||
|
$ver = if ($ScriptVersion) { [string]$ScriptVersion } else { 'unknown' }
|
||||||
|
return "📡 Оповещение: агент (rdp-login-monitor $ver)"
|
||||||
|
}
|
||||||
|
|
||||||
|
function Get-AgentNotificationSourceHtmlLine {
|
||||||
|
return [System.Net.WebUtility]::HtmlEncode((Get-AgentNotificationSourcePlainLine))
|
||||||
|
}
|
||||||
|
|
||||||
|
function Add-NotificationSourceLine {
|
||||||
|
param([string]$Message)
|
||||||
|
|
||||||
|
if ($Message -match 'Оповещение:\s*(агент|SAC)') {
|
||||||
|
return $Message
|
||||||
|
}
|
||||||
|
$line = Get-AgentNotificationSourceHtmlLine
|
||||||
|
if ([string]::IsNullOrWhiteSpace($Message)) {
|
||||||
|
return $line
|
||||||
|
}
|
||||||
|
return ($Message.TrimEnd() + "`r`n`r`n" + $line)
|
||||||
|
}
|
||||||
|
|
||||||
function ConvertTo-TelegramHtml {
|
function ConvertTo-TelegramHtml {
|
||||||
param([string]$Text)
|
param([string]$Text)
|
||||||
if ($null -eq $Text) { return '' }
|
if ($null -eq $Text) { return '' }
|
||||||
@@ -751,6 +773,8 @@ function Send-TelegramMessage {
|
|||||||
return $false
|
return $false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$Message = Add-NotificationSourceLine -Message $Message
|
||||||
|
|
||||||
$uri = "https://api.telegram.org/bot$TelegramBotToken/sendMessage"
|
$uri = "https://api.telegram.org/bot$TelegramBotToken/sendMessage"
|
||||||
$body = @{
|
$body = @{
|
||||||
chat_id = $TelegramChatID
|
chat_id = $TelegramChatID
|
||||||
@@ -1713,6 +1737,8 @@ function Build-DailyReportPlainBodyWindows {
|
|||||||
} else {
|
} else {
|
||||||
[void]$sb.AppendLine(' (нет данных)')
|
[void]$sb.AppendLine(' (нет данных)')
|
||||||
}
|
}
|
||||||
|
[void]$sb.AppendLine('')
|
||||||
|
[void]$sb.AppendLine((Get-AgentNotificationSourcePlainLine))
|
||||||
return $sb.ToString().TrimEnd()
|
return $sb.ToString().TrimEnd()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
-1
@@ -624,7 +624,17 @@ function Send-SacEvent {
|
|||||||
return $false
|
return $false
|
||||||
}
|
}
|
||||||
|
|
||||||
$payload = $(New-SacEventPayload -EventType $EventType -Severity $Severity -Title $Title -Summary $Summary -Details $Details)
|
$mergedDetails = @{}
|
||||||
|
if ($null -ne $Details) {
|
||||||
|
foreach ($k in $Details.Keys) {
|
||||||
|
$mergedDetails[$k] = $Details[$k]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (-not $mergedDetails.ContainsKey('generated_by')) {
|
||||||
|
$mergedDetails['generated_by'] = 'agent'
|
||||||
|
}
|
||||||
|
|
||||||
|
$payload = $(New-SacEventPayload -EventType $EventType -Severity $Severity -Title $Title -Summary $Summary -Details $mergedDetails)
|
||||||
if ($payload -is [System.Array]) {
|
if ($payload -is [System.Array]) {
|
||||||
$payload = $payload[-1]
|
$payload = $payload[-1]
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
1.2.28-SAC
|
1.2.29-SAC
|
||||||
|
|||||||
Reference in New Issue
Block a user