3.15. 为单模型服务平台配置监控
单型号服务平台包括 KServe 组件支持的运行时 的指标。KServe 不会生成自己的指标,并依赖于底层模型服务运行时来提供它们。已部署模型的可用指标集合取决于其模型的运行时。
除了 KServe 的运行时指标外,您还可以为 OpenShift Service Mesh 配置监控。OpenShift Service Mesh 指标可帮助您了解网格中组件之间的依赖项和流量流。
先决条件
- 具有集群管理员特权。
- 您已创建了 OpenShift Service Mesh 和 Knative Serving 实例并安装了 KServe。
- 您已下载并安装 OpenShift 命令行界面 (CLI)。请参阅安装 OpenShift CLI。
- 您熟悉为监控用户定义的工作流 创建配置映射。您将在此流程中执行类似的步骤。
- 您熟悉 为 OpenShift 中的用户定义的项目启用监控。您将在此流程中执行类似的步骤。
-
您已将
monitoring-rules-view角色分配给将监控指标的用户。https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/monitoring/enabling-monitoring-for-user-defined-projects#granting-users-permission-to-monitor-user-defined-projects_enabling-monitoring-for-user-defined-projects
流程
在一个终端窗口中,如果您还没有以集群管理员登录到 OpenShift 集群,请登录 OpenShift CLI,如下例所示:
$ oc login <openshift_cluster_url> -u <admin_username> -p <password>在名为
uwm-cm-conf.yaml的 YAML 文件中定义ConfigMap对象,其内容如下:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | prometheus: logLevel: debug retention: 15duser-workload-monitoring-config对象配置监控用户定义的项目的组件。观察到保留时间被设置为推荐的值 15 天。应用配置以创建
user-workload-monitoring-config对象。$ oc apply -f uwm-cm-conf.yaml在名为
uwm-cm-enable.yaml的 YAML 文件中定义另一个ConfigMap对象,其内容如下:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | enableUserWorkload: truecluster-monitoring-config对象为用户定义的项目启用监控。应用配置以创建
cluster-monitoring-config对象。$ oc apply -f uwm-cm-enable.yaml创建
ServiceMonitor和PodMonitor对象来监控服务网格 control plane 中的指标,如下所示:使用以下内容创建
istiod-monitor.yamlYAML 文件:apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: istiod-monitor namespace: istio-system spec: targetLabels: - app selector: matchLabels: istio: pilot endpoints: - port: http-monitoring interval: 30s在指定的
istio-system命名空间中部署ServiceMonitorCR。$ oc apply -f istiod-monitor.yaml您会看到以下输出:
servicemonitor.monitoring.coreos.com/istiod-monitor created使用以下内容创建
istio-proxies-monitor.yamlYAML 文件:apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: istio-proxies-monitor namespace: istio-system spec: selector: matchExpressions: - key: istio-prometheus-ignore operator: DoesNotExist podMetricsEndpoints: - path: /stats/prometheus interval: 30s在指定的
istio-system命名空间中部署PodMonitorCR。$ oc apply -f istio-proxies-monitor.yaml您会看到以下输出:
podmonitor.monitoring.coreos.com/istio-proxies-monitor created