Refine DHCP filter to always keep error:/warn: lines
Dropping every "[DHCPv4 " line unconditionally would also swallow a genuine DHCP-side problem (pool exhaustion, lease timeout) if accel-ppp ever logs one at error/warn level. Verified the refined condition against sample lines before writing it: plain info-level DHCP still drops, RADIUS lines are unaffected, and DHCP lines tagged error:/warn: now pass through. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
071d92000c
commit
624db7510f
1 changed files with 9 additions and 5 deletions
|
|
@ -153,21 +153,25 @@
|
||||||
мережевий трафік, ні дисковий IO/CPU Graylog на індексацію того, що
|
мережевий трафік, ні дисковий IO/CPU Graylog на індексацію того, що
|
||||||
однаково ніхто не шукає.
|
однаково ніхто не шукає.
|
||||||
|
|
||||||
Додайте `filter`-transform між `format_for_graylog` і `sinks`:
|
Додайте `filter`-transform між `format_for_graylog` і `sinks`. Умова
|
||||||
|
навмисно **не** дропає DHCP-рядки, якщо вони позначені як `error:` чи
|
||||||
|
`warn:` — щоб реальна проблема (наприклад, вичерпання DHCP-пулу чи
|
||||||
|
таймаут оренди) не загубилась разом зі звичайним шумом:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
transforms:
|
transforms:
|
||||||
format_for_graylog:
|
format_for_graylog:
|
||||||
# ... як у кроці 2, без змін ...
|
# ... як у кроці 2, без змін ...
|
||||||
|
|
||||||
# Прибирає DHCP-обмін (Discover/Request/Offer/Ack) - основний обсяг
|
# Прибирає рутинний DHCP-обмін (Discover/Request/Offer/Ack), АЛЕ
|
||||||
# шуму, не потрібний для RADIUS/accounting-аналітики. Умова true =
|
# залишає DHCP-рядки, позначені error:/warn: - щоб не втратити реальну
|
||||||
# повідомлення проходить далі; тут - "якщо НЕ містить маркер DHCPv4".
|
# проблему (вичерпання пулу, таймаут оренди тощо) разом зі звичайним
|
||||||
|
# шумом. Умова true = повідомлення проходить далі.
|
||||||
drop_dhcp_noise:
|
drop_dhcp_noise:
|
||||||
type: "filter"
|
type: "filter"
|
||||||
inputs:
|
inputs:
|
||||||
- "format_for_graylog"
|
- "format_for_graylog"
|
||||||
condition: '!contains(string!(.message), "[DHCPv4 ")'
|
condition: '!contains(string!(.message), "[DHCPv4 ") || contains(string!(.message), "error:") || contains(string!(.message), "warn:")'
|
||||||
|
|
||||||
sinks:
|
sinks:
|
||||||
graylog_out:
|
graylog_out:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue