diff options
author | Tobias Schmidt <tobidt@gmail.com> | 2020-06-02 23:45:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-02 23:45:24 +0200 |
commit | 2c433cdac30181ac078c8558dc43c5da42638c07 (patch) | |
tree | 1b31c7e85b301e919fe90189aebe6ccfa61e29db | |
parent | 02532771213fcb024608043d7b1e514c1a80c2da (diff) | |
download | prometheus_node_collector-2c433cdac30181ac078c8558dc43c5da42638c07.tar.bz2 prometheus_node_collector-2c433cdac30181ac078c8558dc43c5da42638c07.tar.xz prometheus_node_collector-2c433cdac30181ac078c8558dc43c5da42638c07.zip |
Fix and simplify checkmetrics make target (#1731)
The checkmetrics target currently uses promtool v2.5.0 which doesn't
include many improvements done over the time. This change also
simplifies the promtool installation, avoiding a temporary directory by
extracting the file directly to the target destination.
Signed-off-by: Tobias Schmidt <tobidt@gmail.com>
-rw-r--r-- | Makefile | 8 | ||||
-rwxr-xr-x | checkmetrics.sh | 10 |
2 files changed, 6 insertions, 12 deletions
@@ -19,7 +19,7 @@ DOCKER_ARCHS ?= amd64 armv7 arm64 ppc64le s390x | |||
19 | 19 | ||
20 | include Makefile.common | 20 | include Makefile.common |
21 | 21 | ||
22 | PROMTOOL_VERSION ?= 2.5.0 | 22 | PROMTOOL_VERSION ?= 2.18.1 |
23 | PROMTOOL_URL ?= https://github.com/prometheus/prometheus/releases/download/v$(PROMTOOL_VERSION)/prometheus-$(PROMTOOL_VERSION).$(GO_BUILD_PLATFORM).tar.gz | 23 | PROMTOOL_URL ?= https://github.com/prometheus/prometheus/releases/download/v$(PROMTOOL_VERSION)/prometheus-$(PROMTOOL_VERSION).$(GO_BUILD_PLATFORM).tar.gz |
24 | PROMTOOL ?= $(FIRST_GOPATH)/bin/promtool | 24 | PROMTOOL ?= $(FIRST_GOPATH)/bin/promtool |
25 | 25 | ||
@@ -129,9 +129,5 @@ test-docker: | |||
129 | promtool: $(PROMTOOL) | 129 | promtool: $(PROMTOOL) |
130 | 130 | ||
131 | $(PROMTOOL): | 131 | $(PROMTOOL): |
132 | $(eval PROMTOOL_TMP := $(shell mktemp -d)) | ||
133 | curl -s -L $(PROMTOOL_URL) | tar -xvzf - -C $(PROMTOOL_TMP) | ||
134 | mkdir -p $(FIRST_GOPATH)/bin | 132 | mkdir -p $(FIRST_GOPATH)/bin |
135 | cp $(PROMTOOL_TMP)/prometheus-$(PROMTOOL_VERSION).$(GO_BUILD_PLATFORM)/promtool $(FIRST_GOPATH)/bin/promtool | 133 | curl -fsS -L $(PROMTOOL_URL) | tar -xvzf - -C $(FIRST_GOPATH)/bin --no-anchored --strip 1 promtool |
136 | rm -r $(PROMTOOL_TMP) | ||
137 | |||
diff --git a/checkmetrics.sh b/checkmetrics.sh index 5d846cc..c3104ca 100755 --- a/checkmetrics.sh +++ b/checkmetrics.sh | |||
@@ -5,14 +5,12 @@ if [[ ( -z "$1" ) || ( -z "$2" ) ]]; then | |||
5 | exit 1 | 5 | exit 1 |
6 | fi | 6 | fi |
7 | 7 | ||
8 | # Only check node_exporter's metrics, as the Prometheus Go client currently | 8 | # Ignore known issues in auto-generated and network specific collectors. |
9 | # exposes a metric with a unit of microseconds. Once that is fixed, remove | 9 | lint=$($1 check metrics < "$2" 2>&1 | grep -v -E "^node_(entropy|memory|netstat|wifi_station)_") |
10 | # this filter. | ||
11 | lint=$($1 check metrics < $2 2>&1 | grep "node_") | ||
12 | 10 | ||
13 | if [[ ! -z $lint ]]; then | 11 | if [[ -n $lint ]]; then |
14 | echo -e "Some Prometheus metrics do not follow best practices:\n" | 12 | echo -e "Some Prometheus metrics do not follow best practices:\n" |
15 | echo "$lint" | 13 | echo "$lint" |
16 | 14 | ||
17 | exit 1 | 15 | exit 1 |
18 | fi \ No newline at end of file | 16 | fi |