使用Prometheus全方位监控K8s
使用Prometheus全方位监控K8s1、Prometheus架构Prometheus Server:收集指标和存储时间序列数据,并提供查询接口ClientLibrary:客户端库Push Gateway:短期存储指标数据。主要用于临时性的任务Exporters:采集已有的第三方服务监控指标并暴露metricsAlertmanager:告警Web UI :简单的web控制台数据模型:数据存储为时
·
使用Prometheus全方位监控K8s
1、Prometheus架构
Prometheus Server:收集指标和存储时间序列数据,并提供查询接口
ClientLibrary:客户端库
Push Gateway:短期存储指标数据。主要用于临时性的任务
Exporters:采集已有的第三方服务监控指标并暴露metrics
Alertmanager:告警
Web UI :简单的web控制台
数据模型:数据存储为时间序列;具有相同度量名称以及标签属于同一个指标。
每个时间序列都由度量标准名称和**一组键值对(也成为标签)**唯一标识。
时间序列格式: {
作业和实例:
**实例:**可以抓取的目标称为实例(instances)
**作业:**具有相同目标的实例集合称为作业(Job)
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090','localhost:8081']
labels:
instance: prometheus
- job_name: linux
static_configs:
- targets: ['192.168.91.132:9100']
labels:
instance: localhost
2、K8S监控指标及实现思路
K8S本身监控:
-
Node资源利用率
-
Node数量
-
Pods数量(Node)
-
资源对象状态
Pod监控
- Pod数量(项目)
- Pod状态
- 容器资源利用率
- 应用程序
监控指标 | 具体实现 | 举例 |
---|---|---|
Pod性能 | cAdvisor | 容器CPU,内存利用率 |
Node性能 | node-exporter | 节点CPU,内存利用率 |
K8S资源对象 | kube-state-metrics | Pod、Deployment、Service |
服务发现参考:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
3、在K8S上部署Prometheus
部署Prometheus前提:需要数据持久化存储(pv、pvc)
4、基于K8S服务发现的配置解析
待更新……
5、在K8S平台部署Granfana
待更新……
6、监控K8S集群中Pod、Node、资源对象
待更新……
7、使用Granfana可视化展示Prometheus监控数据
待更新……
8、告警利器AlertManager
待更新……
更多推荐
已为社区贡献3条内容
所有评论(0)