mirror of
https://github.com/ansible/awx.git
synced 2026-02-16 18:50:04 -03:30
add an example config file and make target for starting a prometheus
This commit is contained in:
3
Makefile
3
Makefile
@@ -631,6 +631,9 @@ docker-compose-elk: docker-auth
|
|||||||
docker-compose-cluster-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
|
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:
|
minishift-dev:
|
||||||
ansible-playbook -i localhost, -e devtree_directory=$(CURDIR) tools/clusterdevel/start_minishift_dev.yml
|
ansible-playbook -i localhost, -e devtree_directory=$(CURDIR) tools/clusterdevel/start_minishift_dev.yml
|
||||||
|
|
||||||
|
|||||||
@@ -1,54 +1,11 @@
|
|||||||
# Prometheus Support
|
# Prometheus Support
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
AWX comes with an example prometheus container and make target. To use it:
|
||||||
|
|
||||||
Starting a Prometheus container.
|
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.
|
||||||
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
|
Alternatively, you can provide an OAuth2 token (which can be generated at
|
||||||
|
`/api/v2/users/N/personal_tokens/`).
|
||||||
Example Prometheus config.
|
2. Start the Prometheus container:
|
||||||
|
`make prometheus`
|
||||||
# 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
|
|
||||||
|
|||||||
1
tools/prometheus/.gitignore
vendored
Normal file
1
tools/prometheus/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
./data
|
||||||
45
tools/prometheus/prometheus.yml
Normal file
45
tools/prometheus/prometheus.yml
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user