Grafana之模板与变量(第十五篇)

Grafana之模板与变量(第十五篇),第1张

使用变量将允许我们创建出交互式的动态仪表盘。与在度量查询中以硬编码(例如写死hostname或者job name)方式不同,使用变量后,同一个仪表盘可以显示不同变量值(主机)的数据。有变量的仪表盘就是一个模板,变量为模板注入了灵魂。

变量的配置如下图所示:

① General(常用),Name(定义变量名);Label(标签),在仪表盘上显示的标签名字;Hide(隐藏),用于隐藏label(标签)或者暂时不用variable(变量);Type(变量的类型)又包括如下几种可选项:

1、Interval(间隔),此变量可以表示查询的时间跨度,这样在查询的SQL中不用硬编码时间间隔,而是使用Interval变量来定义时间间隔。

2、Query(查询),此变量用于编写数据源查询,与Query Options中的设置配合使用,通常返回度量名称、标签值等。例如,返回主机或主机组的名称。

3、Datasource(数据源),此变量用于指定数据源,例如有多个zabbix源时,就可以使用此类型变量,方便在Dashboard中交互式切换数据源,快速显示不同数据源中的数据。

4、Custom(自定义),用户自定义设置的变量。

5、Constant(常量),定义可以隐藏的常量。对于要共享的仪表盘中包括路径或者前缀很有用。在仪表盘导入过程中,常量变量将成为导入时的选项。

6、Ad hoc filters(Ad hoc过滤器),这是一种非常特殊的变量,目前只适用于某些数据源,如influxDB、Prometheus、Elasticsearch。使用指定数据源时将自动添加所有度量查询出的键/值。

7、Text box(文本框),此变量用于提供一个可自由输入的文本框。

② Query Options(查询选项),可以指定数据源(Data source);刷新方式(Refresh),即何时Dashboard中的数据会被刷新,方式有:1、从不(Never)、2、仪表盘加载时(On Dashboard Load)、3、时间范围发生变化(On time range changed),通常会选择On Dashboard Load;Regex(正则),使用正则表达式来匹配对应的值;Sort(排序)Disabled禁用,Alphabetical (asc)按字母升序,Alphabetical (desc)按字母降序

Numerical (asc)按数字升序,Numerical (desc)按数字降序,Alphabetical (case-insensitive,asc)  按字母不区分大小写升序,Alphabetical (case-insensitive,desc) 按字母不区分大小写升序。

③ Selection Options(选择项),Multi-value允许多选,即在Dashboard中可以同时勾选多个。Include All option 允许选择All(所有),即在Dashboard中可以有一个All的选项,允许勾选。

④ Value groups/tags (Experimental feature),Grafana还处在验证性的特征。

变量具体配置示例如下图所示:

完成设置后的显示效果:

使用Grafana变量后,Dashboard就变得更加灵活了。

总结:人们常说,“选择比努力更重要!”,但却没有告知要如何选择。或许,努力才是自己唯一的选择!

假设我有2种类型的服务器,一种是本地电脑(每个指标名称都存在{nodename='mac-local'}),一种是阿里云服务器(每个指标名称都存在{nodename='aliyun'}),同时每个指标下都存在一个 {instance='具体的服务器的ip地址'}标签。

即我们采集的时间序列大致上都有如下标签:

eg:

node_uname_info{nodename='xxxx',instance='yyyy'}

我们想监控一下每台主机的cpu的使用情况。同时不能在一个图形上显示出所有的机器的cpu使用率,需要根据用户的选择而显示。即要出现下图所示的结果,这个情况我们可以通过grafana的 模板变量 来实现。

从上图可以,instance的出现是根据 服务器类型 的选择而不同的。

1、在Dashboard页面点击小齿轮⚙️图标。

2、点击创建一个变量

注意:

instance 变量的值是根据上一步 nodename 变量的值而来的,及选择不同的 nodename,instance 的值应该是不同的。及在 instance 变量的查询语句中需要引用 nodename 变的值,通过 $nodename 即可引用。

做完上方出现的1,2两步,即可出现需求中出现的画面。

在 grafana 中引入此json串,即可实现上图的效果。 但是要保证每个时间序列都存在 nodename 和 instance的标签。

1、 grafana模板变量的使用

Grafana中的主面板被简单地命名为Graph。它提供了一组非常丰富的图形选项。

1、单击面板的标题会显示一个菜单。edit选项将为面板打开其他配置选项。

2、单击以打开颜色和轴选择。

3、单击此处只显示本时间序列。Shift/Ctrl +点击隐藏时间序列。

二、general选项

general选项卡允许定制面板的外观和菜单选项。

1、信息

标题——仪表板的面板标题,显示在顶部。

描述——面板描述,显示在面板左上角的info图标悬停处。

透明——如果选中,将删除面板的实背景(默认不选中)。

2、重复

对每个变量的值重复一个面板。这里将更详细地描述重复面板。

3、钻取/详细信息链接

下钻部分允许向面板添加可以链接到其他仪表板或url的动态链接。

每个链接都有标题、类型和参数。链接可以是指示板链接(dashboard),也可以是绝对链接(absolute)。如果是仪表板链接,仪表板值必须是仪表板的名称。如果是绝对链接,URL就是链接的URL。

params允许向链接添加额外的URL params。格式是name=值,其中用&分隔多个参数。模板变量可以使用$myvar作为值添加。

当链接到另一个使用模板变量的仪表板时,可以使用var-myvar=value从链接中将模板变量填充到所需的值。

三、度量metrics

metrics选项卡定义要呈现的系列数据和源。每个数据源提供不同的选项。

1、轴

Axes选项卡控制着轴的显示。

(1)Left Y/Right Y

左Y、右Y可定制:

单位(Unit)——Y值的显示单元

刻度(Scale)——Y值的刻度,线性或对数。(默认线性)

Y-Min——最小的Y值。(默认自动)

Y-Max——最大的Y值。(默认自动)

小数(Decimals)——控制Y值显示多少小数(默认自动)

标签(Label)—— Y轴标签(默认" ")

通过取消Show中的相应框,还可以隐藏坐标轴。

(2)x轴

不选择显示(show),可以隐藏轴。

模式有三个选项:

默认选项是Time,表示x轴表示时间,数据按时间分组(例如,按小时或分钟分组)。

序列(  Series  )选项意味着数据是按序列而不是按时间分组的。y轴仍然表示值。

直方图选项将图形转换为直方图。直方图是一种条形图,将数字分组到范围内,通常称为桶或箱。较高的条形图显示更多的数据落在这个范围内。这里将更详细地描述直方图和桶。

(3)y轴

对齐(Align)——检查左轴和右轴是否按值对齐(默认未选中/false)

级别(Level)——当对齐被选中时可用。从Y=0开始(默认为0)

四、legend说明

(1)选项

显示( Show  )——取消勾选以隐藏图例(默认勾选/true)

表( Table  )——检查表中显示图例(默认未选中/false)

向右( To the right )——勾选右侧显示图例(默认未选中/false)

宽度( Width )——当右勾选时可用。值来控制图例的最小宽度(默认0)

(2)值

附加值可以随图例名称一起显示:

最小值min——度量查询返回的所有值的最小值

最大值max——从度量查询返回的所有值的最大值

平均值Avg——度量查询返回的所有值的平均值

Current—— 从度量查询返回的最新值

Total—— 从度量查询返回的所有值的总和

Decimals 小数-控制有多少小数显示为图例值(和图形悬停工具提示)

图例值是由Grafana计算的客户端值,取决于您的度量查询使用的聚合或点合并类型。以上图例值不能同时正确。例如,如果您绘制一个速率(比如请求/秒),这可能使用average作为聚合器,那么图例中的Total将不表示请求的总数。它只是Grafana接收到的所有数据点的总和。

(3)隐藏系列

当一个度量查询中的一个序列的所有值都是特定值时,隐藏序列:

只有null值——null(默认未选择)

只有0——Value= 0(默认未选择)

五、显示样式

显示样式控制图形的视觉属性。

绘图选项

(1)绘图模式

条-显示值作为条形图

线-显示值作为线图

点-显示值的点

(2)模式的选择

填充(Fill )——一个系列的颜色填充量(默认为1). 0为空。

线宽(Line Width)——系列的宽度(默认1)。

阶梯(Staircase)——绘制相邻的点作为阶梯

点半径(Points Radius)——当点被选择为绘制模式时,调整点的大小。

(3)悬停提示

模式( Mode  )——控制当悬停在一个时间点上时,在工具提示中显示多少个系列,所有时间序列或单个(默认所有时间序列)。

排序顺序( Sort order )——控制工具提示中显示的时间序列如何排序,无,升序或降序(默认无)。

堆叠值( Stacked value )——当堆叠被检查和控制堆叠值如何显示在工具提示(默认个人)时可用。

单个值(Individual)——您悬停的时间序列的值。

累计(Cumulative)——该值之间的总和加上您悬停时间序列的值。

(4)叠加和空值

如果有多个级数,它们可以作为一个组显示。

叠加——每个时间序列叠加在另一个上面

百分比——选择叠加时可用。每一个时间序列都以所有时间序列的百分比表示

空值-如何显示空值

(5)时间序列重置

该部分允许一个时间序列以不同于其他时间序列的方式呈现。例如,可以给一个时间序列一个较粗的线宽,使其突出和/或移动到右y轴。

(6)Thresholds(阈值设置)

阈值允许向图中添加任意的直线或分段,以便在图跨越特定阈值时更容易查看。

(7)时间段

time range选项卡允许您覆盖仪表板的时间范围,并指定一个特定于面板的时间。或者通过一个相对的时间选择或者通过一个时间转移。在这里详细描述了面板时间覆盖和时间转移。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11370549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存