Prometheus监控平台部署
目录简介部署Metrics Server部署exporter部署prometheus部署matrics整合Grafana简介Prometheus项目来自SoundCloud,是继Kubernetes之后CNCF的第二个成员项目,是新起的系统监控平台和告警工具套件,在容器和微服务广泛关注和使用kube-state-metrics把数据转换为k8s能够识别的数据格式...
目录
简介
Prometheus项目来自SoundCloud,是继Kubernetes之后CNCF的第二个成员项目,是新起的系统监控平台和告警工具套件,在容器和微服务广泛关注和使用
kube-state-metrics把数据转换为k8s能够识别的数据格式
k8s-prometheus-adapter把指标数据转出为API服务形式,需要基于https提供服务,因为api server也是以https形式提供服务
Custom Metrics 部署流程
1. node-exporter:prometheus的agent端,收集Node级别的监控数据。
2. prometheus:监控服务端,从node-exporter拉数据并存储为时序数据。
3. kube-state-metrics: 将prometheus中可以用PromQL查询到的指标数据转换成k8s对应的数据格式,即转换成【Custerom Metrics API】接口格式的数据,但是它不能聚合进apiserver中的功能。
4. k8s-prometheus-adpater:聚合apiserver,即提供了一个apiserver【cuester-metrics-api】,自定义APIServer通常都要通过Kubernetes aggregator聚合到apiserver。
部署Metrics Server
从 Kubernetes 1.8 开始,资源使用指标(如容器 CPU 和内存使用率)通过 Metrics API 在 Kubernetes 中获取, metrics-server 替代了heapster。Metrics Server 实现了Resource Metrics API,Metrics Server 是集群范围资源使用数据的聚器。 Metrics Server 从每个节点上的 Kubelet 公开的 Summary API 中采集指标信息。
注意:
- Metrics API 只可以查询当前的度量数据,并不保存历史数据
- Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护
- 必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据!
kubernetes metrics server 源码下载地址 :https://github.com/kubernetes-incubator/metrics-server
- 下载资源清单:
git clone https://github.com/kubernetes-incubator/metrics-server.git
- 应用资源清单:
cd metrics-server/1.8+ kubectl apply -f ./
- 查看部署后的资源对象:
kubectl get svc -n kube-system kubectl get pod -n kube-system
- 查看API中有没有:
kubectl api-versions
- 查看Metrics API:
curl http://localhost:8080/apis/metrics.k8s.io/v1beta1
- 查看kube top命令:
kubectl top nodes
kubectl top pods
部署exporter
通过各种export采集不同维度的监控指标
部署prometheus
部署matrics
整合Grafana
在实际工作环境中仅通过手工输入PromQL查询语句来获取内容显然是不够的,建议引入Grafana来对Prometheus采集的监控数据进行可视化展示
配置DataSource:
导入prometheus数据源自带的面板:
从grafana官网下载更多dashboard:https://grafana.com/dashboards
导入dashboard模板:
更多推荐
所有评论(0)