Grafana快速入门指南下篇

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.tables(表格)展示数据

1.环境准备

如上图所示,我们配置了4个node_exporter被Prometheus监控了,本实验就是在此基础上执行的。

2.配置Query(查询)

如上图所示,依次配置一个Table的查询就可以看到显示的信息。

3.配置Transform(转换)

如上图所示,点击"Transform",而后选择"Filter by name",只勾选"instance","nodename","release",我们就可以将不需要的字段过滤掉。

4.添加Overrides(覆盖)属性

如上图所示,依次点击"Overrides","Add field override","Fields with name"


如下图所示,"Fields with name"选择响应的列字段(比如instance),而后点击"add override property",选择"Stamd options> Display name"

5.配置多指标监控展示

5.1 统计系统负载

如上图所示,我们依次按照图标执行,并添加"node_load5-0"查询,发现最终展示效果并不理想,需要配置"Transform"页面。

如下图所示,我们在"Transform"页面添加"Merge"转换,而后在为"Value #B"添加Overrides配置进行输出展示

5.2 统计CPU核数

如上图所示,继续添加CPU核心数监控,PromQL语句: count(node_cpu_seconds_total{mode='system'}) by (instance)

5.3 统计CPU使用率

如上图所示,继续添加CPU使用率监控,PromQL语句: (1 - avg(rate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)) * 100

5.4 统计内存总量

如上图所示,继续添加内存总量的监控,PromQL语句: node_memory_MemTotal_bytes-0

值得注意的是,需要当我们为内存配置属性时要配置两个,一个是列的名称(Display name),另一个是单位转换(Unit)

5.5 统计内存使用率

如上图所示,继续添加内存使用率的监控,PromQL语句: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes))*100

5.6 统计网卡出流量

如上图所示,继续网卡出流量的监控,PromQL语句:max(rate(node_network_transmit_bytes_total[1m])) by (instance)

6.配置阈值和背景色

6.1 配置指定的表格颜色

如上图所示,我们可以为指定表格添加一个"Cell type"属性,然后选择"Colored background",就可以发现其会自动变色。

6.2 压力测试观察Thresholds(阈值)颜色变化

	1.安装stress压测工具
[root@node-exporter42 ~]# apt -y install stress

	2.开始内存压测
[root@node-exporter42 ~]# stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10m
stress: info: [2103] dispatching hogs: 8 cpu, 4 io, 2 vm, 0 hdd

	3.观察监控变化
如上图所示,表格的颜色变红了,根本原因是超过了定义的"Thresholds"(阈值)默认值: 80,我们可以自行修改该阈值哟~

6.3 Cell options(单元选项)

如上图所示,我们可以定义"Cell options"(单元选项),修改背景色,颜色之类的,但是个人感觉还是Auto的看着比较顺眼,你可以自行修改哈。

二.grafana变量定义

1.grafna变量的类型

grafana常用的变量类型包括但不限于:
	- Query:
		动态查询的类型。
	
	- Custom:
		用户自定义的字符串。
		
	- Data source:
		数据源。

2.Custom变量类型定义

如上图所示,我们可以使用自定义变量,至于变量的具体字符串,我们可以自行定义,比如: system,user,idle

如下图所示,我们定义好变量可以直接在grafana中进行引用,对应的PromQL语句: node_cpu_seconds_total{mode="${custom_cpu_mode}"}

3.Query变量类型定义

如上图所示,我们可以配置Query Type类型选择"Label values",而后安装步骤依次配置:
	- Label标签选择器基于mode过滤。
	- 如果还过滤不出来更详细的可以使用Metric进行再次筛选。
	- 如果还要进一步筛选,可以定义Regex,比如"i.*"表示以i开头的mode,符合结果的仅有"idle","iowait","irq"等。

如下图所示,就是我们使用变量展示后的效果,对应的PromQL语句: node_cpu_seconds_total{mode="${query_cpu_mode}"}

4.实战案例

4.1 查询集群的总内存

如上图所示,我们定义一个"instance"变量,并勾选"Multi-value"选项。

如下图所示,我们就可以选择多个主机的信息进行查看啦~对应的PromQL语句: node_memory_MemTotal_bytes{instance=~"${instance}"}

4.2 统计内存的使用率

如上图所示,表示对应内存的使用率。

5.变量的嵌套

如上图所示,我们定义device变量,引用了instance变量。

实现效果如下图所示,当我们修改了instance变量时,对应的device的网卡设备可能也会随之变化哟~

三.导入dashboard模板

1.导出当前dashboard(模拟备份)

如上图所示,我们可以将自习做的dashboard导出相当于备份,而且也可以给其他人共享。

2.导入dashboard(模拟恢复)

如上图所示,如果本地的dashboard删除了,或者别人要用咱们的dashboard就可以手动导入啦

3.导入官方的模板

如上图所示,我们可以去grafana官网导入我们所需要的模板使用接口。

参考链接:
	https://grafana.com/grafana/dashboards/
posted @ 2024-11-10 20:41  尹正杰  阅读(346)  评论(0编辑  收藏  举报