Skip to content

Commit

Permalink
Loki Prometheus mixin: templatize cluster label (#6353)
Browse files Browse the repository at this point in the history
  • Loading branch information
hervenicol committed Jun 13, 2022
1 parent aed11c2 commit 459036f
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 22 deletions.
1 change: 1 addition & 0 deletions production/loki-mixin/config.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@

// The label used to differentiate between different nodes (i.e. servers).
per_node_label: 'instance',
per_cluster_label: 'cluster',
},
}
20 changes: 10 additions & 10 deletions production/loki-mixin/dashboards/dashboard-utils.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ local utils = import 'mixin-utils/utils.libsonnet';

addCluster(multi=false)::
if multi then
self.addMultiTemplate('cluster', 'loki_build_info', 'cluster')
self.addMultiTemplate('cluster', 'loki_build_info', $._config.per_cluster_label)
else
self.addTemplate('cluster', 'loki_build_info', 'cluster'),
self.addTemplate('cluster', 'loki_build_info', $._config.per_cluster_label),

addNamespace(multi=false)::
if multi then
self.addMultiTemplate('namespace', 'loki_build_info{cluster=~"$cluster"}', 'namespace')
self.addMultiTemplate('namespace', 'loki_build_info{' + $._config.per_cluster_label + '=~"$cluster"}', 'namespace')
else
self.addTemplate('namespace', 'loki_build_info{cluster=~"$cluster"}', 'namespace'),
self.addTemplate('namespace', 'loki_build_info{' + $._config.per_cluster_label + '=~"$cluster"}', 'namespace'),

addTag()::
self + {
Expand Down Expand Up @@ -74,18 +74,18 @@ local utils = import 'mixin-utils/utils.libsonnet';
};

if multi then
d.addMultiTemplate('cluster', 'loki_build_info', 'cluster')
.addMultiTemplate('namespace', 'loki_build_info{cluster=~"$cluster"}', 'namespace')
d.addMultiTemplate('cluster', 'loki_build_info', $._config.per_cluster_label)
.addMultiTemplate('namespace', 'loki_build_info{' + $._config.per_cluster_label + '=~"$cluster"}', 'namespace')
else
d.addTemplate('cluster', 'loki_build_info', 'cluster')
.addTemplate('namespace', 'loki_build_info{cluster=~"$cluster"}', 'namespace'),
d.addTemplate('cluster', 'loki_build_info', $._config.per_cluster_label)
.addTemplate('namespace', 'loki_build_info{' + $._config.per_cluster_label + '=~"$cluster"}', 'namespace'),
},

jobMatcher(job)::
'cluster=~"$cluster", job=~"($namespace)/%s"' % job,
$._config.per_cluster_label + '=~"$cluster", job=~"($namespace)/%s"' % job,

namespaceMatcher()::
'cluster=~"$cluster", namespace=~"$namespace"',
$._config.per_cluster_label + '=~"$cluster", namespace=~"$namespace"',

containerLabelMatcher(containerName)::
'label_name=~"%s.*"' % containerName,
Expand Down
2 changes: 1 addition & 1 deletion production/loki-mixin/dashboards/loki-chunks.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ local utils = import 'mixin-utils/utils.libsonnet';
local dashboards = self,
'loki-chunks.json': {
local cfg = self,
labelsSelector:: 'cluster="$cluster", job="$namespace/ingester"',
labelsSelector:: $._config.per_cluster_label + '="$cluster", job="$namespace/ingester"',
} +
$.dashboard('Loki / Chunks', uid='chunks')
.addCluster()
Expand Down
10 changes: 5 additions & 5 deletions production/loki-mixin/dashboards/loki-logs.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ local template = import 'grafonnet/template.libsonnet';
template.new(
'deployment',
'$datasource',
'label_values(kube_deployment_created{cluster="$cluster", namespace="$namespace"}, deployment)',
'label_values(kube_deployment_created{' + $._config.per_cluster_label + '="$cluster", namespace="$namespace"}, deployment)',
sort=1,
),

local podTemplate =
template.new(
'pod',
'$datasource',
'label_values(kube_pod_container_info{cluster="$cluster", namespace="$namespace", pod=~"$deployment.*"}, pod)',
'label_values(kube_pod_container_info{' + $._config.per_cluster_label + '="$cluster", namespace="$namespace", pod=~"$deployment.*"}, pod)',
sort=1,
),

local containerTemplate =
template.new(
'container',
'$datasource',
'label_values(kube_pod_container_info{cluster="$cluster", namespace="$namespace", pod=~"$pod", pod=~"$deployment.*"}, container)',
'label_values(kube_pod_container_info{' + $._config.per_cluster_label + '="$cluster", namespace="$namespace", pod=~"$pod", pod=~"$deployment.*"}, container)',
sort=1,
),

Expand All @@ -48,7 +48,7 @@ local template = import 'grafonnet/template.libsonnet';
local cfg = self,

showMultiCluster:: true,
clusterLabel:: 'cluster',
clusterLabel:: $._config.per_cluster_label,

} + lokiLogs +
$.dashboard('Loki / Logs', uid='logs')
Expand All @@ -62,7 +62,7 @@ local template = import 'grafonnet/template.libsonnet';
targets: [
e {
expr: if dashboards['loki-logs.json'].showMultiCluster then super.expr
else std.strReplace(super.expr, 'cluster="$cluster", ', ''),
else std.strReplace(super.expr, $._config.per_cluster_label + '="$cluster", ', ''),
}
for e in p.targets
],
Expand Down
8 changes: 4 additions & 4 deletions production/loki-mixin/dashboards/loki-operational.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ local utils = import 'mixin-utils/utils.libsonnet';
showAnnotations:: true,
showLinks:: true,
showMultiCluster:: true,
clusterLabel:: 'cluster',
clusterLabel:: $._config.per_cluster_label,

matchers:: {
cortexgateway: [utils.selector.re('job', '($namespace)/cortex-gw')],
Expand Down Expand Up @@ -44,13 +44,13 @@ local utils = import 'mixin-utils/utils.libsonnet';
std.strReplace(
std.strReplace(
expr,
', cluster="$cluster"',
', ' + $._config.per_cluster_label + '="$cluster"',
''
),
', cluster=~"$cluster"',
', ' + $._config.per_cluster_label + '=~"$cluster"',
''
),
'cluster="$cluster",',
$._config.per_cluster_label + '="$cluster",',
''
),

Expand Down
2 changes: 1 addition & 1 deletion production/loki-mixin/dashboards/loki-reads.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ local utils = import 'mixin-utils/utils.libsonnet';
local cfg = self,

showMultiCluster:: true,
clusterLabel:: 'cluster',
clusterLabel:: $._config.per_cluster_label,
clusterMatchers::
if cfg.showMultiCluster then
[utils.selector.re(cfg.clusterLabel, '$cluster')]
Expand Down
2 changes: 1 addition & 1 deletion production/loki-mixin/dashboards/loki-writes.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ local utils = import 'mixin-utils/utils.libsonnet';
local cfg = self,

showMultiCluster:: true,
clusterLabel:: 'cluster',
clusterLabel:: $._config.per_cluster_label,
clusterMatchers::
if cfg.showMultiCluster then
[utils.selector.re(cfg.clusterLabel, '$cluster')]
Expand Down

0 comments on commit 459036f

Please sign in to comment.