This commit is contained in:
Jonathan Shook 2021-10-11 17:21:45 -05:00
parent 1d625f411a
commit 8da6664faf

View File

@ -1,19 +1,19 @@
# docker-metrics # docker-metrics
Enlist nosqlbench to stand up your metrics infrastructure using a local Enlist nosqlbench to stand up your metrics infrastructure using a local
docker runtime: docker runtime:
--docker-metrics --docker-metrics
When this option is set, nosqlbench will start graphite, prometheus, When this option is set, nosqlbench will start graphite, prometheus,
and grafana dockers (if-needed) automatically on your local system and grafana dockers (if-needed) automatically on your local system
, configure them to work together, and point nosqlbench to send metrics , configure them to work together, and point nosqlbench to send metrics
and annotations to the system automatically. and annotations to the system automatically.
The inclued NoSQLBench dashboard uses the default grafana credentials of The included NoSQLBench dashboard uses the default grafana credentials of
admin:admin. You can find this dashboard by browsing to the "manage admin:admin. You can find this dashboard by browsing to the "manage
dashboards" section of grafana. dashboards" section of grafana.
# remote docker-metrics # remote docker-metrics
It is possible to use `--docker-metrics` to set up a metrics collector It is possible to use `--docker-metrics` to set up a metrics collector
@ -30,7 +30,7 @@ and other nodes, you can use this pattern:
# on the collector node # on the collector node
... --pin --docker-metrics ... --pin --docker-metrics
# on other nodes # on other nodes
... --pin --docker-metrics-at <collector node ip> ... --pin --docker-metrics-at <collector node ip>
@ -46,7 +46,7 @@ of running the following by hand:
# pull and run the graphite-exporter container # pull and run the graphite-exporter container
docker run -d -p 9108:9108 -p 9109:9109 -p 9109:9109/udp prom/graphite-exporter docker run -d -p 9108:9108 -p 9109:9109 -p 9109:9109/udp prom/graphite-exporter
Configuration files which are used by the docker containers are stored in: Configuration files which are used by the docker containers are stored in:
$HOME/.nosqlbench $HOME/.nosqlbench
@ -55,14 +55,14 @@ Configuration files which are used by the docker containers are stored in:
If you need to clear the state for a local docker metrics stack, you If you need to clear the state for a local docker metrics stack, you
can remove these directories. can remove these directories.
# DASHBOARDS AND METRICS WILL BE LOST IF YOU DO THIS # DASHBOARDS AND METRICS WILL BE LOST IF YOU DO THIS
rm ~/.nosqlbench/{grafana,prometheus,prometheus-conf,graphite-exporter} rm ~/.nosqlbench/{grafana,prometheus,prometheus-conf,graphite-exporter}
## Manually installing dockers ## Manually installing dockers
# pull and run the prometheus container # pull and run the prometheus container
docker run -d -p 9090:9090 -v '<USER HOME>/.prometheus:/etc/prometheus' prom/prometheus --config.file=/etc/prometheus/prometheus.yml" --storage.tsdb.path=/prometheus" --storage.tsdb.retention=183d --web.enable-lifecycle docker run -d -p 9090:9090 -v '<USER HOME>/.prometheus:/etc/prometheus' prom/prometheus --config.file=/etc/prometheus/prometheus.yml" --storage.tsdb.path=/prometheus" --storage.tsdb.retention=183d --web.enable-lifecycle
# pull and run the grafana container # pull and run the grafana container
docker run -d -p 3000:3000 -v grafana/grafana docker run -d -p 3000:3000 -v grafana/grafana
@ -70,7 +70,7 @@ If you need to clear the state for a local docker metrics stack, you
These may allow you to send snapshot data to a specially configured These may allow you to send snapshot data to a specially configured
remote grafana instance. remote grafana instance.
GF_SECURITY_ADMIN_PASSWORD=admin GF_SECURITY_ADMIN_PASSWORD=admin
GF_AUTH_ANONYMOUS_ENABLED="true" GF_AUTH_ANONYMOUS_ENABLED="true"
GF_SNAPSHOTS_EXTERNAL_SNAPSHOT_URL=http://54.165.144.56:3001 GF_SNAPSHOTS_EXTERNAL_SNAPSHOT_URL=http://54.165.144.56:3001
@ -82,11 +82,11 @@ You can use the grafana api to set up the datasource and dashboard
if you have other tools which integrate with grafana: if you have other tools which integrate with grafana:
# These are not commands, they are only provides API parameters # These are not commands, they are only provides API parameters
POST http://localhost:3000/api/dashboards/db POST http://localhost:3000/api/dashboards/db
analysis.json analysis.json
# (found in resources/docker/dashboards/analysis.json) # (found in resources/docker/dashboards/analysis.json)
POST http://localhost:3000/api/datasources POST http://localhost:3000/api/datasources
prometheus-datasource.yaml prometheus-datasource.yaml
# (found in resources/docker/datasources/prometheus-datasource.yaml) # (found in resources/docker/datasources/prometheus-datasource.yaml)