监控

KES服务器提供了一个metricsAPI endpoint以暴露各种服务器指标的Prometheus exposition format.

Prometheus 配置

请按照以下步骤开始使用 Prometheus 监控 KES。

  1. Generate Prometheus Credentials

    为 Prometheus 服务器创建用于向 KES 进行身份验证的凭据。

    $ kes identity new --key client.key --cert client.crt prometheus
    
      Private key:  client.key
      Certificate:  client.crt
      Identity:     2169daa644eb18b41d85214a20f7272d449e85ef4f1bf3e2609fbe3fa7ca00cd
    
  2. 创建 KES 策略

    在 KES 服务器上创建一个策略,允许 Prometheus 抓取指标。

    policy:
      prometheus:
        allow:
        - /v1/metrics
        identities:
        - 2169daa644eb18b41d85214a20f7272d449e85ef4f1bf3e2609fbe3fa7ca00cd # Use the identity of your client.crt
    
    修改配置文件后,请重启KES服务器。
  3. 创建 Prometheus 抓取配置

    配置 Prometheus 在使用 TLS 客户端证书时抓取 KES 指标。

    global:
      scrape_interval:     15s
      evaluation_interval: 15s
    
    scrape_configs:
      - job_name: KES
        scheme: https
        tls_config:
          cert_file: client.crt
          key_file:  client.key
          # ca_file: public.crt           # Optionally, specify the KES server CA certificate or the self-signed KES server certificate. 
        metrics_path: /v1/metrics
        static_configs:
          - targets: ['localhost:7373']   # Specify KES endpoint.
    

KES 和 Prometheus 服务器启动后,Prometheus 应检测并显示新的 KES 目标。

Grafana

对于图形化仪表板,您可以将 Prometheus 抓取的 KES 指标连接到 Grafana。

An example Grafana dashboard in dark mode showing KES metrics

MinIO 为 KES 提供了一个示例 Grafana 仪表板配置。 请参阅 JSON 文件:Github.

参考文献