diff options
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | docs/prometheus.md | 59 | ||||
-rw-r--r-- | tools/prometheus/.gitignore | 1 | ||||
-rw-r--r-- | tools/prometheus/prometheus.yml | 45 |
4 files changed, 57 insertions, 51 deletions
@@ -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 |