55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
|
|
# v4 新增变量配置
|
|||
|
|
|
|||
|
|
配置文件:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
syslog-consumer-rule/docker-compose/docker-compose-consumer-rule-prod.yaml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
在 `services.syslog-consumer-rule.environment` 中增加:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
# 前15分钟全量保留,之后到1小时之间分10级降低保留率;告警始终全量保留。
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_ENABLED=true
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_START_LAG_MS=900000
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_LAG_THRESHOLD_MS=3600000
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_NORMAL_RETAIN_BPS=1000
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_NON_NORMAL_RETAIN_BPS=2000
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_DEGRADE_STEPS=10
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_POLICY_VERSION=v2
|
|||
|
|
|
|||
|
|
# 小时审计最多等待 5 秒;失败后 60 秒内不重试,并回退全量保留。
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_AUDIT_TIMEOUT_SECONDS=5
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_AUDIT_RETRY_BACKOFF_MS=60000
|
|||
|
|
|
|||
|
|
# InfluxDB 原文写入失败时快速返回并继续主消费。
|
|||
|
|
- INFLUXDB_RAW_WRITE_REQUEST_TIMEOUT=5s
|
|||
|
|
- INFLUXDB_RAW_FAILURE_BACKOFF_MS=30000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
其中:
|
|||
|
|
|
|||
|
|
- `NORMAL_RETAIN_BPS` 和 `NON_NORMAL_RETAIN_BPS` 是达到延迟阈值后的最低保留万分比;`1000` 表示 10%,
|
|||
|
|
`2000` 表示 20%;
|
|||
|
|
- `START_LAG_MS=900000` 是15分钟免采样窗口,该时间内普通、非标及原文全部保留;
|
|||
|
|
- `LAG_THRESHOLD_MS=3600000` 是达到最低保留率的时间;扣除15分钟后,剩余45分钟由10级平均分配,
|
|||
|
|
每级4.5分钟;
|
|||
|
|
- `START_LAG_MS` 必须大于等于0并且小于 `LAG_THRESHOLD_MS`,配置非法时应用拒绝启动;
|
|||
|
|
- 修改起始延迟、结束阈值、最低保留率或级数时,必须同时修改 `POLICY_VERSION`,以便审计区分策略;
|
|||
|
|
- `AUDIT_TIMEOUT_SECONDS` 是单次达梦审计事务超时;审计失败时本批次全量保留;
|
|||
|
|
- `INFLUXDB_RAW_WRITE_REQUEST_TIMEOUT` 是连接、写入、读取各网络阶段的上限,不是整个批次的总超时;
|
|||
|
|
- `INFLUXDB_RAW_FAILURE_BACKOFF_MS` 是确认 InfluxDB 依赖故障后的快速跳过时间。
|
|||
|
|
|
|||
|
|
这些默认值已经写在 JAR 的 `application.properties` 中。现场只替换 JAR 时同样会默认开启采样;显式写入
|
|||
|
|
Compose 是为了便于后续核查和调整。启动新 JAR 前必须先创建
|
|||
|
|
`SYSLOG_BACKLOG_RETENTION_HOURLY`,否则应用会因审计失败回退全量保留,并周期性记录错误日志。
|
|||
|
|
|
|||
|
|
关闭采样只需设置:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
- SYSLOG_BACKLOG_SAMPLING_ENABLED=false
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
InfluxDB 非阻塞旁路不受通用的 `SYSLOG_FAILURE_CONTINUITY_ENABLED` 开关控制:InfluxDB 写入失败始终记录并
|
|||
|
|
放行,避免原文存储故障阻塞告警和后续 Kafka 消息。
|