跳到主要内容

数据源准备

Prometheus、Alertmanager、Grafana 与 snmp_exporter 的准备工作:只读账号、标签约定、厂商识别、设备台账抓取任务和规则写回。

网关连接客户已有的 Prometheus 和 Alertmanager,Grafana 可选。地址和认证在安装时填写,或登录后在 设置 > 数据源连接 中填写,保存前必须 测试连接 通过。

Prometheus

  • 网关只读调用 HTTP API:/api/v1/query、query_range、series、labels、metadata、targets、rules、status/*。前面有反向代理做认证时,给网关一个只读账号(Basic 或 Bearer)。
  • 私有 CA:把 CA 证书放进安装目录的 ./certs,.env 设置 RST_PROMETHEUS_CA_CERT=/certs/ca.pem。不要关闭证书校验。

标签约定

内置的网络内容包(指标字典、告警规则包、运维手册)按下面的约定编写:

  • snmp 采集任务的 job 以 snmp 开头。
  • blackbox 探测和 snmp 采集对同一台设备使用同一个 instance。
  • site、role、vendor 作为 target 标签可选,有的话会带进记录规则和告警,分诊按它们排优先级。

厂商识别

按 sysObjectID 的企业号前缀识别厂商。华为、H3C、Cisco、锐捷、Juniper、Fortinet、深信服等使用私有 MIB;识别不出的设备使用 IF-MIB、ENTITY-MIB、ENTITY-SENSOR-MIB、HOST-RESOURCES-MIB 兜底。

设备台账抓取任务

网络规则包依赖台账导出的三个 rst_* 指标:接口告警口径、防火墙会话上限和 HA 标记,由网关在 /metrics/inventory 暴露。在客户 Prometheus 的 prometheus.yml 中加一个抓取任务,地址换成网关的访问地址;设置了 RST_METRICS_TOKEN 时带上 authorization:

- job_name: rst-inventory
  honor_labels: true
  metrics_path: /metrics/inventory
  scrape_interval: 60s
  scheme: https
  # authorization:
  #   credentials: <RST_METRICS_TOKEN>
  static_configs:
    - targets: ["copilot.example.com:443"]

不加这个任务时,接口 down 只按默认口径(ifAlias 非空的接口)告警,防火墙不报接近会话上限,HA 异常不报。

告警规则写回(可选)

告警规则审批通过后,网关把规则写进自己的规则文件目录 RST_PROM_RULES_DIR。Prometheus 需要加载这个目录(rule_files: [<目录>/*.yml]),并以 --web.enable-lifecycle 启动,网关才能热加载。不配置时规则可以生成和审批,但不能写回。

snmp_exporter

网络内容包的指标名和标签按交付包中的 deploy/snmp_exporter/snmp.yml 编写,模块由官方 generator 基于公开 MIB 生成。客户的 snmp_exporter 直接使用这份配置,团体字或 SNMPv3 凭据另建 auths.yml,按设备类型选择模块。需要加厂商 MIB 时,在客户环境重新生成。

深信服 AF 没有公开 MIB,交付包中的深信服模块是未核实的占位,需要从 AF 导出 MIB 后重新生成。步骤见交付包中的 deploy/snmp_exporter/README.md。

Alertmanager

  • 网关读 /api/v2/alerts、/api/v2/status,读写 /api/v2/silences(建与撤静默,全部写审计)。
  • 告警路由不变:分组、抑制、发给值班的通知仍由 Alertmanager 自己的 route 和 receivers 负责。网关的通知只投递 AI 产出,不会重复发告警。

Grafana(可选)

GRAFANA_URL 填浏览器能打开的地址,GRAFANA_DATASOURCE_UID 填 Grafana 中 Prometheus 数据源的 UID。配置后,告警和查询结果上会出现 在 Grafana 打开。网关不调用 Grafana 的 API,跳转后使用运维人员自己的 Grafana 登录态。

本页内容