> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Monitors 告警引擎

> 统一告警引擎，对接各类指标、日志数据源，实现灵活的告警规则配置和阈值判定

## 什么是 Monitors？

Flashduty Monitors 是一款统一告警引擎，能够对接各类指标、日志数据源，根据您配置的告警规则，周期性查询数据并进行阈值判定，产生告警事件后推送给 Flashduty On-Call 进行聚合发送。

<Tip>
  Monitors 可以替代 Nightingale、vmalert、elastalert 等产品的告警能力，深度整合 On-Call 产品，满足各种复杂的告警需求。
</Tip>

## 核心能力

<CardGroup cols={2}>
  <Card title="多数据源支持" icon="database">
    支持 Prometheus、VictoriaMetrics、Elasticsearch、ClickHouse 等主流数据源
  </Card>

  <Card title="灵活告警规则" icon="sliders">
    支持阈值告警、同环比告警、无数据告警等多种告警类型
  </Card>

  <Card title="分布式架构" icon="server">
    支持多机房部署，自动分片处理，保证高可用
  </Card>

  <Card title="深度集成" icon="link">
    与 On-Call 深度集成，告警直达值班人员
  </Card>
</CardGroup>

## 架构设计

Flashduty 是 SaaS 服务，无法直接访问用户私有网络内的数据源，因此 Monitors 采用边缘计算架构：

<Steps>
  <Step title="SaaS 服务端">
    负责管理告警规则、权限控制和告警事件聚合
  </Step>

  <Step title="monitedge 边缘节点">
    部署在用户私有网络内，从 SaaS 同步告警规则，周期性查询数据源并进行阈值判定
  </Step>

  <Step title="告警推送">
    边缘节点产生告警事件后，推送给 SaaS 端进行后续处理
  </Step>
</Steps>

<Note>
  如果您有多个机房，可以在每个机房部署独立的 monitedge 实例，分别负责各自机房内数据源的告警判定。
</Note>

## 高可用部署

Monitors 支持集群部署，保证告警引擎的高可用：

<AccordionGroup>
  <Accordion title="单机房集群" icon="server">
    在同一机房部署多个 monitedge 实例，通过 `--alerter.clusterName` 参数设置相同的集群名字，系统会自动分片处理告警规则。
  </Accordion>

  <Accordion title="多机房部署" icon="globe">
    不同机房部署独立的 monitedge 集群，每个集群使用不同的集群名字，分别处理各自机房的数据源。
  </Accordion>

  <Accordion title="故障转移" icon="shield">
    如果集群中某个实例故障，其他实例会自动接管其负责的告警规则，既保证高可用，又避免告警重复发送。
  </Accordion>
</AccordionGroup>

## 告警规则类型

| 类型    | 说明                | 适用场景           |
| ----- | ----------------- | -------------- |
| 阈值告警  | 指标超过/低于阈值时触发      | CPU、内存、磁盘等资源监控 |
| 同比告警  | 与历史同期对比，偏差超过阈值时触发 | 业务量、流量异常检测     |
| 环比告警  | 与前一周期对比，偏差超过阈值时触发 | 突增突降检测         |
| 无数据告警 | 指标停止上报时触发         | 服务存活检测         |
| 复合告警  | 多个条件组合判断          | 复杂业务场景         |

## 支持的数据源

<CardGroup cols={3}>
  <Card title="Prometheus" icon="fire">
    支持 PromQL 查询
  </Card>

  <Card title="VictoriaMetrics" icon="chart-area">
    兼容 Prometheus 协议
  </Card>

  <Card title="Elasticsearch" icon="magnifying-glass">
    支持日志告警
  </Card>

  <Card title="ClickHouse" icon="database">
    支持 SQL 查询
  </Card>

  <Card title="MySQL" icon="database">
    支持 SQL 查询
  </Card>

  <Card title="更多..." icon="ellipsis">
    持续扩展中
  </Card>
</CardGroup>

## 快速开始

<CardGroup cols={2}>
  <Card title="部署指南" icon="rocket" href="/zh/monitors/quickstart/quickstart">
    了解如何部署 monitedge 并创建首个告警规则
  </Card>

  <Card title="常见问题" icon="circle-question" href="/zh/monitors/faq/faq">
    使用过程中的常见问题解答
  </Card>
</CardGroup>
