首页 > 其他分享 >prometheus学习笔记之kube-state-metrics

prometheus学习笔记之kube-state-metrics

时间:2024-09-26 12:52:09浏览次数:9  
标签:name prometheus metrics state kube com

一、kube-state-metrics简介

Kube-state-metrics:通过监听 API Server 生成有关资源对象的状态指标,比如 Deployment、Node、Pod,需要注意的是 kube-state-metrics 只是简单的提供一个 metrics 数据, 并不会存储这些指标数据, 所以我
们可以使用 Prometheus 来抓取这些数据然后存储, 主要关注的是业务相关的一些元数据, 比如Deployment、 Pod、 副本状态等, 调度了多少个 replicas? 现在可用的有几个? 多少个 Pod 是
running/stopped/terminated 状态? Pod 重启了多少次? 目前有多少 job 在运行中。

参考文档:https://github.com/kubernetes/kube-state-metrics镜像下载地址:https://hub.docker.com/r/bitnami/kube-state-metrics资源指标参考:https://github.com/kubernetes/kube-state-metrics/tree/main/docs #每个资源点击进入会看到具体的指标

二、部署kube-state-metrics

1.部署yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kube-state-metrics
  namespace: monitoring
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kube-state-metrics
  template:
    metadata:
      labels:
        app: kube-state-metrics
    spec:
      serviceAccountName: monitor #之前给prometheus使用的sa,也可以单独创建
      containers:
      - name: kube-state-metrics
        image: registry-vpc.cn-shanghai.aliyuncs.com/zdbl-base/kube-state-metrics:2.11.0 #原镜像仓库地址 bitnami/kube-state-metrics,注意KSM的版本需要与K8S版本对应,具体对应关系查看官方文档
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    prometheus.io/scrape: 'true'
  name: kube-state-metrics
  namespace: monitoring
  labels:
    app: kube-state-metrics
spec:
  type: NodePort
  ports:
  - name: kube-state-metrics
    port: 8080
    targetPort: 8080
    nodePort: 31666
    protocol: TCP
  selector:
    app: kube-state-metrics


kubectl apply -f kube-state-metrics.yaml
kubectl get pods -n monitoring

2.验证服务是否正常

prometheus学习笔记之kube-state-metrics_Pod

三、配置prometheus抓取kube-metrics数据

1.prometheus配置

- job_name: "monitor-for_kube-metrics"  #新增一个job,抓取kube-metrics svc nodePort端口
    metric_relabel_configs:
    static_configs:
      - targets: ["192.168.100.131:31666"]

curl -X POST http://127.0.0.1:9090/-/reload #重载配置文件

2.验证抓取配置

prometheus学习笔记之kube-state-metrics_Deployment_02

四、配置grafana数据展示

对于kube-state-metrics场景的模板有三个,ID分别为 13332 13824 14518,这样以13332为示例演示,因为这个配置是有个特殊配置需要知道

1.输入ID导入模板

prometheus学习笔记之kube-state-metrics_Deployment_03

配置选项这个模板最下面多了一个数据源的配置,需要手动修改与上面的保持一致

prometheus学习笔记之kube-state-metrics_Pod_04

效果图如下

prometheus学习笔记之kube-state-metrics_Deployment_05

 

 

 

 

 

 

 

 

 

 

"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少



标签:name,prometheus,metrics,state,kube,com
From: https://blog.51cto.com/u_8901540/12118330

相关文章

  • prometheus学习笔记之基于三方exporter实现监控
    一、redis_exporter通过redis_exporter监控redis服务状态git地址:https://github.com/oliver006/redis_exporterdocker地址:https://hub.docker.com/r/oliver006/redis_exporter实验环境:redisk8部署prometheus二进制部署1.redis_exporter使用简解二进制部署prometheus配置方式......
  • prometheus学习笔记之prometheus联邦集群
    一、简介对于大部分监控规模而言,我们只需要在每一个数据中心安装一个PrometheusServer实例,就可以在各个数据中心处理上千规模的集群。同时将PrometheusServer部署到不同的数据中心可以避免网络配置的复杂性。在每个数据中心部署单独的PrometheusServer,用于采集当前数据中心监......
  • prometheus学习笔记之prometheus存储系统
    一、prometheus本地存储系统1.本地存储架构默认情况下,prometheus将采集到的数据存储在本地的TSDB数据库中,路径默认为prometheus安装目录的data目录,数据写入过程为先把数据写入wal日志并放在内存,然后2小时后将内存数据保存至一个新的block块,同时再把新采集的数据......
  • ECON 3720: Introduction to Econometrics
    ECON3720:IntroductiontoEconometricsProblemSet03FallSemester2024Due:September27th2024Pleasesubmittheproblemsetnolaterthan5PMonSeptember27th2024.SubmittheproblemsettoyourTA’smailboxintheMonroeHallbasement.Failureto......
  • prometheus学习笔记之集群内服务发现环境准备
    一、环境介绍主要演示prometheus在k8s集群中如何通过服务自动去发现k8s集群自有服务及其他服务发现场景,后续会演示集群外部署prometheus自动发现k8s服务并获取数据创建监控使用的namespaceskubectlcreatensmonitoring配置docker可以下载镜像[root@k8s-masterdeploy]#cat/etc/......
  • prometheus学习笔记之PromQL
    一、PromQL语句简介官方文档:https://prometheus.io/docs/prometheus/latest/querying/basics/Prometheus提供⼀个函数式的表达式语⾔PromQL(PrometheusQueryLanguage),可以使⽤户实时地查找和聚合时间序列数据,表达式计算结果可以在图表中展示,也可以在Prometheus表达式浏览器中以......
  • prometheus学习笔记之Grafana安装与配置
    一、Grafana简介grafana是⼀个可视化组件,⽤于接收客户端浏览器的请求并连接到prometheus查询数据,最后经过渲染并在浏览器进⾏体系化显示,需要注意的是,grafana查询数据类似于zabbix⼀样需要⾃定义模板,模板可以⼿动制作也可以导⼊已有模板。Grafana的基础架构主要包括以下几个核心组......
  • prometheus学习笔记之简介与安装
    一、prometheus简介1.简介Prometheus是基于go语⾔开发的⼀套开源的监控、报警和时间序列数据库的组合,是由SoundCloud公司开发的开源监控系统,Prometheus于2016年加⼊CNCF(CloudNativeComputingFoundation,云原⽣计算基⾦会),2018年8⽉9⽇prometheus成为CNCF继kubernetes之后......
  • 开启nginx_stub_status prometheus
    开启nginx_stub_statusprometheus要在Nginx中启用nginx_stub_status并将其数据暴露给Prometheus,你需要执行以下步骤:配置Nginx以使用stub_status。设置Prometheus的exporter来抓取nginx_stub_status页面。配置Prometheus服务来抓取exporter的数据。......
  • prometheus学习笔记之prometheus存储系统
    一、prometheus本地存储系统1.本地存储架构默认情况下,prometheus将采集到的数据存储在本地的TSDB数据库中,路径默认为prometheus安装目录的data目录,数据写入过程为先把数据写入wal日志并放在内存,然后2小时后将内存数据保存至一个新的block块,同时再把新采集......