summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Petrello <rpetrell@redhat.com>2019-04-08 17:57:17 +0200
committerRyan Petrello <rpetrell@redhat.com>2019-04-08 18:01:46 +0200
commitfc9da002d2eef9e37a5fdcf08bb2c5b06480d0f6 (patch)
tree9c04a9594c0fafe252a61c1f7dcadefa7ef5a7ff
parentadd insights setting to metrics (diff)
downloadawx-fc9da002d2eef9e37a5fdcf08bb2c5b06480d0f6.tar.xz
awx-fc9da002d2eef9e37a5fdcf08bb2c5b06480d0f6.zip
add an example config file and make target for starting a prometheus
-rw-r--r--Makefile3
-rw-r--r--docs/prometheus.md59
-rw-r--r--tools/prometheus/.gitignore1
-rw-r--r--tools/prometheus/prometheus.yml45
4 files changed, 57 insertions, 51 deletions
diff --git a/Makefile b/Makefile
index e0cfc4b78f..3bd09b714a 100644
--- a/Makefile
+++ b/Makefile
@@ -631,6 +631,9 @@ docker-compose-elk: docker-auth
docker-compose-cluster-elk: docker-auth
TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose-cluster.yml -f tools/elastic/docker-compose.logstash-link-cluster.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate
+prometheus:
+ docker run -u0 --net=tools_default --link=`docker ps | egrep -o "tools_awx(_run)?_([^ ]+)?"`:awxweb --volume `pwd`/tools/prometheus:/prometheus --name prometheus -d -p 0.0.0.0:9090:9090 prom/prometheus --web.enable-lifecycle --config.file=/prometheus/prometheus.yml
+
minishift-dev:
ansible-playbook -i localhost, -e devtree_directory=$(CURDIR) tools/clusterdevel/start_minishift_dev.yml
diff --git a/docs/prometheus.md b/docs/prometheus.md
index 649c236914..a79c2719b3 100644
--- a/docs/prometheus.md
+++ b/docs/prometheus.md
@@ -1,54 +1,11 @@
# Prometheus Support
## Development
-
-Starting a Prometheus container.
-
- docker run --net=tools_default --link=tools_awx_1:awxweb --volume <FULL_PATH>/prometheus.yml:/prometheus.yml --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus --web.enable-lifecycle --config.file=/prometheus.yml
-
-Example Prometheus config.
-
- # prometheus.yml
- # my global config
- global:
- scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
- evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
- # scrape_timeout is set to the global default (10s).
-
- # Alertmanager configuration
- alerting:
- alertmanagers:
- - static_configs:
- - targets:
- # - alertmanager:9093
-
- # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
- rule_files:
- # - "first_rules.yml"
- # - "second_rules.yml"
-
-
- # A scrape configuration containing exactly one endpoint to scrape:
- # Here it's Prometheus itself.
- scrape_configs:
- # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- - job_name: 'prometheus'
- # metrics_path defaults to '/metrics'
- # scheme defaults to 'http'.
- static_configs:
- - targets: ['localhost:9090']
-
- - job_name: 'awx'
- tls_config:
- insecure_skip_verify: True
- metrics_path: /api/v2/metrics
- scrape_interval: 5s
- scheme: http
- params:
- format: ['txt']
- basic_auth:
- username: awx
- password: password
- static_configs:
- - targets:
- - awxweb:8013
+AWX comes with an example prometheus container and make target. To use it:
+
+1. Edit `tools/prometheus/prometheus.yml` and update the `basic_auth` section
+ to specify a valid user/password for an AWX user you've created.
+ Alternatively, you can provide an OAuth2 token (which can be generated at
+ `/api/v2/users/N/personal_tokens/`).
+2. Start the Prometheus container:
+ `make prometheus`
diff --git a/tools/prometheus/.gitignore b/tools/prometheus/.gitignore
new file mode 100644
index 0000000000..41da0ad48f
--- /dev/null
+++ b/tools/prometheus/.gitignore
@@ -0,0 +1 @@
+./data
diff --git a/tools/prometheus/prometheus.yml b/tools/prometheus/prometheus.yml
new file mode 100644
index 0000000000..8ba9658564
--- /dev/null
+++ b/tools/prometheus/prometheus.yml
@@ -0,0 +1,45 @@
+# prometheus.yml
+# my global config
+global:
+ scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
+ evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
+ # scrape_timeout is set to the global default (10s).
+
+# Alertmanager configuration
+alerting:
+ alertmanagers:
+ - static_configs:
+ - targets:
+ # - alertmanager:9093
+
+# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
+rule_files:
+ # - "first_rules.yml"
+ # - "second_rules.yml"
+
+
+# A scrape configuration containing exactly one endpoint to scrape:
+# Here it's Prometheus itself.
+scrape_configs:
+ # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
+ - job_name: 'prometheus'
+ # metrics_path defaults to '/metrics'
+ # scheme defaults to 'http'.
+ static_configs:
+ - targets: ['127.0.0.1:9090']
+
+ - job_name: 'awx'
+ tls_config:
+ insecure_skip_verify: True
+ metrics_path: /api/v2/metrics
+ scrape_interval: 5s
+ scheme: http
+ params:
+ format: ['txt']
+ basic_auth:
+ username: admin
+ password: password
+ # bearer_token: oauth-token
+ static_configs:
+ - targets:
+ - awxweb:8013