您可以通过应用实时监控服务中的Prometheus监控设置Knative系统组件的监控指标。文本介绍如何设置Knative系统组件监控告警信息。

背景信息

Knative系统组件采集指标包括:
  • 组件可用实例数
  • 组件CPU
  • 组件Memory
Knative系统组件包括:
  • knative-serving
    • activator
    • autoscaler
    • autoscaler-hpa
    • controller
    • istio-webhook
    • networking-istio
    • webhook
  • knative-eventing
    • eventing-controller
    • eventing-webhook

步骤一:安装Prometheus监控组件

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,选择市场 > 应用目录
  3. 应用目录页面的阿里云应用页签中,单击ack-arms-prometheus
  4. 应用目录 - ack-arms-prometheus页面,单击参数
  5. 参数页签,配置集群ID参数cluster_id
    说明

    ACK自动匹配目标集群ID。在控制台左侧导航栏选择集群 > 集群进入集群列表,目标集群的名称下面的字符串即为集群ID。

  6. 应用目录 - ack-arms-prometheus右侧的创建面板中,选择目标集群,然后单击创建
    arms
    说明 命名空间发布名称默认为arms-prom

步骤二:查看Pod监控信息

在进行报警策略设置前,您可以预先查看Pod相关监控信息。

  1. 登录ARMS 控制台
  2. 在左侧导航栏中单击Prometheus监控
  3. Prometheus监控页面上,单击已安装插件列中的k8s state链接,即可在浏览器新窗口中打开对应的监控仪表板,并查看Pod的CPU、Memory,以及Pod个数。

步骤三:设置组件报警策略

  1. 报警创建提供两个入口,您可根据需要自行选择其中一个入口进入创建报警环节:
    • ARMS Prometheus Grafana大盘New DashBoard页面,单击左侧的 图标,跳转至ARMS Prometheus 报警规则和历史页面,在右上角单击创建报警 > Prometheus
    • 在控制台左侧导航栏中选择报警管理 > 报警策略管理,进入报警规则和历史页面,在右上角单击创建报警 > Prometheus
  2. 在弹出的创建报警对话框中,设置相应参数。
    以Knative Serving系统组件activator为例,如果可用Pod数小于期望实例数(即不可用Pod数大于等于1),则进行告警通知。设置告警策略如下图。报警策略
    其中,activator组件PromQL如下。
    ((sum(kube_deployment_status_replicas{deployment=~"activator"}) or vector(0))) - ((sum(kube_deployment_status_replicas_available{deployment=~"activator"}) or vector(0)))

    详细的参数说明,请参见创建报警

  3. 单击确定

执行结果

您可以设置通过短信、邮件及钉钉接收通知。触发告警之后,邮件接收通知如下。邮件