首页 > 其他分享 >Servicemonitor监控自带metrics接口和无metrics接口

Servicemonitor监控自带metrics接口和无metrics接口

时间:2022-09-25 01:00:17浏览次数:55  
标签:exporter name Servicemonitor app 接口 kafka metrics etcd k8s

前言:

servicemonitor监控存在两种情况:

1、有metrics ,创建service+servicemonitor配置

2、无metrics  配置exporter,exporter进行采集

 

一、监控自带metrics接口

①、部署ServiceMonitor

$ vi prometheus-serviceMonitorEtcd.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: etcd-k8s
  namespace: monitoring
  labels:
    k8s-app: etcd-k8s
spec:
  jobLabel: k8s-app
  endpoints:
  - port: port      #匹配service端口
    interval: 15s
  selector:
    matchLabels:
      k8s-app: etcd
  namespaceSelector:
    matchNames:
    - kube-system

上面我们在 monitoring 命名空间下面创建了名为 etcd-k8s 的 ServiceMonitor 对象,基本属性和前面介绍的一致,匹配 kube-system 这个命名空间下面的具有 k8s-app=etcd 这个 label 标签的 Service,jobLabel 表示用于检索 job 任务名称的标签,由于 etcd 的 metrics 接口在 2381 端口下面,不需要 https 安全认证,所以用默认的配置即可。然后我们直接创建这个 ServiceMonitor 对象即可

②、创建 Service & Endpoints

因为 ETCD 是独立于集群之外的,所以我们需要创建一个 Endpoints 将其代理到 Kubernetes 集群,然后创建一个 Service 绑定 Endpoints,然后 Kubernetes 集群的应用就可以访问 ETCD 集群了

$ vi prometheus-etcdService.yaml
apiVersion: v1
kind: Service
metadata:
  name: etcd-k8s
  namespace: kube-system
  labels:
    k8s-app: etcd
spec:
  type: ClusterIP
  clusterIP: None  #设置为None,不分配Service IP
  ports:
  - name: port     #匹配service端口
    port: 2381
---
apiVersion: v1
kind: Endpoints
metadata:
  name: etcd-k8s
  namespace: kube-system
  labels:
    k8s-app: etcd
subsets:
- addresses:
  - ip: 172.16.1.11   # 指定etcd节点地址,如果是集群则继续向下添加
    nodeName: etc-master
  ports:
  - name: port
    port: 2381         # Etcd 端口号

二、监控无metrics接口

监控kafka-exporter为例

apiVersion: v1
kind: Service
metadata:
  name: kafka-exporter
  namespace: monitoring
  labels:
    k8s-app: kafka-exporter
spec:
  selector:
    k8s-app: kafka-exporter
  ports:
  - name: kafka-exporter
    port: 9308
    protocol: TCP
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kafka-exporter
  namespace: monitoring
  labels:
    k8s-app: kafka-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: kafka-exporter
  template:
    metadata:
      labels:
        k8s-app: kafka-exporter
    spec:
      containers:
      - name: kafka-exporter
        image: danielqsj/kafka-exporter:latest
        imagePullPolicy: IfNotPresent
        args: ["--kafka.server=kafka-0.kafka-headless.public-service:9092"]
        resources:
          requests:
            memory: 100M
        volumeMounts:
        - name: tz-config
          mountPath: /etc/localtime
          readOnly: true
      nodeSelector:
        monitor: "true"
      volumes:
        - name: tz-config
          hostPath:
            path: /usr/share/zoneinfo/Asia/Shanghai
  • 创建了kafka_exporter的service和deployment,service用于和Prometheus servicemonitor进行匹配,采集数据
  • args:Kafka_exporter启动参数,为k8s集群中kafka的地址

标签:exporter,name,Servicemonitor,app,接口,kafka,metrics,etcd,k8s
From: https://www.cnblogs.com/wuchangblog/p/16727102.html

相关文章

  • 利用Postman进行接口压力测试
    //获取返回数据varjsondata=pm.response.json();//判断响应时间是否小于200mspm.test("Responsetimeislessthan20ms",function(){pm.expect(pm.resp......
  • 接口测试(二)
    COOKIE请求认证授权,记住用户的行为状态,存储在客户端  SEESION请求存储在服务端TOKEN请求本质上是通过session原理实现的称之为一个令牌jwt每次生成的token......
  • Java8提供的函数接口
    目录参考资料函数接口1.Function<T,R>2.Predicate3.Supplier4.UnaryOperator参考资料https://docs.oracle.com/javase/8/docs/api/函数接口Java提供的函数接口......
  • API接口
    一、前后端开发模式#以前开发项目是前端写好静态文件然后后端再用模板语法套到这个静态文件中之后衍生出了全栈开发就是前端后端都一个人写#然就现在逐渐开始前......
  • API接口与drf规范
    前后端开发模式1.前后端混合前端写好静态html页面,后端使用模板语法进行渲染,然后在在对接,遇到问题返回给前端进行修改,这要求后端人员会一些HTML、JS等前端语言,这种模式让......
  • 接口基础
    1、什么是API接口?简单来说,接口就是系统或模块之间相互连接的部分,就称为接口。在软件测试中,我们可以理解为url就是一个接口,如:https://www.baidu.com/由客户端(浏览器)发......
  • 前后端开发模式、API接口、接口测试工具postman、restful规范、序列化和反序列化、dja
    目录前后端开发模式一、两种模式1.传统开发模式:前后端混合开发1.1.缺点:2.前后端分离开发模式2.1.特点3.补充老刘的相关博客:二、API接口1.作用2.说明三、接口测试工具postm......
  • 今日内容 API接口和drf的使用
    前后端开发模式详细见博客链接:https://www.cnblogs.com/liuqingzheng/p/10900502.html补充:前后端混合开发使用模板语法渲染模板后端人员要通过前端写好的html页面......
  • 集合.Set子接口
    Set子接口特点:无序、无下标、元素不可重复方法:全部继承自Collection中的方法Set实现类HashSet【重点】:基于HashCode实现元素不重复当存入元素的哈希码相同时,会调......
  • 【C#】接口的基本概念
    目录基本什么是接口接口与抽象类的区别抽象类接口实例设计接口基本什么是接口C#接口(interface)是:用来定义一种程序的协定实现接口的类或者结构要与接口的定义严格一致。......