forked from mirrors/statsd_exporter
Merge pull request #17 from sdurrheimer/master
New Dockerfile using alpine-golang-make-onbuild base image
This commit is contained in:
commit
b6210fc395
3 changed files with 37 additions and 16 deletions
4
Dockerfile
Normal file
4
Dockerfile
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
FROM sdurrheimer/alpine-golang-make-onbuild
|
||||||
|
MAINTAINER The Prometheus Authors <prometheus-developers@googlegroups.com>
|
||||||
|
|
||||||
|
EXPOSE 9102 9125/udp
|
|
@ -49,19 +49,22 @@ ifeq ($(GOOS),darwin)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
GO_VERSION ?= 1.4.2
|
GO_VERSION ?= 1.4.2
|
||||||
|
|
||||||
ifeq ($(shell type go >/dev/null && go version | sed 's/.*go\([0-9.]*\).*/\1/'), $(GO_VERSION))
|
|
||||||
GOROOT := $(shell go env GOROOT)
|
|
||||||
else
|
|
||||||
GOROOT := $(CURDIR)/.build/go$(GO_VERSION)
|
|
||||||
endif
|
|
||||||
|
|
||||||
GOURL ?= https://golang.org/dl
|
GOURL ?= https://golang.org/dl
|
||||||
GOPKG ?= go$(GO_VERSION).$(GOOS)-$(GOARCH)$(RELEASE_SUFFIX).tar.gz
|
GOPKG ?= go$(GO_VERSION).$(GOOS)-$(GOARCH)$(RELEASE_SUFFIX).tar.gz
|
||||||
GOPATH := $(CURDIR)/.build/gopath
|
GOPATH := $(CURDIR)/.build/gopath
|
||||||
GOCC ?= $(GOROOT)/bin/go
|
|
||||||
GO ?= GOROOT=$(GOROOT) GOPATH=$(GOPATH) $(GOCC)
|
# Check for the correct version of go in the path. If we find it, use it.
|
||||||
GOFMT ?= $(GOROOT)/bin/gofmt
|
# Otherwise, prepare to build go locally.
|
||||||
|
ifeq ($(shell command -v "go" >/dev/null && go version | sed -e 's/^[^0-9.]*\([0-9.]*\).*/\1/'), $(GO_VERSION))
|
||||||
|
GOCC ?= $(shell command -v "go")
|
||||||
|
GOFMT ?= $(shell command -v "gofmt")
|
||||||
|
GO ?= GOPATH=$(GOPATH) $(GOCC)
|
||||||
|
else
|
||||||
|
GOROOT ?= $(CURDIR)/.build/go$(GO_VERSION)
|
||||||
|
GOCC ?= $(GOROOT)/bin/go
|
||||||
|
GOFMT ?= $(GOROOT)/bin/gofmt
|
||||||
|
GO ?= GOROOT=$(GOROOT) GOPATH=$(GOPATH) $(GOCC)
|
||||||
|
endif
|
||||||
|
|
||||||
# Never honor GOBIN, should it be set at all.
|
# Never honor GOBIN, should it be set at all.
|
||||||
unexport GOBIN
|
unexport GOBIN
|
||||||
|
|
26
README.md
26
README.md
|
@ -61,9 +61,9 @@ In general, the different metric types are translated as follows, with certain
|
||||||
suffixes appended to the Prometheus metric names:
|
suffixes appended to the Prometheus metric names:
|
||||||
|
|
||||||
StatsD gauge -> Prometheus gauge (suffix `_gauge`)
|
StatsD gauge -> Prometheus gauge (suffix `_gauge`)
|
||||||
|
|
||||||
StatsD counter -> Prometheus counter (suffix `_counter`)
|
StatsD counter -> Prometheus counter (suffix `_counter`)
|
||||||
|
|
||||||
StatsD timer -> Prometheus summary (suffix `_timer`) <-- indicates timer quantiles
|
StatsD timer -> Prometheus summary (suffix `_timer`) <-- indicates timer quantiles
|
||||||
-> Prometheus counter (suffix `_timer_total`) <-- indicates total time spent
|
-> Prometheus counter (suffix `_timer_total`) <-- indicates total time spent
|
||||||
-> Prometheus counter (suffix `_timer_count`) <-- indicates total number of timer events
|
-> Prometheus counter (suffix `_timer_count`) <-- indicates total number of timer events
|
||||||
|
@ -76,21 +76,35 @@ An example mapping configuration:
|
||||||
action="$2"
|
action="$2"
|
||||||
outcome="$3"
|
outcome="$3"
|
||||||
job="test_dispatcher"
|
job="test_dispatcher"
|
||||||
|
|
||||||
*.signup.*.*
|
*.signup.*.*
|
||||||
name="signup_events"
|
name="signup_events"
|
||||||
provider="$2"
|
provider="$2"
|
||||||
outcome="$3"
|
outcome="$3"
|
||||||
job="${1}_server"
|
job="${1}_server"
|
||||||
|
|
||||||
This would transform these example StatsD metrics into Prometheus metrics as
|
This would transform these example StatsD metrics into Prometheus metrics as
|
||||||
follows:
|
follows:
|
||||||
|
|
||||||
test.dispatcher.FooProcessor.send.success (counter)
|
test.dispatcher.FooProcessor.send.success (counter)
|
||||||
=> dispatcher_events_counter{processor="FooProcessor", action="send", outcome="success", job="test_dispatcher"}
|
=> dispatcher_events_counter{processor="FooProcessor", action="send", outcome="success", job="test_dispatcher"}
|
||||||
|
|
||||||
foo_product.signup.facebook.failure (counter)
|
foo_product.signup.facebook.failure (counter)
|
||||||
=> signup_events_counter{provider="facebook", outcome="failure", job="foo_product_server"}
|
=> signup_events_counter{provider="facebook", outcome="failure", job="foo_product_server"}
|
||||||
|
|
||||||
test.web-server.foo.bar (gauge)
|
test.web-server.foo.bar (gauge)
|
||||||
=> test_web__server_foo_bar_gauge{}
|
=> test_web__server_foo_bar_gauge{}
|
||||||
|
|
||||||
|
## Using Docker
|
||||||
|
|
||||||
|
You can deploy this exporter using the [prom/statsd-bridge](https://registry.hub.docker.com/u/prom/statsd-bridge/) Docker image.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull prom/statsd-bridge
|
||||||
|
|
||||||
|
docker run -d -p 9102:9102 -p 9125/udp:9125/udp \
|
||||||
|
-v $PWD/statsd_mapping.conf:/tmp/statsd_mapping.conf \
|
||||||
|
prom/statsd-bridge -statsd.mapping-config=/tmp/statsd_mapping.conf
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue