mirror of
				https://github.com/rfmoz/grafana-dashboards.git
				synced 2025-03-05 20:51:45 -08:00 
			
		
		
		
	... instead of 5m. This is recommended best practice so rate graphs look nice on all timeframes https://grafana.com/blog/2020/09/28/new-in-grafana-7.2-__rate_interval-for-prometheus-rate-queries-that-just-work/
		
			
				
	
	
		
			649 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			649 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet';
 | |
| local dashboard = grafana.dashboard;
 | |
| local row = grafana.row;
 | |
| local prometheus = grafana.prometheus;
 | |
| local graphPanel = grafana.graphPanel;
 | |
| 
 | |
| {
 | |
|   grafanaDashboards+:: {
 | |
|     'apache-http.json':
 | |
|       dashboard.new(
 | |
|         'Apache Dashboard',
 | |
|         time_from='%s' % $._config.dashboardPeriod,
 | |
|         editable=false,
 | |
|         tags=($._config.dashboardTags),
 | |
|         timezone='%s' % $._config.dashboardTimezone,
 | |
|         refresh='%s' % $._config.dashboardRefresh,
 | |
|         graphTooltip='shared_crosshair',
 | |
|       ).addTemplates(
 | |
|         [
 | |
|           {
 | |
|             current: {
 | |
|               text: 'default',
 | |
|               value: 'default',
 | |
|             },
 | |
|             hide: 0,
 | |
|             label: 'Data Source',
 | |
|             name: 'datasource',
 | |
|             options: [],
 | |
|             query: 'prometheus',
 | |
|             refresh: 1,
 | |
|             regex: '',
 | |
|             type: 'datasource',
 | |
|           },
 | |
|           {
 | |
|             allValue: null,
 | |
|             current: {},
 | |
|             datasource: '${datasource}',
 | |
|             hide: 0,
 | |
|             includeAll: false,
 | |
|             label: 'instance',
 | |
|             multi: false,
 | |
|             name: 'instance',
 | |
|             options: [],
 | |
|             query: 'label_values(apache_up, instance)',
 | |
|             refresh: 2,
 | |
|             sort: 1,
 | |
|             tagValuesQuery: '',
 | |
|             tags: [],
 | |
|             tagsQuery: '',
 | |
|             type: 'query',
 | |
|             useTags: false,
 | |
|           },
 | |
|         ]
 | |
|       )
 | |
|       .addPanels([
 | |
|         {
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|           },
 | |
|           fieldConfig: {
 | |
|             defaults: {
 | |
|               color: {
 | |
|                 mode: 'thresholds',
 | |
|               },
 | |
|               decimals: 1,
 | |
|               mappings: [
 | |
|                 {
 | |
|                   options: {
 | |
|                     match: 'null',
 | |
|                     result: {
 | |
|                       text: 'N/A',
 | |
|                     },
 | |
|                   },
 | |
|                   type: 'special',
 | |
|                 },
 | |
|               ],
 | |
|               thresholds: {
 | |
|                 mode: 'absolute',
 | |
|                 steps: [
 | |
|                   {
 | |
|                     color: 'green',
 | |
|                     value: null,
 | |
|                   },
 | |
|                   {
 | |
|                     color: 'red',
 | |
|                     value: 80,
 | |
|                   },
 | |
|                 ],
 | |
|               },
 | |
|               unit: 's',
 | |
|             },
 | |
|             overrides: [],
 | |
|           },
 | |
|           gridPos: {
 | |
|             h: 3,
 | |
|             w: 4,
 | |
|             x: 0,
 | |
|             y: 0,
 | |
|           },
 | |
|           id: 8,
 | |
|           links: [],
 | |
|           maxDataPoints: 100,
 | |
|           options: {
 | |
|             colorMode: 'none',
 | |
|             graphMode: 'none',
 | |
|             justifyMode: 'auto',
 | |
|             orientation: 'horizontal',
 | |
|             reduceOptions: {
 | |
|               calcs: [
 | |
|                 'lastNotNull',
 | |
|               ],
 | |
|               fields: '',
 | |
|               values: false,
 | |
|             },
 | |
|             textMode: 'auto',
 | |
|           },
 | |
|           pluginVersion: '8.4.5',
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'apache_uptime_seconds_total{instance=~"$instance"}',
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|             },
 | |
|           ],
 | |
|           title: 'Uptime',
 | |
|           type: 'stat',
 | |
|         },
 | |
|         {
 | |
|           id: 5,
 | |
|           gridPos: {
 | |
|             h: 3,
 | |
|             w: 20,
 | |
|             x: 4,
 | |
|             y: 0,
 | |
|           },
 | |
|           type: 'state-timeline',
 | |
|           title: 'Apache Up / Down',
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|             type: 'prometheus',
 | |
|           },
 | |
|           pluginVersion: '8.4.5',
 | |
|           links: [],
 | |
|           options: {
 | |
|             mergeValues: false,
 | |
|             showValue: 'never',
 | |
|             alignValue: 'left',
 | |
|             rowHeight: 0.9,
 | |
|             legend: {
 | |
|               displayMode: 'list',
 | |
|               placement: 'right',
 | |
|             },
 | |
|             tooltip: {
 | |
|               mode: 'single',
 | |
|               sort: 'none',
 | |
|             },
 | |
|           },
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'apache_up{instance=~"$instance"}',
 | |
|               legendFormat: 'Apache up',
 | |
|               interval: '',
 | |
|               exemplar: true,
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|               datasource: {
 | |
|                 type: 'prometheus',
 | |
|                 uid: 'grafanacloud-prom',
 | |
|               },
 | |
|             },
 | |
|           ],
 | |
|           fieldConfig: {
 | |
|             defaults: {
 | |
|               custom: {
 | |
|                 lineWidth: 0,
 | |
|                 fillOpacity: 70,
 | |
|                 spanNulls: false,
 | |
|               },
 | |
|               color: {
 | |
|                 mode: 'continuous-GrYlRd',
 | |
|               },
 | |
|               mappings: [
 | |
|                 {
 | |
|                   type: 'value',
 | |
|                   options: {
 | |
|                     '0': {
 | |
|                       text: 'Down',
 | |
|                       color: 'red',
 | |
|                       index: 1,
 | |
|                     },
 | |
|                     '1': {
 | |
|                       text: 'Up',
 | |
|                       color: 'green',
 | |
|                       index: 0,
 | |
|                     },
 | |
|                   },
 | |
|                 },
 | |
|               ],
 | |
|               thresholds: {
 | |
|                 mode: 'absolute',
 | |
|                 steps: [
 | |
|                   {
 | |
|                     color: 'green',
 | |
|                     value: null,
 | |
|                   },
 | |
|                 ],
 | |
|               },
 | |
|             },
 | |
|             overrides: [],
 | |
|           },
 | |
|           timeFrom: null,
 | |
|           timeShift: null,
 | |
|         },
 | |
|         {
 | |
|           aliasColors: {},
 | |
|           bars: false,
 | |
|           dashLength: 10,
 | |
|           dashes: false,
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|           },
 | |
|           decimals: 2,
 | |
|           fill: 1,
 | |
|           fillGradient: 0,
 | |
|           gridPos: {
 | |
|             h: 10,
 | |
|             w: 12,
 | |
|             x: 0,
 | |
|             y: 3,
 | |
|           },
 | |
|           hiddenSeries: false,
 | |
|           id: 3,
 | |
|           legend: {
 | |
|             alignAsTable: true,
 | |
|             avg: true,
 | |
|             current: true,
 | |
|             max: true,
 | |
|             min: true,
 | |
|             show: true,
 | |
|             total: false,
 | |
|             values: true,
 | |
|           },
 | |
|           lines: true,
 | |
|           linewidth: 1,
 | |
|           links: [],
 | |
|           nullPointMode: 'null',
 | |
|           options: {
 | |
|             alertThreshold: true,
 | |
|           },
 | |
|           percentage: false,
 | |
|           pluginVersion: '8.4.5',
 | |
|           pointradius: 5,
 | |
|           points: false,
 | |
|           renderer: 'flot',
 | |
|           seriesOverrides: [],
 | |
|           spaceLength: 10,
 | |
|           stack: false,
 | |
|           steppedLine: false,
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'rate(apache_sent_kilobytes_total{instance=~"$instance"}[$__rate_interval])',
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               legendFormat: 'Kilobytes Sent',
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|             },
 | |
|           ],
 | |
|           thresholds: [],
 | |
|           timeRegions: [],
 | |
|           title: 'Current total kbytes sent',
 | |
|           tooltip: {
 | |
|             shared: true,
 | |
|             sort: 0,
 | |
|             value_type: 'individual',
 | |
|           },
 | |
|           type: 'graph',
 | |
|           xaxis: {
 | |
|             mode: 'time',
 | |
|             show: true,
 | |
|             values: [],
 | |
|           },
 | |
|           yaxes: [
 | |
|             {
 | |
|               format: 'deckbytes',
 | |
|               logBase: 1,
 | |
|               show: true,
 | |
|             },
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: false,
 | |
|             },
 | |
|           ],
 | |
|           yaxis: {
 | |
|             align: false,
 | |
|           },
 | |
|         },
 | |
|         {
 | |
|           aliasColors: {},
 | |
|           bars: false,
 | |
|           dashLength: 10,
 | |
|           dashes: false,
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|           },
 | |
|           decimals: 2,
 | |
|           fill: 1,
 | |
|           fillGradient: 0,
 | |
|           gridPos: {
 | |
|             h: 10,
 | |
|             w: 12,
 | |
|             x: 12,
 | |
|             y: 3,
 | |
|           },
 | |
|           hiddenSeries: false,
 | |
|           id: 1,
 | |
|           legend: {
 | |
|             alignAsTable: true,
 | |
|             avg: true,
 | |
|             current: true,
 | |
|             max: true,
 | |
|             min: true,
 | |
|             show: true,
 | |
|             total: false,
 | |
|             values: true,
 | |
|           },
 | |
|           lines: true,
 | |
|           linewidth: 1,
 | |
|           links: [],
 | |
|           nullPointMode: 'null',
 | |
|           options: {
 | |
|             alertThreshold: true,
 | |
|           },
 | |
|           percentage: false,
 | |
|           pluginVersion: '8.4.5',
 | |
|           pointradius: 5,
 | |
|           points: false,
 | |
|           renderer: 'flot',
 | |
|           seriesOverrides: [],
 | |
|           spaceLength: 10,
 | |
|           stack: false,
 | |
|           steppedLine: false,
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'rate(apache_accesses_total{instance=~"$instance"}[$__rate_interval])',
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               legendFormat: 'Accesses',
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|             },
 | |
|           ],
 | |
|           thresholds: [],
 | |
|           timeRegions: [],
 | |
|           title: 'Current total apache accesses',
 | |
|           tooltip: {
 | |
|             shared: true,
 | |
|             sort: 0,
 | |
|             value_type: 'individual',
 | |
|           },
 | |
|           type: 'graph',
 | |
|           xaxis: {
 | |
|             mode: 'time',
 | |
|             show: true,
 | |
|             values: [],
 | |
|           },
 | |
|           yaxes: [
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: true,
 | |
|             },
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: false,
 | |
|             },
 | |
|           ],
 | |
|           yaxis: {
 | |
|             align: false,
 | |
|           },
 | |
|         },
 | |
|         {
 | |
|           aliasColors: {},
 | |
|           bars: false,
 | |
|           dashLength: 10,
 | |
|           dashes: false,
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|           },
 | |
|           decimals: 2,
 | |
|           fill: 1,
 | |
|           fillGradient: 0,
 | |
|           gridPos: {
 | |
|             h: 10,
 | |
|             w: 24,
 | |
|             x: 0,
 | |
|             y: 13,
 | |
|           },
 | |
|           hiddenSeries: false,
 | |
|           id: 2,
 | |
|           legend: {
 | |
|             alignAsTable: true,
 | |
|             avg: true,
 | |
|             current: true,
 | |
|             max: true,
 | |
|             min: true,
 | |
|             rightSide: true,
 | |
|             show: true,
 | |
|             total: false,
 | |
|             values: true,
 | |
|           },
 | |
|           lines: true,
 | |
|           linewidth: 1,
 | |
|           links: [],
 | |
|           nullPointMode: 'null',
 | |
|           options: {
 | |
|             alertThreshold: true,
 | |
|           },
 | |
|           percentage: false,
 | |
|           pluginVersion: '8.4.5',
 | |
|           pointradius: 5,
 | |
|           points: false,
 | |
|           renderer: 'flot',
 | |
|           seriesOverrides: [],
 | |
|           spaceLength: 10,
 | |
|           stack: true,
 | |
|           steppedLine: false,
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'apache_scoreboard{instance=~"$instance"}',
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               legendFormat: '{{ state }}',
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|             },
 | |
|           ],
 | |
|           thresholds: [],
 | |
|           timeRegions: [],
 | |
|           title: 'Apache scoreboard statuses',
 | |
|           tooltip: {
 | |
|             shared: true,
 | |
|             sort: 0,
 | |
|             value_type: 'individual',
 | |
|           },
 | |
|           type: 'graph',
 | |
|           xaxis: {
 | |
|             mode: 'time',
 | |
|             show: true,
 | |
|             values: [],
 | |
|           },
 | |
|           yaxes: [
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: true,
 | |
|             },
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: false,
 | |
|             },
 | |
|           ],
 | |
|           yaxis: {
 | |
|             align: false,
 | |
|           },
 | |
|         },
 | |
|         {
 | |
|           aliasColors: {},
 | |
|           bars: false,
 | |
|           dashLength: 10,
 | |
|           dashes: false,
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|           },
 | |
|           decimals: 2,
 | |
|           fill: 1,
 | |
|           fillGradient: 0,
 | |
|           gridPos: {
 | |
|             h: 10,
 | |
|             w: 12,
 | |
|             x: 0,
 | |
|             y: 23,
 | |
|           },
 | |
|           hiddenSeries: false,
 | |
|           id: 7,
 | |
|           legend: {
 | |
|             alignAsTable: true,
 | |
|             avg: true,
 | |
|             current: true,
 | |
|             max: true,
 | |
|             min: true,
 | |
|             show: true,
 | |
|             total: false,
 | |
|             values: true,
 | |
|           },
 | |
|           lines: true,
 | |
|           linewidth: 1,
 | |
|           links: [],
 | |
|           nullPointMode: 'null',
 | |
|           options: {
 | |
|             alertThreshold: true,
 | |
|           },
 | |
|           percentage: false,
 | |
|           pluginVersion: '8.4.5',
 | |
|           pointradius: 5,
 | |
|           points: false,
 | |
|           renderer: 'flot',
 | |
|           seriesOverrides: [],
 | |
|           spaceLength: 10,
 | |
|           stack: true,
 | |
|           steppedLine: false,
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'apache_workers{instance=~"$instance"}\n',
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               legendFormat: '{{ state }}',
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|             },
 | |
|           ],
 | |
|           thresholds: [],
 | |
|           timeRegions: [],
 | |
|           title: 'Apache worker statuses',
 | |
|           tooltip: {
 | |
|             shared: true,
 | |
|             sort: 0,
 | |
|             value_type: 'individual',
 | |
|           },
 | |
|           type: 'graph',
 | |
|           xaxis: {
 | |
|             mode: 'time',
 | |
|             show: true,
 | |
|             values: [],
 | |
|           },
 | |
|           yaxes: [
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: true,
 | |
|             },
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: false,
 | |
|             },
 | |
|           ],
 | |
|           yaxis: {
 | |
|             align: false,
 | |
|           },
 | |
|         },
 | |
|         {
 | |
|           aliasColors: {},
 | |
|           bars: false,
 | |
|           dashLength: 10,
 | |
|           dashes: false,
 | |
|           datasource: {
 | |
|             uid: '${datasource}',
 | |
|           },
 | |
|           decimals: 2,
 | |
|           fill: 1,
 | |
|           fillGradient: 0,
 | |
|           gridPos: {
 | |
|             h: 10,
 | |
|             w: 12,
 | |
|             x: 12,
 | |
|             y: 23,
 | |
|           },
 | |
|           hiddenSeries: false,
 | |
|           id: 4,
 | |
|           legend: {
 | |
|             alignAsTable: true,
 | |
|             avg: true,
 | |
|             current: true,
 | |
|             max: true,
 | |
|             min: true,
 | |
|             show: true,
 | |
|             total: false,
 | |
|             values: true,
 | |
|           },
 | |
|           lines: true,
 | |
|           linewidth: 1,
 | |
|           links: [],
 | |
|           nullPointMode: 'null',
 | |
|           options: {
 | |
|             alertThreshold: true,
 | |
|           },
 | |
|           percentage: false,
 | |
|           pluginVersion: '8.4.5',
 | |
|           pointradius: 5,
 | |
|           points: false,
 | |
|           renderer: 'flot',
 | |
|           seriesOverrides: [],
 | |
|           spaceLength: 10,
 | |
|           stack: false,
 | |
|           steppedLine: false,
 | |
|           targets: [
 | |
|             {
 | |
|               expr: 'apache_cpuload{instance=~"$instance"}',
 | |
|               format: 'time_series',
 | |
|               intervalFactor: 1,
 | |
|               legendFormat: 'Load',
 | |
|               refId: 'A',
 | |
|               step: 240,
 | |
|             },
 | |
|           ],
 | |
|           thresholds: [],
 | |
|           timeRegions: [],
 | |
|           title: 'Apache CPU load',
 | |
|           tooltip: {
 | |
|             shared: true,
 | |
|             sort: 0,
 | |
|             value_type: 'individual',
 | |
|           },
 | |
|           type: 'graph',
 | |
|           xaxis: {
 | |
|             mode: 'time',
 | |
|             show: true,
 | |
|             values: [],
 | |
|           },
 | |
|           yaxes: [
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               min: '0',
 | |
|               show: true,
 | |
|             },
 | |
|             {
 | |
|               format: 'short',
 | |
|               logBase: 1,
 | |
|               show: false,
 | |
|             },
 | |
|           ],
 | |
|           yaxis: {
 | |
|             align: false,
 | |
|           },
 | |
|         },
 | |
|       ]),
 | |
| 
 | |
|   },
 | |
| }
 |