victoriametrics/vmanomalyVictoriaMetrics Anomaly Detection(vmanomaly)是 VictoriaMetrics 企业版产品的一部分,作为 SRE 和 DevOps 团队的可观测性层,构建在已收集数据之上,用于自动化检测时序数据中的异常,减少人工识别系统异常行为的工作量。
与传统基于阈值的告警依赖原始指标值且需要持续调整阈值和告警规则不同,vmanomaly 通过机器学习生成统一、可解释的异常分数——一种去趋势化、去季节化的指标。该方案支持稳定的长期静态阈值(如简单的 anomaly_score > 1),通过持续的模型重训练保持长期有效性,无需频繁手动调整。
注意:
vmanomaly是 VictoriaMetrics 企业版 的组成部分。
anomaly_score > 1)。vmanomaly 需配置有效的许可证密钥才能运行。使用 Docker 运行 vmanomaly 容器:
bashdocker run -d \ --name vmanomaly \ -p 8428:8428 \ # 假设默认端口为8428,具体以官方文档为准 -e LICENSE_KEY="your-license-key" \ victoriametrics/vmanomaly:latest \ --victoria-metrics-url=[***] \ # 连接到VictoriaMetrics实例的URL --retraining-interval=24h # 模型重训练间隔(示例值)
yamlversion: '3.8' services: vmanomaly: image: victoriametrics/vmanomaly:latest container_name: vmanomaly ports: - "8428:8428" environment: - LICENSE_KEY=your-license-key command: - --victoria-metrics-url=[***] - --retraining-interval=24h - --log-level=info restart: unless-stopped depends_on: - victoriametrics # 假设已部署VictoriaMetrics实例 victoriametrics: image: victoriametrics/victoria-metrics:latest container_name: victoriametrics ports: - "8428:8428" volumes: - ./data:/victoria-metrics-data restart: unless-stopped
| 参数 | 说明 | 示例 |
|---|---|---|
--victoria-metrics-url | VictoriaMetrics 实例的访问地址 | [***] |
--retraining-interval | 模型重训练间隔 | 24h(默认值,可根据数据特性调整) |
--license-key | 企业版许可证密钥(环境变量或命令行参数) | your-license-key |
--log-level | 日志级别 | info(可选:debug, warn, error) |
完整配置参数请参考 官方文档。
与 vmalert 集成:通过 vmalert 配置基于异常分数的告警规则,例如:
yamlgroups: - name: anomaly_alerts rules: - alert: HighAnomalyScore expr: anomaly_score > 1 for: 5m labels: severity: critical annotations: summary: "High anomaly score detected" description: "Anomaly score {{ $value }} is above threshold"
UI 配置优化:通过 vmanomaly UI 调整模型参数,优化异常检测效果后再部署到生产环境。
vmanomaly 是 VictoriaMetrics 企业版的组件,自 v1.5.0 版本起需配置有效许可证密钥运行。可通过以下方式获取:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务