使用普罗米修斯监控traefik、复述、k8集群各节点,各节点kubelet

  

1,普罗米修斯的数据指标是通过一个公开的HTTP (S)数据接口获取到的,我们不需要单独安装监控的代理,只需要暴露一个度量接口,普罗米修斯就会定期去拉取数据,对于一些普通的HTTP服务,我们完全可以直接重用这个服务,添加一个/指标接口暴露给普罗米修斯
2,有一些服务即使没有原生集成该接口,也完全可以使用一些出口国来获取到指标数据,比如mysqld_exporter, node_exporter, redis-exporter,这些出口商就有点类似于传统监控服务中的代理,用来收集目标服务的指标数据然后直接暴露给普罗米修斯。

  

监控自带指标接口的Traefik
1,修改其配置文件traefik.toml,增加如下内容,开启metirc接口

  
 <代码>(指标)
  (metrics.prometheus)
  入口点=" traefik "
  桶=(0.1,0.3,1.2,5.0) 
  

2,然后更新traefik configmap及traefik pod
kubectl得到美元configmap - n kube-system
traefik-conf 1 d
83 kubectl删除configmap traefik-conf - n kube-system
美元kubectl创建configmap traefik-conf——从文件=traefik。美元toml - n kube-system
- f traefik kubectl适用。yaml
kubectl得到美元svc - n kube-system | grep traefik
traefik-ingress-service NodePort 10.100.222.78 & lt; none>80:31657/TCP, 8080:31572/TCP
curl 10.100.222.78:8080/指标
美元curl 192.168.1.243:31572/指标
3,更新普罗米修斯的配置文件,增加工作

  
 <代码> apiVersion: v1
  :ConfigMap
  元数据:
  名称:prometheus-config
  名称空间:kube-ops
  数据:
  普罗米修斯。yml: |
  全球:
  scrape_interval: 30年代
  scrape_timeout: 30年代
  
  scrape_configs:
  ——job_name:‘普罗米修斯’
  static_configs:
  ——目标(“localhost: 9090”):
  
  - job_name:“traefik”
  static_configs:
  ——目标(“traefik-ingress-service.kube-system.svc.cluster.local: 8080”):  
  

$ - f prome-cm kubectl适用。yaml #更新普罗米修斯configemap文件
由于我们这里Traefik对应的名是traefik-ingress-service,并且在kube-system这个名称空间下面,所以我们这里的目标的路径配置则需要使用FQDN的形式:traefik-ingress-service.kube-system.svc.cluster。当地
kubectl得到美元svc - n kube-ops | grep普罗米修斯
普罗米修斯NodePort 10.102.197.83 & lt; none>9090:32619/TCP
curl - x的帖子“美元;http://192.168.1.243:32619/?reload"#使配置生效,可能需要一段时间,使用重载命令不用更新普罗米修斯pod即可使配置生效

  

<强>使用redis-exporter来监控复述,服务
redis-exporter以双轮马车的形式和复述,部署在同一个豆荚内
1,构建pod及svc
$码头工人把复述:4
码头工人拉oliver006美元/redis_exporter:最新

  
 <代码> apiVersion:扩展/v1beta1
  :部署
  元数据:
  名称:复述,
  名称空间:kube-ops
  规范:
  模板:
  元数据:
  注释:
  普罗米修斯。io/刮:“真正的”
  普罗米修斯。io/端口:“9121”
  标签:
  应用:复述,
  规范:
  容器:
  ——名称:复述,
  图片:复述:4
  资源:
  请求:
  cpu: 100
  内存:100米
  港口:
  - containerPort: 6379
  ——名称:redis-exporter
  图片:oliver006/redis_exporter:最新
  资源:
  请求:
  cpu: 100
  内存:100米
  港口:
  - containerPort: 9121
  ---
  类型:服务
  apiVersion: v1
  元数据:
  名称:复述,
  名称空间:kube-ops
  规范:
  选择器:
  应用:复述,
  港口:
  ——名称:复述,
  端口:6379
  发送:6379
  ——名称:舞会
  端口:9121
  发送:9121  
  

kubectl得到美元svc - n kube-ops | grep复述,
复述ClusterIP 10.105.241.59 & lt; none>6379/TCP/TCP
9121旋度10.105.241.59:9121/指标#查看是否能监控到
2,增加工作并更新普罗米修斯configmap配置文件

  
 <代码> apiVersion: v1
  :ConfigMap
  元数据:
  名称:prometheus-config
  名称空间:kube-ops
  数据:
  普罗米修斯。yml: |
  全球:
  scrape_interval: 30年代
  scrape_timeout: 30年代
  scrape_configs:
  ——job_name:‘普罗米修斯’
  static_configs:
  ——目标(“localhost: 9090”):
  - job_name:“traefik”
  static_configs:
  ——目标(“traefik-ingress-service.kube-system.svc.cluster.local: 8080”):
  - job_name:“复述”
  static_configs:
  ——目标(“复述:9121”): 
  

由于我们这里的复述,服务和普罗米修斯处于同一个名称空间,所以我们直接使用名

使用普罗米修斯监控traefik、复述、k8集群各节点,各节点kubelet