| {%- from "ceilometer/map.jinja" import server with context %} |
| {%- if server.get('enabled', False) %} |
| {%- set procs = [] %} |
| {%- for s in server.services %} |
| {%- do procs.append('ceilometer-polling' if s == 'ceilometer-agent-central' else s) %} |
| {%- endfor %} |
| metric_collector: |
| trigger: |
| {%- for proc in procs %} |
| {{ proc|replace("-", "_") }}: |
| description: "There is no {{ proc }} process running." |
| severity: down |
| rules: |
| - metric: process_processes |
| field: |
| service: {{ proc }} |
| relational_operator: '==' |
| threshold: 0 |
| window: 60 |
| periods: 0 |
| function: last |
| {%- endfor %} |
| alarm: |
| {%- for proc in procs %} |
| {{ proc|replace("-", "_") }}: |
| alerting: enabled |
| triggers: |
| - {{ proc|replace("-", "_") }} |
| dimension: |
| process: {{ proc }} |
| {%- endfor %} |
| aggregator: |
| alarm_cluster: |
| {%- for proc in procs %} |
| {{ proc|replace("-", "_") }}: |
| policy: status_of_members |
| alerting: enabled |
| group_by: hostname |
| match: |
| process: {{ proc }} |
| members: |
| - {{ proc|replace("-", "_") }} |
| dimension: |
| service: ceilometer-control |
| nagios_host: 01-service-clusters |
| {%- endfor %} |
| ceilometer_control: |
| policy: highest_severity |
| alerting: enabled_with_notification |
| match: |
| service: ceilometer-control |
| members: |
| {%- for proc in procs %} |
| - {{ proc|replace("-", "_") }} |
| {%- endfor %} |
| dimension: |
| cluster_name: ceilometer-control |
| nagios_host: 00-top-clusters |
| {%- endif %} |