prometheus(九) 收集kube-state-metrics指标信息

安装kube-state-metrics

  1. 下载

    $ cd /opt/k8s/work/
    $ wget -O kube-state-metrics.zip  https://github.com/kubernetes/kube-state-metrics/archive/master.zip
    $ unzip kube-state-metrics.tar.gz
    $ cd kube-state-metrics-master/examples/standard
    $ ls
    cluster-role-binding.yaml  cluster-role.yaml  deployment.yaml  service-account.yaml  service.yaml
    
  2. 修改namespace

    将默认的namespace从kube-system修改成monitoring

    $ cd /opt/k8s/work/kube-state-metrics-master/examples/standard
    $ ls | xargs -I {} sed -i "s/namespace: kube-system/namespace: monitoring/g" {}
    
  3. 在service.yaml追加如下annotation
    annotations:
      prometheus.io/scraped: "true"
    
    

    修改后的server.yml文件

    cat service.yaml
     apiVersion: v1
     kind: Service
     metadata:
       annotations:
         prometheus.io/scraped: "true"
       labels:
         app.kubernetes.io/name: kube-state-metrics
         app.kubernetes.io/version: 1.9.5
       name: kube-state-metrics
       namespace: monitoring
     spec:
       clusterIP: None
       ports:
       - name: http-metrics
         port: 8080
         targetPort: http-metrics
       - name: telemetry
         port: 8081
         targetPort: telemetry
       selector:
         app.kubernetes.io/name: kube-state-metrics
    
    
  4. 启动服务
    $ cd /opt/k8s/work/kube-state-metrics-master/examples/standard
    $ kubectl create -f .
    
    

prometheus 收集指标

  1. prometheus 追加配置,仅抓取带有prometheus.io/scraped: "true" 注解的endpoint

    - job_name: "kubernetes-service-endpoints"
      kubernetes_sd_configs:
      - role: endpoints
      relabel_configs:
      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scraped]
        action: keep
        regex: true
      - action: labelmap
        regex: __meta_kubernetes_service_label_(.+)
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: kubernetes_namespace
      - source_labels: [__meta_kubernetes_service_name]
        action: replace
        target_label: service_name
    
    
  2. prometheus重新加载配置后,查看对应的target

    kube-state-metrics对应的pod有两个端口,在prometheus中显示了两个target

配置grafana

  1. 从grafana.com 下载state-metrics监控模版1. Kubernetes Deployment Statefulset Daemonset metrics,导入模版

    grafana效果图

原文地址:https://www.cnblogs.com/gaofeng-henu/p/12600496.html

时间: 2024-07-31 09:26:13

prometheus(九) 收集kube-state-metrics指标信息的相关文章

[Elasticsearch] 聚合中的重要概念 - Buckets(桶)及Metrics(指标)

[Elasticsearch] 聚合中的重要概念 - Buckets(桶)及Metrics(指标) 2015-01-04 来源: http://blog.csdn.net/dm_vincent/article/details/42387161 本章翻译自Elasticsearch官方指南的Aggregations-High-level Concepts一章. 高层概念(High-Level Concepts) 和查询DSL一样,聚合(Aggregations)也拥有一种可组合(Composabl

ganglia收集hbase的metrics

Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gmond 的守护进程.它将从操作系统和指定主机中收集.接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中.正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展.gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能. Ganglia

netstat 第六列State的状态信息

[[email protected]_45 ~]$ netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address               Foreign Address             State tcp        0      0 10.172.83.189:43003         10.172.161.158:6379         TIME_WAIT Pro

11g上如何收集优化器(optimizer)统计信息

注:本文参见MOS(my oracle support)英文文档Document:749227.1 - How to Gather Optimizer Statistics on 11g 本文概述了在Oracle 11g中收集CBO(Cost Based Optimizer)统计信息的推荐方法.     本文适用范围:           Oracle Server – 企业版 – 版本 11.1.0.6 to 11.2.0.3           Oracle Server – 标准版 –版本

如何收集常见的前端性能信息

前端性能指标,大多有TTFB ,首屏,首次可交互时间等 相关的文章已经有很多,细节这里就不多说了,可参考文末资料 总体来说,需要知道浏览器(新的)给我们提供了 Performance API,使用这个属性,我们可以得到一系列跟性能相关的数据 结合各个时间点的意义,我们可以计算出关键的耗时指标 看看下面这张图 经过简单的计算,可以获取到这样的信息 与DevTools 的Network来比较,数据是差不多的,应该能作为参考 简单上报一下 那么,这些个指标是怎末计算的呢,且看代码部分,看看注释应该就知

使用jmx-exporter&&jmxtrans && nexus jmx 暴露nexus 系统指标信息

以下演示一个简单的使用jmxexporter 暴露nexus jmx 指标为prometheus metrics,同时也集成了一个简单的jmxtrans 输出数据到 graphite 环境准备 docker-compose 文件 version: "3" services: graphite: image: graphiteapp/graphite-statsd ports: - "80:80" - "2003-2004:2003-2004" -

微服务监控和报警(四)-自定义metrics指标监控

1.Metrics类型 prometheus中定义了四种metrics类型: 1.1.Counter:只增不减的计数器,其值只能在重新启动时递增或重置为零.例如,可以使用计数器表示已服务的请求数.已完成的任务数或错误数. 1.2.Gauge:是一种度量,它表示一个可以任意上下移动的数值.例如,温度或当前内存使用量. 1.3.Histogram:直方图对观察结果(通常是请求持续时间或响应大小)进行采样,并在可配置的存储桶中对其进行计数.它还提供了所有观测值的总和. 1.4.Summary:与His

shell脚本批量收集linux服务器的硬件信息快速实现

安装ansible批量管理系统.(没有的话,ssh远程命令循环也可以) 在常用的数据库里面新建一张表,用你要收集的信息作为列名,提供可以用shell插入. 批量安装所需工具包,smartmontools.dmidecode.mysql,可以用ansible命令:ansible all_host -s -m yum -a "name=mysql" 在本地写脚本. 获取默认IP:default_ip=$(ifconfig|head -n 2|tail -n 1|cut -d ":

13.4.3 收集有关地区的统计信息

我们的目标是展示自 1990 年以来,不同地区森林面积的变化.我们需要遍历所有已有的地区,检查数据是否可用,找到下载的指标值.这可以通过使用我们创建的映射,非常轻松地完成,因为已经用年份和地区 ID 作为键. 但是需要小心,因为有一些数据可能会缺失,因此,我们要过滤掉所有年份没有数据的地区.另外,我们还想要显示森林总面积,而不是百分比,因此,在返回数据之前,要进行简单的计算.虽然听起来可能很难,但是,代码并不非常复杂.清单 13.17 显示了最终我们要在 F# Interactive 中输入的几