docs(runbook): add deterministic WAL failover test for windows collectors
This commit is contained in:
@@ -85,6 +85,65 @@ curl -fsS 'http://127.0.0.1:5600/api/0/buckets/aw-dlp-incidents_SHARKON2025/even
|
|||||||
|
|
||||||
Если API видит событие, а bucket-страница в UI показывает старые `First/last event`, нажать `Обновить` на странице bucket и раскрыть `Events`.
|
Если API видит событие, а bucket-страница в UI показывает старые `First/last event`, нажать `Обновить` на странице bucket и раскрыть `Events`.
|
||||||
|
|
||||||
|
### Проверка WAL failover (Windows collectors)
|
||||||
|
|
||||||
|
Цель: подтвердить, что при недоступности AW API события не теряются, а буферизуются в локальной очереди и автоматически отправляются после восстановления связи.
|
||||||
|
|
||||||
|
На RDP-хосте (`192.168.100.21`) в PowerShell под администратором:
|
||||||
|
|
||||||
|
1) Проверить/обнулить очереди:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$q1 = 'C:\ProgramData\AWatch-rus\file-operations-queue.jsonl'
|
||||||
|
$q2 = 'C:\ProgramData\AWatch-rus\dlp-endpoint-signals-queue.jsonl'
|
||||||
|
Get-Item $q1,$q2 | Select Name,Length,LastWriteTime
|
||||||
|
```
|
||||||
|
|
||||||
|
2) Временно заблокировать исходящий доступ на AW API (`:5600`):
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
New-NetFirewallRule -DisplayName 'AWatch WAL Test Block 5600' -Direction Outbound -Action Block -Protocol TCP -RemotePort 5600 -ErrorAction SilentlyContinue
|
||||||
|
Enable-NetFirewallRule -DisplayName 'AWatch WAL Test Block 5600'
|
||||||
|
```
|
||||||
|
|
||||||
|
3) Сгенерировать тест-событие `file-operations`:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$p = Join-Path $env:USERPROFILE 'Desktop\aw_wal_test.txt'
|
||||||
|
Set-Content -LiteralPath $p -Value ('wal-test ' + (Get-Date -Format o))
|
||||||
|
Start-Sleep -Seconds 5
|
||||||
|
```
|
||||||
|
|
||||||
|
4) Убедиться, что очередь выросла:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-Item $q1,$q2 | Select Name,Length,LastWriteTime
|
||||||
|
```
|
||||||
|
|
||||||
|
5) Снять блокировку и дождаться flush:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Disable-NetFirewallRule -DisplayName 'AWatch WAL Test Block 5600'
|
||||||
|
Start-Sleep -Seconds 20
|
||||||
|
Get-Item $q1,$q2 | Select Name,Length,LastWriteTime
|
||||||
|
```
|
||||||
|
|
||||||
|
Ожидаемо:
|
||||||
|
- на шаге 4 длина как минимум одного queue-файла увеличивается;
|
||||||
|
- на шаге 5 очередь уменьшается (в идеале до `0` или близко к фоновому уровню).
|
||||||
|
|
||||||
|
6) Проверка на AW server:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsS 'http://10.10.10.13:5600/api/0/buckets/aw-file-operations_10.10.10.13/events?limit=10' | jq '.[0].data'
|
||||||
|
```
|
||||||
|
|
||||||
|
После теста удалить правило:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Remove-NetFirewallRule -DisplayName 'AWatch WAL Test Block 5600' -ErrorAction SilentlyContinue
|
||||||
|
```
|
||||||
|
|
||||||
### У пользователей всплывает окно PowerShell
|
### У пользователей всплывает окно PowerShell
|
||||||
|
|
||||||
Ожидаемое поведение collector-ов: запуск hidden (`-WindowStyle Hidden`).
|
Ожидаемое поведение collector-ов: запуск hidden (`-WindowStyle Hidden`).
|
||||||
|
|||||||
Reference in New Issue
Block a user