Skip to content

Commit 9c875f4

Browse files
authored
Merge branch 'master' into windows-multicluster
2 parents d1a9a34 + 481475d commit 9c875f4

File tree

11 files changed

+800
-141
lines changed

11 files changed

+800
-141
lines changed

.github/workflows/ci.yaml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
- push
44
- pull_request
55
env:
6-
golang-version: '1.16'
6+
golang-version: '1.17'
77
jobs:
88
generate:
99
runs-on: ubuntu-latest
@@ -23,6 +23,9 @@ jobs:
2323
- uses: actions/checkout@v2
2424
with:
2525
persist-credentials: false
26+
- uses: actions/setup-go@v2
27+
with:
28+
go-version: ${{ env.golang-version }}
2629
- run: make --always-make lint
2730
fmt:
2831
runs-on: ubuntu-latest
@@ -31,6 +34,9 @@ jobs:
3134
- uses: actions/checkout@v2
3235
with:
3336
persist-credentials: false
37+
- uses: actions/setup-go@v2
38+
with:
39+
go-version: ${{ env.golang-version }}
3440
- run: make --always-make fmt && git diff --exit-code
3541
unit-tests:
3642
runs-on: ubuntu-latest
@@ -39,4 +45,7 @@ jobs:
3945
- uses: actions/checkout@v2
4046
with:
4147
persist-credentials: false
48+
- uses: actions/setup-go@v2
49+
with:
50+
go-version: ${{ env.golang-version }}
4251
- run: make --always-make test

.lint

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
exclusions:
2+
template-job-rule:
3+
panel-job-instance-rule:

Makefile

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
BIN_DIR ?= $(shell pwd)/tmp/bin
22

33
JSONNET_VENDOR=vendor
4+
GRAFANA_DASHBOARD_LINTER_BIN=$(BIN_DIR)/dashboard-linter
45
JB_BIN=$(BIN_DIR)/jb
56
JSONNET_BIN=$(BIN_DIR)/jsonnet
67
JSONNETLINT_BIN=$(BIN_DIR)/jsonnet-lint
78
JSONNETFMT_BIN=$(BIN_DIR)/jsonnetfmt
89
PROMTOOL_BIN=$(BIN_DIR)/promtool
9-
TOOLING=$(JB_BIN) $(JSONNETLINT_BIN) $(JSONNET_BIN) $(JSONNETFMT_BIN) $(PROMTOOL_BIN)
10+
TOOLING=$(JB_BIN) $(JSONNETLINT_BIN) $(JSONNET_BIN) $(JSONNETFMT_BIN) $(PROMTOOL_BIN) $(GRAFANA_DASHBOARD_LINTER_BIN)
1011
JSONNETFMT_ARGS=-n 2 --max-blank-lines 2 --string-style s --comment-style s
1112

1213
.PHONY: all
1314
all: fmt generate lint test
1415

1516
.PHONY: generate
16-
generate: prometheus_alerts.yaml prometheus_rules.yaml dashboards_out
17+
generate: prometheus_alerts.yaml prometheus_rules.yaml dashboards_out/.lint
1718

1819
$(JSONNET_VENDOR): $(JB_BIN) jsonnetfile.json
1920
$(JB_BIN) install
@@ -29,18 +30,26 @@ prometheus_alerts.yaml: $(JSONNET_BIN) mixin.libsonnet lib/alerts.jsonnet alerts
2930
prometheus_rules.yaml: $(JSONNET_BIN) mixin.libsonnet lib/rules.jsonnet rules/*.libsonnet
3031
@$(JSONNET_BIN) -J vendor -S lib/rules.jsonnet > $@
3132

32-
dashboards_out: $(JSONNET_BIN) $(JSONNET_VENDOR) mixin.libsonnet lib/dashboards.jsonnet dashboards/*.libsonnet
33+
dashboards_out/.lint: $(JSONNET_BIN) $(JSONNET_VENDOR) mixin.libsonnet lib/dashboards.jsonnet dashboards/*.libsonnet
3334
@mkdir -p dashboards_out
3435
@$(JSONNET_BIN) -J vendor -m dashboards_out lib/dashboards.jsonnet
36+
@cp .lint $@
3537

3638
.PHONY: lint
37-
lint: $(PROMTOOL_BIN) $(JSONNET_VENDOR) prometheus_alerts.yaml prometheus_rules.yaml
39+
lint: $(PROMTOOL_BIN) $(JSONNET_VENDOR) prometheus_alerts.yaml prometheus_rules.yaml dashboard_lint
3840
find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
3941
xargs -n 1 -- $(JSONNETLINT_BIN) -J vendor
4042

4143
@$(PROMTOOL_BIN) check rules prometheus_rules.yaml
4244
@$(PROMTOOL_BIN) check rules prometheus_alerts.yaml
4345

46+
.PHONY: dashboard_lint
47+
dashboard_lint: dashboards_out/.lint
48+
# Replace $$interval:$$resolution var with $$__rate_interval to make dashboard-linter happy.
49+
@sed -i -e 's/$$interval:$$resolution/$$__rate_interval/g' dashboards_out/*.json
50+
@find dashboards_out -name '*.json' -print0 | xargs -n 1 -0 $(GRAFANA_DASHBOARD_LINTER_BIN) lint --strict
51+
52+
4453
.PHONY: clean
4554
clean:
4655
# Remove all files and directories ignored by git.

config.libsonnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
hostNetworkInterfaceSelector: 'device!~"veth.+"',
3131
hostMountpointSelector: 'mountpoint="/"',
3232
windowsExporterSelector: 'job="kubernetes-windows-exporter"',
33+
containerfsSelector: 'container!=""',
3334

3435
// Grafana dashboard IDs are necessary for stable links for dashboards
3536
grafanaDashboardIDs: {

dashboards/resources/cluster.libsonnet

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,12 @@ local template = grafana.template;
8585
};
8686

8787
local storageIOColumns = [
88-
'sum by(namespace) (rate(container_fs_reads_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config,
89-
'sum by(namespace) (rate(container_fs_writes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config,
90-
'sum by(namespace) (rate(container_fs_reads_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config,
91-
'sum by(namespace) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config,
92-
'sum by(namespace) (rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config,
93-
'sum by(namespace) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config,
88+
'sum by(namespace) (rate(container_fs_reads_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config,
89+
'sum by(namespace) (rate(container_fs_writes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config,
90+
'sum by(namespace) (rate(container_fs_reads_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config,
91+
'sum by(namespace) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config,
92+
'sum by(namespace) (rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config,
93+
'sum by(namespace) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config,
9494
];
9595

9696
local storageIOTableStyles = {
@@ -295,14 +295,14 @@ local template = grafana.template;
295295
g.row('Storage IO')
296296
.addPanel(
297297
g.panel('IOPS(Reads+Writes)') +
298-
g.queryPanel('ceil(sum by(namespace) (rate(container_fs_reads_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s])))' % $._config, '{{namespace}}') +
298+
g.queryPanel('ceil(sum by(namespace) (rate(container_fs_reads_total{%(cadvisorSelector)s, %(containerfsSelector)s, %(diskDeviceSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(cadvisorSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s])))' % $._config, '{{namespace}}') +
299299
g.stack +
300300
{ yaxes: g.yaxes('short'), decimals: -1 },
301301

302302
)
303303
.addPanel(
304304
g.panel('ThroughPut(Read+Write)') +
305-
g.queryPanel('sum by(namespace) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster"}[%(grafanaIntervalVar)s]))' % $._config, '{{namespace}}') +
305+
g.queryPanel('sum by(namespace) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, %(containerfsSelector)s, %(diskDeviceSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace!=""}[%(grafanaIntervalVar)s]))' % $._config, '{{namespace}}') +
306306
g.stack +
307307
{ yaxes: g.yaxes('Bps') },
308308
)

dashboards/resources/namespace.libsonnet

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ local template = grafana.template;
7878
};
7979

8080
local cpuUsageQuery = 'sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{%(clusterLabel)s="$cluster", namespace="$namespace"}) by (pod)' % $._config;
81-
8281
local memoryUsageQuery = 'sum(container_memory_working_set_bytes{%(cadvisorSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace", container!="", image!=""}) by (pod)' % $._config;
8382

8483
local cpuQuotaRequestsQuery = 'scalar(kube_resourcequota{%(clusterLabel)s="$cluster", namespace="$namespace", type="hard",resource="requests.cpu"})' % $._config;
@@ -87,12 +86,12 @@ local template = grafana.template;
8786
local memoryQuotaLimitsQuery = std.strReplace(cpuQuotaRequestsQuery, 'requests.cpu', 'limits.memory');
8887

8988
local storageIOColumns = [
90-
'sum by(pod) (rate(container_fs_reads_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
91-
'sum by(pod) (rate(container_fs_writes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
92-
'sum by(pod) (rate(container_fs_reads_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
93-
'sum by(pod) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
94-
'sum by(pod) (rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
95-
'sum by(pod) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
89+
'sum by(pod) (rate(container_fs_reads_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
90+
'sum by(pod) (rate(container_fs_writes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
91+
'sum by(pod) (rate(container_fs_reads_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
92+
'sum by(pod) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
93+
'sum by(pod) (rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
94+
'sum by(pod) (rate(container_fs_reads_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(cadvisorSelector)s, %(diskDeviceSelector)s, %(containerfsSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config,
9695
];
9796

9897
local storageIOTableStyles = {
@@ -337,14 +336,14 @@ local template = grafana.template;
337336
g.row('Storage IO')
338337
.addPanel(
339338
g.panel('IOPS(Reads+Writes)') +
340-
g.queryPanel('ceil(sum by(pod) (rate(container_fs_reads_total{container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s])))' % $._config, '{{pod}}') +
339+
g.queryPanel('ceil(sum by(pod) (rate(container_fs_reads_total{%(containerfsSelector)s, %(diskDeviceSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_total{%(containerfsSelector)s, %(diskDeviceSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s])))' % $._config, '{{pod}}') +
341340
g.stack +
342341
{ yaxes: g.yaxes('short'), decimals: -1 },
343342

344343
)
345344
.addPanel(
346345
g.panel('ThroughPut(Read+Write)') +
347-
g.queryPanel('sum by(pod) (rate(container_fs_reads_bytes_total{container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{container!="", %(clusterLabel)s="$cluster",namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config, '{{pod}}') +
346+
g.queryPanel('sum by(pod) (rate(container_fs_reads_bytes_total{%(containerfsSelector)s, %(diskDeviceSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]) + rate(container_fs_writes_bytes_total{%(containerfsSelector)s, %(diskDeviceSelector)s, %(clusterLabel)s="$cluster", namespace="$namespace"}[%(grafanaIntervalVar)s]))' % $._config, '{{pod}}') +
348347
g.stack +
349348
{ yaxes: g.yaxes('Bps') },
350349
)

0 commit comments

Comments
 (0)