Prometheus
一、基础简介
1.1.prometheus简介
1.2.数据模型
1.3.指标类型
1.4.Jobs和Instances
二、安装部署
2.1.rpm部署监控组件
2.2.docker部署监控组件
三、PromSQL
3.1.PromQL基本使用
3.2.Prometheus基础查询
3.3.查询操作符
3.4.内置函数
3.5.在HTTPAPI中使用PromQL
3.6.最佳实践
四、告警处理
4.1.告警简介
4.2.自定义Prometheus告警规则
4.3.常见告警规则
4.4.部署Alertmanager
4.5.Alertmanager配置概述
4.6.基于标签的告警处理路由
4.7.使用Receiver接收告警信息
4.8.自定义告警模板
4.9.屏蔽告警通知
4.10.使用RecodingRules优化性能
五、Exporter
5.1.exporter
5.2.NodeExporter
5.3.ProcessExporter
5.4.cAdvisor
5.5.MysqlExporter
5.6.BlackboxExporter
5.7.ProcessExporter
5.8.Ipmiexport
5.9.Pushgateway
PostgresExporter
六、Grafana
6.1.grafana基本概念
6.2.创建dashboard与Panel
6.3.变化趋势:Graph面板
6.4.graph面板常用操作
6.5.分布统计:Heatmap面板
6.6.当前状态:SingleStat面板
6.7.变量
6.8.grafana报警
七、集群高可用
7.1.本地存储
7.2.远程存储
7.3.联邦集群
7.4.prometheus高可用
7.5.Alertmanager高可用
八、服务发现
8.1.Prometheus与服务发现
8.2.基于文件的服务发现
8.3.标签管理
九、Operator
9.1.什么是PrometheusOperator
9.2.PrometheusOperator自定义监控项
9.3.配置PrometheusRule
十、AlterManager
10.1.基础入门
10.2.配置详解
本文档使用 MrDoc 发布
-
+
home page
8.3.标签管理
# 一、Relabeling机制 1. 默认情况下,当Prometheus加载Target实例完成后,这些Target时候都会包含一些默认的标签:  - __address__:当前Target实例的访问地址<host>:<port> - __scheme__:采集目标服务访问地址的HTTP Scheme,HTTP或者HTTPS - __metrics_path__:采集目标服务访问地址的访问路径 - __param_<name>:采集任务目标服务的中包含的请求参数 1. 除此之外可以为Target添加自定义的标签,例如通过JSON配置文件,为Target实例添加了自定义标签env, 2. Target以__作为前置的标签是在系统内部使用的,因此这些标签不会被写入到样本数据中。 3. instance的标签对应到Target实例的__address__。 在采集样本数据之前,对Target实例的标签进行重写,这种机制在Prometheus被称为Relabeling。 4. Prometheus允许用户在采集任务设置中通过relabel_configs来添加自定义的Relabeling过程。 # 二、使用replace/labelmap重写标签 1. 使用relabel重写标签 - 在使用consul时,在每一个采集任务的配置中可以添加多个relabel_config配置,一个最简单的relabel配置如下: scrape_configs:<br /> - job_name: node_exporter<br /> consul_sd_configs:<br /> - server: localhost:8500<br /> services:<br /> - node_exporter<br /> relabel_configs:<br /> - source_labels: ["__meta_consul_dc"]<br /> target_label: "dc" 1. labelmap会根据regex的定义去匹配Target实例所有标签的名称,并且以匹配到的内容为新的标签名称,其值作为新标签的值。 2. 例如,在监控Kubernetes下所有的主机节点时,为将这些节点上定义的标签写入到样本中时,可以使用如下relabel_config配置: - job_name: 'kubernetes-nodes'<br /> kubernetes_sd_configs:<br /> - role: node<br /> relabel_configs:<br /> - action: labelmap<br /> regex: __meta_kubernetes_node_label_(.+) # 三、使用keep/drop过滤Target实例 1. 当action设置为keep时,Prometheus会丢弃source_labels的值中没有匹配到regex正则表达式内容的Target实例, 2. 当action设置为drop时,则会丢弃那些source_labels的值匹配到regex正则表达式内容的Target实例。可以简单理解为keep用于选择,而drop用于排除。 3. 例如,如果我们只希望采集数据中心dc1中的Node Exporter实例的样本数据,那么可以使用如下配置: scrape_configs:<br /> - job_name: node_exporter<br /> consul_sd_configs:<br /> - server: localhost:8500<br /> services:<br /> - node_exporter<br /> relabel_configs:<br /> - source_labels: ["__meta_consul_dc"]<br /> regex: "dc1"<br /> action: keep<br />
Nathan
Aug. 24, 2024, 3:09 p.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
PDF文件
Docx文件
share
link
type
password
Update password