第一步:创建新的仪表盘
- 点击➕号创建dashboard仪表盘
- 点击add panel,在dashboard中创建一个panel面板
- folder可以导入本地的模版
- import可以直接导入官网的一些模版,参考Dashboards | Grafana Labs
第二步:面板调整界面
- 仪表盘选项:dashboard仪表盘中可以有多个panel面板。
- 仪表盘设置选项:可以对仪表盘进行设置,如数据筛选变量等。
- 展示面板:最终展现的面板效果,在调整数据源和样式时会实时改变。
- 数据源:为展示面板提供所需要的数据,并可对数据进行加工。
- 图形类型:面板展示数据的图形类型,如图表/表格/饼图等等。
- 图形样式:调整图形的展示细节。
第三步:添加仪表盘可选变量(非必要)
- 点击又上角的设置按钮进入dashboard设置
- 选择列表中的Variables可以add Variables
- Name:变量名称
- Label:变量标签名称,展示在面板变量筛选框前。
- type:属性类型,Query-查询框等
- Hide:是否隐藏:Lable-隐藏标签,Variable-隐藏该变量
- Desription:变量描述
- Data source : 数据来源,一般都用prometheus,这里需要配置在grafana的config里添加datasource。
- Refresh:两种数据刷新设置,面板刷新或者定时刷新
- Query:变量内容查询条件,一般使用label_values函数获取,举例label_values(jvm_memory_used_bytes,namespace),获取jvm_memory_used_bytes指标的namespace标签。
- Regex:使用正则调整变量内容
- Sort:变量排序
- Multi-value:是否多选
- Include All option:是否可全选
- Preview of values:真实参数内容,调整Query时会实时变动,为最终展示效果。
第四步:数据源设置
- Data source:数据来源,一般都用prometheus,这里需要配置在grafana的config里添加datasource。
- Metrics browsr:指标预览,即需要在面板中展示的数据,需要通过grafana函数表达式查询数据。这里需要单独学习。指标可以通过筛选查看。
:添加多个数据
:数据表达式,即可以通过数据源中数据进行组合
- Legend:图标中展示的数据标签,默认显示整条数据,可以通过"{{xx}}"指定,如图例中的{{uri}}
- Min step:图形最小步长,时间单位秒,默认自动调整。
- Resolution:分辨率,1/1位1个步长1个点,1/2位2个步长一个点,类推。
- Format:图形排版
第五步:图形类型
可以根据数据选择适合的展示图形
第六步:图形样式
根据需要调整图形样式
本例子中的数据函数参考
topk(10,sort_desc(sum(rate(http_server_requests_seconds_count{job="$job"}[$__range])) by (uri)))
- topk(n,list):集合中的前n个数据,类似sql中的limit
- sort_desc(list):集合大到小排序,小到大使用sort(list),类似sql中的order by
- sum(list) by(lable):根据合并中的lable值进行合并,类似sql中的group by
- rate(lable{..}):获取指标值,lable相当于prometheus中的表名,job为字段名,{job="$job"}添加赛选条件,类似sql中的where条件.
- $job:Variables中选中的job值。
- $__range:获取选择的数据时间段
翻译成sql理解
select uri,sum(uri) as count
from prometheus.http_server_requests_seconds_count
where job='$job'
group by uri
order by count
limit 10;