blob: 497e832eed6d837f7d0eee4e20f3182a6504f3c0 [file] [log] [blame]
{%- from "keystone/map.jinja" import monitoring, server with context %}
{%- if server is defined and server.get('enabled', False) %}
remote_agent:
input:
openstack:
template: telegraf/files/input/openstack.conf
interval: "{{ monitoring.telegraf_openstack_input_plugin_interval }}"
project: "{{ server.admin_tenant }}"
tenant: "{{ server.admin_tenant }}"
region: "{{ server.region }}"
username: "{{ server.admin_name }}"
password: "{{ server.admin_password }}"
services: ["cinder", "glance", "ironic", "keystone", "keystonev3", "neutron", "nova", "nova_instances"]
identity_endpoint: "{{ server.bind.private_protocol }}://{{ server.bind.private_address|replace('0.0.0.0', '127.0.0.1') }}:{{ server.bind.private_port }}/"
monitor_agents: "true"
openstack_api:
template: telegraf/files/input/openstack.conf
interval: "{{ monitoring.telegraf_openstack_api_input_plugin_interval }}"
project: "{{ server.admin_tenant }}"
tenant: "{{ server.admin_tenant }}"
region: "{{ server.region }}"
username: "{{ server.admin_name }}"
password: "{{ server.admin_password }}"
services: ["checks"]
identity_endpoint: "{{ server.bind.private_protocol }}://{{ server.bind.private_address|replace('0.0.0.0', '127.0.0.1') }}:{{ server.bind.private_port }}/"
monitor_agents: "true"
output:
prometheus_client_openstack:
template: telegraf/files/output/prometheus_client.conf
engine: prometheus
metric_buffer_limit: 50000
# Output plugin configuration
bind:
address: 0.0.0.0
port: "{{ monitoring.output_openstack_port }}"
expiration_interval: "{{ monitoring.telegraf_openstack_output_plugin_expiration_interval }}"
# Measurement filtering
namepass: ["openstack*"]
namedrop: ["openstack_api*" ]
prometheus_client_openstack_api:
template: telegraf/files/output/prometheus_client.conf
engine: prometheus
# Output plugin configuration
bind:
address: 0.0.0.0
port: "{{ monitoring.output_openstack_api_port }}"
expiration_interval: "{{ monitoring.telegraf_openstack_api_expiration_interval }}"
# Measurement filtering
namepass: ["openstack_api*"]
prometheus_client:
namedrop: ["openstack*"]
agent:
input:
http_response:
keystone-public-api:
address: "{{ server.bind.get('protocol','http') }}://{{ server.bind.address|replace('0.0.0.0', '127.0.0.1') }}:{{ server.bind.public_port }}/"
expected_code: 300
keystone-admin-api:
address: "{{ server.bind.private_protocol }}://{{ server.bind.address|replace('0.0.0.0', '127.0.0.1') }}:{{ server.bind.private_port }}/"
expected_code: 300
{%- endif %}