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-metricsPod、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待更新……