Grafana简单用法
导航:这里主要是列出一个prometheus一些系统的学习过程,最后按照章节顺序查看,由于写作该文档经历了不同时期,所以在文中有时出现 的云环境不统一,但是学习具体使用方法即可,在最后的篇章,有一个完整的腾讯云的实战案例。 8.kube-state-metrics 和 metrics-server 13.Grafana简单用法 参考: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config https://www.bookstack.cn/read/prometheus_practice/introduction-README.md |
本文档不讲解基础使用,仅讲解,在使用中花费了很多时间的操作。更多的操作可以去参考grafana的导出json,这里只是做一个简单的流程记录
1.Grafana查询界面
这样可以将粒度调成最粗,可以拉取更长时间的数据.
2.变量
2.1 变量总类
用户需要指定变量的名称,后续用户就可以通过$variable_name的形式引用该变量。Grafana目前支持6种不同的变量类型,而能和Prometheus一起工作的主要包含以下5种类型:
Label属性用于指定界面中变量的显示名称,Hide属性则用于指定在渲染界面时是否隐藏该变量的下拉框。
2.2 Query_result
Query_result是Query里面的一个种类,只是使用的方式不同.基本也能实现大致的目的,所以没必要深究.
通过Dashboard页面的Settings选项,可以进入Dashboard的配置页面并且选择Variables子菜单:
使用变量过滤需要的值
比如上图中 query_result(kube_namespace_created{job=~"cn-lcm-prod.*"})
这里一步一步拆解;
上图可以看到,获取了类似于prometheus计算的结果,但是我们只需要其中的一个labels值,那么,可以继续通过正则过滤,过滤出labels为namespace的值
结果可以看到,namespace的值过滤出来了,接下来就看在看板界面通过这些值筛选要显示的信息(主机或者pod),也就是将这个变量传入给prometheus sql来查询。
2.3 变量图解
3.函数
使用Query类型的变量能够根据允许用户能够根据时间序列的特征维度对数据进行过滤。在定义Query类型变量时,除了使用PromQL查询时间序列以过滤标签的方式以外,Grafana还提供了几个有用的函数:
3.1 label_values
可以看到,所有的namespace都返回了.但是建议使用query_result,因为如果是联邦集群,那么所有集群的namespace都会抓取出来,这样就就不是想要的结果了。
也可以这么使用
通过使用label_values函数,获取到当前Promthues监控指标up中所有可选的job标签的值:
label_values(up, job)