今天继续给大家介绍Linux运维相关知识,本文主要内容是Prometheus监控API Server。
一、Prometheus监控API Server配置
API Server是Kubernetes的核心组件之一,对该组件的监控也是非常重要的,而对于API Server的监控,我们可以通过Kubernetes的Service直接获取。
下面,我们就进行Prometheus的API Server配置实战。Prometheus的ConfigMap文件中监控项配置如下:
- job_name: 'kubernetes-apiserver'
kubernetes_sd_configs:
- role: endpoints
在上述配置文件中,我们使用了Kubernetes的kubernetes_sd_configs配置,实现了对endpoints节点的自动监控。配置完成后Prometheus的ConfigMap文件配置如下所示:
完成上述配置后,我们先删除该ConfigMap,然后重新创建。之后使用curl命令刷新Prometheus的配置,再来到Prometheus的监控页中,查看结果如下:
从上图可以看出,我们的Prometheus对API Server的监控配置成功!
二、API Server过滤
在之前的配置中,由于我们使用的是Endpoints的自动抓取,因此我们抓到了所有的Endpoints服务,接下来,我们使用keep动作,来筛选出我们想要的API Server。实现API Server过滤的Prometheus的ConfigMap资源清单如下所示:
- job_name: 'kubernetes-apiservers'
kubernetes_sd_configs:
- role: endpoints
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: default;kubernetes;https
在上述配置中,我们使用了action:keep表示保留下regex字段指定的标签。
完成后的Prometheus的ConfigMap文件配置如下所示:
之后,我们按照之前同样的配置,刷新配置,使得我们的Prometheus的配置生效,结果如下所示:
从上图中,我们可以看到,通过对API Server的过滤,我们筛选出了我们想要的API Server。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200