| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  | local g = import 'grafana-builder/grafana.libsonnet'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   grafanaDashboards+:: { | 
					
						
							|  |  |  |     'node-cluster-rsrc-use.json': | 
					
						
							| 
									
										
										
										
											2019-08-20 09:49:12 -07:00
										 |  |  |       local legendLink = '%s/dashboard/file/node-rsrc-use.json' % $._config.grafana_prefix; | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |       g.dashboard('USE Method / Cluster') | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('CPU') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('CPU Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           g.queryPanel(||| | 
					
						
							|  |  |  |             ( | 
					
						
							| 
									
										
										
										
											2019-07-18 05:14:02 -07:00
										 |  |  |               instance:node_cpu_utilisation:rate1m{%(nodeExporterSelector)s} | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |             * | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |               instance:node_num_cpu:sum{%(nodeExporterSelector)s} | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |             ) | 
					
						
							| 
									
										
										
										
											2019-11-01 07:43:31 -07:00
										 |  |  |             / scalar(sum(instance:node_num_cpu:sum{%(nodeExporterSelector)s})) | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |           ||| % $._config, '{{instance}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							|  |  |  |           { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-07-22 05:06:27 -07:00
										 |  |  |           // TODO: Is this a useful panel? At least there should be some explanation how load | 
					
						
							|  |  |  |           // average relates to the "CPU saturation" in the title. | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           g.panel('CPU Saturation (load1 per CPU)') + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.queryPanel(||| | 
					
						
							| 
									
										
										
										
											2019-10-30 14:52:36 -07:00
										 |  |  |             instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s} | 
					
						
							|  |  |  |             / scalar(count(instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s})) | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |           ||| % $._config, '{{instance}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           // TODO: Does `max: 1` make sense? The stack can go over 1 in high-load scenarios. | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('Memory') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Memory Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           g.queryPanel(||| | 
					
						
							| 
									
										
										
										
											2019-10-30 14:52:36 -07:00
										 |  |  |             instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s} | 
					
						
							|  |  |  |             / scalar(count(instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s})) | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           ||| % $._config, '{{instance}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							|  |  |  |           { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-10-24 09:13:36 -07:00
										 |  |  |           g.panel('Memory Saturation (Major Page Faults)') + | 
					
						
							|  |  |  |           g.queryPanel('instance:node_vmstat_pgmajfault:rate1m{%(nodeExporterSelector)s}' % $._config, '{{instance}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							| 
									
										
										
										
											2019-07-18 05:14:02 -07:00
										 |  |  |           { yaxes: g.yaxes('rps') }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |         g.row('Network') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Net Utilisation (Bytes Receive/Transmit)') + | 
					
						
							|  |  |  |           g.queryPanel( | 
					
						
							|  |  |  |             [ | 
					
						
							|  |  |  |               'instance:node_network_receive_bytes_excluding_lo:rate1m{%(nodeExporterSelector)s}' % $._config, | 
					
						
							|  |  |  |               'instance:node_network_transmit_bytes_excluding_lo:rate1m{%(nodeExporterSelector)s}' % $._config, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |             ['{{instance}} Receive', '{{instance}} Transmit'], | 
					
						
							|  |  |  |             legendLink, | 
					
						
							|  |  |  |           ) + | 
					
						
							|  |  |  |           g.stack + | 
					
						
							|  |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes({ format: 'Bps', min: null }), | 
					
						
							|  |  |  |             seriesOverrides: [ | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/ Receive/', | 
					
						
							|  |  |  |                 stack: 'A', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/ Transmit/', | 
					
						
							|  |  |  |                 stack: 'B', | 
					
						
							|  |  |  |                 transform: 'negative-Y', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Net Saturation (Drops Receive/Transmit)') + | 
					
						
							|  |  |  |           g.queryPanel( | 
					
						
							|  |  |  |             [ | 
					
						
							|  |  |  |               'instance:node_network_receive_drop_excluding_lo:rate1m{%(nodeExporterSelector)s}' % $._config, | 
					
						
							|  |  |  |               'instance:node_network_transmit_drop_excluding_lo:rate1m{%(nodeExporterSelector)s}' % $._config, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |             ['{{instance}} Receive', '{{instance}} Transmit'], | 
					
						
							|  |  |  |             legendLink, | 
					
						
							|  |  |  |           ) + | 
					
						
							|  |  |  |           g.stack + | 
					
						
							|  |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes({ format: 'rps', min: null }), | 
					
						
							|  |  |  |             seriesOverrides: [ | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/ Receive/', | 
					
						
							|  |  |  |                 stack: 'A', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/ Transmit/', | 
					
						
							|  |  |  |                 stack: 'B', | 
					
						
							|  |  |  |                 transform: 'negative-Y', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('Disk IO') | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Disk IO Utilisation') + | 
					
						
							|  |  |  |           // Full utilisation would be all disks on each node spending an average of | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           // 1 second per second doing I/O, normalize by metric cardinality for stacked charts. | 
					
						
							| 
									
										
										
										
											2019-07-22 05:06:27 -07:00
										 |  |  |           // TODO: Does the partition by device make sense? Using the most utilized device per | 
					
						
							|  |  |  |           // instance might make more sense. | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           g.queryPanel(||| | 
					
						
							| 
									
										
										
										
											2019-10-30 14:52:36 -07:00
										 |  |  |             instance_device:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s} | 
					
						
							|  |  |  |             / scalar(count(instance_device:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s})) | 
					
						
							| 
									
										
										
										
											2019-07-18 06:59:35 -07:00
										 |  |  |           ||| % $._config, '{{instance}} {{device}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							|  |  |  |           { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Disk IO Saturation') + | 
					
						
							|  |  |  |           g.queryPanel(||| | 
					
						
							| 
									
										
										
										
											2019-10-30 14:52:36 -07:00
										 |  |  |             instance_device:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s} | 
					
						
							|  |  |  |             / scalar(count(instance_device:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s})) | 
					
						
							| 
									
										
										
										
											2019-07-18 06:59:35 -07:00
										 |  |  |           ||| % $._config, '{{instance}} {{device}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							|  |  |  |           { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |         g.row('Disk Space') | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-07-22 05:06:27 -07:00
										 |  |  |           g.panel('Disk Space Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           g.queryPanel(||| | 
					
						
							| 
									
										
										
										
											2019-10-30 14:52:36 -07:00
										 |  |  |             sum without (device) ( | 
					
						
							|  |  |  |               max without (fstype, mountpoint) ( | 
					
						
							|  |  |  |                 node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s} - node_filesystem_avail_bytes{%(nodeExporterSelector)s, %(fsSelector)s} | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |               ) | 
					
						
							| 
									
										
										
										
											2019-10-30 14:52:36 -07:00
										 |  |  |             )  | 
					
						
							|  |  |  |             / scalar(sum(max without (fstype, mountpoint) (node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s}))) | 
					
						
							| 
									
										
										
										
											2019-07-16 10:34:27 -07:00
										 |  |  |           ||| % $._config, '{{instance}}', legendLink) + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           g.stack + | 
					
						
							|  |  |  |           { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 
					
						
							|  |  |  |         ), | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 06:40:20 -07:00
										 |  |  |     'node-rsrc-use.json': | 
					
						
							|  |  |  |       g.dashboard('USE Method / Node') | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |       .addTemplate('instance', 'up{%(nodeExporterSelector)s}' % $._config, 'instance') | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('CPU') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('CPU Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-07-18 05:14:02 -07:00
										 |  |  |           g.queryPanel('instance:node_cpu_utilisation:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes('percentunit'), | 
					
						
							|  |  |  |             legend+: { show: false }, | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-07-22 05:06:27 -07:00
										 |  |  |           // TODO: Is this a useful panel? At least there should be some explanation how load | 
					
						
							|  |  |  |           // average relates to the "CPU saturation" in the title. | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           g.panel('CPU Saturation (Load1 per CPU)') + | 
					
						
							|  |  |  |           g.queryPanel('instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Saturation') + | 
					
						
							|  |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes('percentunit'), | 
					
						
							|  |  |  |             legend+: { show: false }, | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('Memory') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Memory Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |           g.queryPanel('instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s, %(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Memory') + | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |           { yaxes: g.yaxes('percentunit') }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-10-24 09:13:36 -07:00
										 |  |  |           g.panel('Memory Saturation (Major Page Faults)') + | 
					
						
							|  |  |  |           g.queryPanel('instance:node_vmstat_pgmajfault:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Major page faults') + | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes('short'), | 
					
						
							|  |  |  |             legend+: { show: false }, | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('Net') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-07-16 12:18:17 -07:00
										 |  |  |           g.panel('Net Utilisation (Bytes Receive/Transmit)') + | 
					
						
							|  |  |  |           g.queryPanel( | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |             [ | 
					
						
							| 
									
										
										
										
											2019-07-22 11:21:52 -07:00
										 |  |  |               'instance:node_network_receive_bytes_excluding_lo:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |               'instance:node_network_transmit_bytes_excluding_lo:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |             ], | 
					
						
							| 
									
										
										
										
											2019-07-16 12:18:17 -07:00
										 |  |  |             ['Receive', 'Transmit'], | 
					
						
							|  |  |  |           ) + | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes({ format: 'Bps', min: null }), | 
					
						
							|  |  |  |             seriesOverrides: [ | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/Receive/', | 
					
						
							|  |  |  |                 stack: 'A', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/Transmit/', | 
					
						
							|  |  |  |                 stack: 'B', | 
					
						
							|  |  |  |                 transform: 'negative-Y', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-07-16 12:18:17 -07:00
										 |  |  |           g.panel('Net Saturation (Drops Receive/Transmit)') + | 
					
						
							|  |  |  |           g.queryPanel( | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |             [ | 
					
						
							| 
									
										
										
										
											2019-07-22 11:21:52 -07:00
										 |  |  |               'instance:node_network_receive_drop_excluding_lo:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |               'instance:node_network_transmit_drop_excluding_lo:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, | 
					
						
							| 
									
										
										
										
											2019-07-17 14:54:31 -07:00
										 |  |  |             ], | 
					
						
							| 
									
										
										
										
											2019-07-16 12:18:17 -07:00
										 |  |  |             ['Receive drops', 'Transmit drops'], | 
					
						
							|  |  |  |           ) + | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes({ format: 'rps', min: null }), | 
					
						
							|  |  |  |             seriesOverrides: [ | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/Receive/', | 
					
						
							|  |  |  |                 stack: 'A', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |               { | 
					
						
							|  |  |  |                 alias: '/Transmit/', | 
					
						
							|  |  |  |                 stack: 'B', | 
					
						
							|  |  |  |                 transform: 'negative-Y', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |         g.row('Disk IO') | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         .addPanel( | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           g.panel('Disk IO Utilisation') + | 
					
						
							|  |  |  |           g.queryPanel('instance_device:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, '{{device}}') + | 
					
						
							|  |  |  |           { yaxes: g.yaxes('percentunit') }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Disk IO Saturation') + | 
					
						
							|  |  |  |           g.queryPanel('instance_device:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, '{{device}}') + | 
					
						
							|  |  |  |           { yaxes: g.yaxes('percentunit') }, | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .addRow( | 
					
						
							|  |  |  |         g.row('Disk Space') | 
					
						
							|  |  |  |         .addPanel( | 
					
						
							|  |  |  |           g.panel('Disk Space Utilisation') + | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |           g.queryPanel(||| | 
					
						
							|  |  |  |             1 - | 
					
						
							|  |  |  |             ( | 
					
						
							| 
									
										
										
										
											2019-09-12 04:55:12 -07:00
										 |  |  |               max without (mountpoint, fstype) (node_filesystem_avail_bytes{%(nodeExporterSelector)s, %(fsSelector)s, instance="$instance"}) | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |             / | 
					
						
							| 
									
										
										
										
											2019-09-12 04:55:12 -07:00
										 |  |  |               max without (mountpoint, fstype) (node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s, instance="$instance"}) | 
					
						
							| 
									
										
										
										
											2019-07-12 13:58:43 -07:00
										 |  |  |             ) | 
					
						
							| 
									
										
										
										
											2019-08-13 12:54:28 -07:00
										 |  |  |           ||| % $._config, '{{device}}') + | 
					
						
							|  |  |  |           { | 
					
						
							|  |  |  |             yaxes: g.yaxes('percentunit'), | 
					
						
							|  |  |  |             legend+: { show: false }, | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2018-05-08 03:10:29 -07:00
										 |  |  |         ), | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | } |