启用 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。例如:
  1. rkeEtcd:
  2. clients:
  3. useLocalhost: true

启用 Monitoring - 图1备注

如果要设置 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 文件添加到密文中。
  1. 在左上角,单击 ☰ > 集群管理
  2. 集群页面上,转到要启用 Monitoring 以与 SSL 一起使用的集群,然后单击 Explore
  3. 单击 Apps > Charts
  4. 单击 Monitoring
  5. 根据你是否已安装 Monitoring,单击安装更新
  6. 选中在安装前自定义 Helm 选项,然后单击下一步
  7. 单击 Alerting
  8. 补充密文字段中,添加之前创建的密文。

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

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

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

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

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