监控
kubevirt-prometheus-metrics 是一个用于将 KubeVirt 指标暴露给 Prometheus 的组件。它是 KubeVirt 项目中的一个子组件,通过在 KubeVirt 中嵌入 Prometheus 客户端库,将 KubeVirt 的指标数据暴露给 Prometheus 服务器。
kubevirt-prometheus-metrics 通过在 KubeVirt 组件中注入 Prometheus 客户端,自动从 KubeVirt 的内部组件(如 virt-api、virt-controller、virt-handler 等)收集指标数据,并将其暴露给 Prometheus 进行数据采集。
监控使用prometheus-operator,创建ServiceMonitor将kubevirt暴露给prometheus进行监控,创建 kubevirt-servicemonitor.yml 文件, 内容如下:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: prometheus-kubevirt-metrics namespace: kubevirt labels: application: prometheus-servciemonitor spec: endpoints: - bearerTokenSecret: key: "" port: metrics scheme: https tlsConfig: ca: {} cert: {} insecureSkipVerify: true namespaceSelector: matchNames: - kubevirt selector: matchLabels: app.kubernetes.io/component: kubevirt
执行命令创建 ServiceMonitor
kubectl create -f kubevirt-servicemonitor.yml
注:metadata中的labels需要与prometheus-operator中定义的LabelSelector相匹配。spec.selector.matchLabels 中的label与endpoint中的label相匹配。
创建过后在prometheus界面能够看到被发现的kubevirt相关的target,说明监控数据已被采集。