启用 Monitoring

管理员集群所有者可以通过配置 Rancher 来部署 Prometheus,从而监控 Kubernetes 集群。

本文介绍如何使用新的 monitoring 应用在集群内启用监控和告警。

不论是否使用 SSL,你都可以启用 monitoring。

要求

  • 在每个节点上允许端口 9796 上的流量。Prometheus 将从这些端口抓取指标。

    • 如果 PushProx 被禁用(ingressNginx.enabled 设置为 false),或者你已经升级了安装了 Monitoring V1 的 Rancher 版本,你可能还需要为每个节点允许端口 10254 上的流量。

  • 确保你的集群满足资源要求。集群应至少有 1950Mi 可用内存、2700m CPU 和 50Gi 存储。有关资源限制和请求的详细信息,请参阅配置资源限制和请求

  • 在使用 RancherOS 或 Flatcar Linux 节点的 RKE 集群上安装 Monitoring 时,请将 etcd 节点证书目录更改为 /opt/rke/etc/kubernetes/ssl

  • 如果集群是使用 RKE CLI 配置的,而且地址设置为主机名而不是 IP 地址,请在安装的 Values 配置步骤中将 rkeEtcd.clients.useLocalhost 设置为 true。例如:

rkeEtcd:
  clients:
    useLocalhost: true

如果要设置 Alertmanager、Grafana 或 Ingress,必须通过 Helm chart 部署上的设置来完成。在部署之外创建 Ingress 可能会产生问题。

设置资源限制和请求

安装 rancher-monitoring 时可以配置资源请求和限制。要从 Rancher UI 配置 Prometheus 资源,请单击左上角的 Apps  Monitoring

有关默认限制的更多信息,请参阅此页面

安装 Monitoring 应用

在不使用 SSL 的情况下启用 Monitoring

  1. 点击 ☰ > 集群管理

  2. 选择你创建的集群,并点击 Explore

  3. 点击集群工具(左下角)。

  4. 单击 Monitoring 的安装

  5. 可选:在 Values 步骤中为 Alerting、Prometheus 和 Grafana 自定义请求、限制等。如需帮助,请参阅配置参考

结果:Monitoring 应用已部署到 cattle-monitoring-system 命名空间中。

在使用 SSL 的情况下启用 Monitoring

  1. 按照此页面上的步骤创建密文,以便将 SSL 用于告警。

    • 密文应该创建到 cattle-monitoring-system 命名空间中。如果它不存在,请先创建它。

    • cacertkey 文件添加到密文中。

  2. 在左上角,单击 ☰ > 集群管理

  3. 集群页面上,转到要启用 Monitoring 以与 SSL 一起使用的集群,然后单击 Explore

  4. 单击 Apps  Charts

  5. 单击 Monitoring

  6. 根据你是否已安装 Monitoring,单击安装更新

  7. 选中在安装前自定义 Helm 选项,然后单击下一步

  8. 单击 Alerting

  9. 补充密文字段中,添加之前创建的密文。

结果:Monitoring 应用已部署到 cattle-monitoring-system 命名空间中。

创建接收器时,启用 SSL 的接收器(例如电子邮件或 webhook)将具有 SSL,其中包含 CA 文件路径证书文件路径密钥文件路径字段。使用 cacertkey 的路径填写这些字段。路径的格式为 /etc/alertmanager/secrets/name-of-file-in-secret

例如,如果你使用以下键值对创建了一个密文:

ca.crt=`base64-content`
cert.pem=`base64-content`
key.pfx=`base64-content`

证书文件路径需要设为 /etc/alertmanager/secrets/cert.pem