一、Grafana部署及模板展示
grafana是一款基于go语言开发的通用可视化工具,支持从不同的数据源加载并展示数据,可作为其数据源的部分储存系统如下所示:
TSDB:Prometheus、IfluxDB、OpenTSDB和Graphit
日志和文档存储:Loki和ElasitchSearch
分布式请求跟踪:Zipkin、Jaeger和Tenpo
SQL DB:Mysql、PostgreSQL和Microsoft SQL server
grafana基础默认监听于TCP协议的3000端口,支持集成其他认证服务,且能够通过/metrics输出内建指标
数据源(Data Source):提供用于展示的数据的储存系统
仪表盘(Dashboard):组织和管理数据的可视化面板(Panel)
团队和用户:提供了面向企业组织层级的管理能力
1.Grafan部署步骤
[root@prometheus ~]# ls
grafana-7.3.6-1.x86_64.rpm
[root@prometheus ~]# yum install grafana-7.3.6-1.x86_64.rpm -y
[root@prometheus ~]# systemctl start grafana-server.service
[root@prometheus ~]# ss -antp | grep grafana-server
二、打标签
1.重新打标定义(在job上定义)
-
对target重新打标是在数据抓取之前动态重写target标签的强大工具,在每个数据抓取配置中,可以定义多个relabel步骤,它们将按照定义的顺序依次执行
-
对于发现的每个target,Prometheus默认会执行如下操作:
job的标签设定为其所属的job name的值;
_address_标签的值为该target的套接字地址":"
instance标签的值为_address_的值;
_scheme_标签的值为抓取该target上指标时使用的协议(http或https) ;
_metrics _path_标签的值为抓取该target上的指标时使用URI路径,默认为/metrics;
param_标签的值为传递的URL参数中第一个名称为的参数的值
重新标记期间,还可以使用该target上以"meta "开头的元标签;
各服务发现机制为其target添加的元标签会有所不同;
重新标记完成后,该target上以"_"开头的所有标签都会被移除;
若在relabel的过程中需要临时存储标签值,则要使用tmp标签名称为前缀进行保存,以避免同Prometheus的内建标签冲突
2.relabel config(重新打标配置)
修改标签值、增加删除标签,通过调用不同参数实现自己的需求
source_labels:指定调用哪些已有的标签(可引用多个)在重新打标的时候会将这些标签对应的值给引用/提取并连接起来,例如: cpu指标{host=node1; host=node2 }
target_labels:与source_labels组合使用,可以指定使用哪个已有标签赋值给指定的新标签
separator:对应源标签的标签值使用什么连接符,默认为" ;"
regex:对于源标签,使用哪个正则表达式对源标签进行模式匹配、匹配后可以将对应的结果复制到target上,赋值方式:(引用所有正则表达式的内容进行赋值)
modulus:hash算法函数
replacement:把目标标签的值改为新的值
action <relabel_action>:表示重新打标的方式是什么,以及要实现什么功能