| {%- 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 %} |