grafana-dashboards/prometheus/apache-http-mixin/dashboards/apache-exporter-full.libsonnet
Vitaly Zhuravlev 7de51eeedd Transform dashboard to use grafonnet library
But it is the same dashboard as the output.
2022-05-11 15:11:33 +04:00

686 lines
18 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: 'host',
multi: false,
name: 'host',
options: [],
query: 'label_values(apache_up, instance)',
refresh: 2,
regex: '/([^:]+):.*/',
sort: 1,
tagValuesQuery: '',
tags: [],
tagsQuery: '',
type: 'query',
useTags: false,
},
{
allValue: null,
current: {},
datasource: '${datasource}',
hide: 2,
includeAll: false,
label: null,
multi: false,
name: 'port',
options: [],
query: 'label_values(apache_up, instance)',
refresh: 1,
regex: '/[^:]+:(.*)/',
sort: 0,
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: [
'mean',
],
fields: '',
values: false,
},
textMode: 'auto',
},
pluginVersion: '8.4.5',
targets: [
{
expr: 'apache_uptime_seconds_total{instance=~"$host:$port"}',
format: 'time_series',
intervalFactor: 1,
refId: 'A',
step: 240,
},
],
title: 'Uptime',
type: 'stat',
},
{
aliasColors: {},
bars: false,
dashLength: 10,
dashes: false,
datasource: {
uid: '${datasource}',
},
decimals: 0,
fill: 7,
fillGradient: 0,
gridPos: {
h: 3,
w: 20,
x: 4,
y: 0,
},
hiddenSeries: false,
id: 5,
legend: {
alignAsTable: true,
avg: true,
current: true,
max: true,
min: true,
rightSide: true,
show: true,
total: false,
values: true,
},
lines: true,
linewidth: 3,
links: [],
nullPointMode: 'null',
options: {
alertThreshold: true,
},
percentage: false,
pluginVersion: '8.4.5',
pointradius: 5,
points: false,
renderer: 'flot',
seriesOverrides: [
{
alias: 'Apache Down',
color: '#BF1B00',
},
{
alias: 'Apache Down',
transform: 'negative-Y',
},
],
spaceLength: 10,
stack: false,
steppedLine: false,
targets: [
{
expr: 'count(apache_up{instance=~"$host:$port"} == 1)',
format: 'time_series',
intervalFactor: 1,
legendFormat: 'Apache Up',
refId: 'A',
step: 240,
},
{
expr: 'scalar(count(apache_up{instance=~"$host:$port"} == 0))',
format: 'time_series',
intervalFactor: 1,
legendFormat: 'Apache Down',
refId: 'B',
step: 240,
},
],
thresholds: [],
timeRegions: [],
title: 'Apache Up / Down',
tooltip: {
shared: true,
sort: 0,
value_type: 'individual',
},
type: 'graph',
xaxis: {
mode: 'time',
show: true,
values: [],
},
yaxes: [
{
format: 'short',
logBase: 1,
max: '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: 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=~"$host:$port"}[5m])',
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=~"$host:$port"}[5m])',
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=~"$host:$port"}',
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=~"$host:$port"}\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=~"$host:$port"}',
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,
},
},
]),
},
}