Add OVS logstreamer

Change-Id: I8a5692e169fc0939b63ea45eab59a7e4dee04f68
This commit is contained in:
Guillaume Thouvenin 2016-12-30 10:52:37 +01:00 committed by Simon Pasquier
parent 901b0842f1
commit 86b775f666
1 changed files with 58 additions and 16 deletions

View File

@ -1,10 +1,12 @@
{%- from "neutron/map.jinja" import server with context %}
{%- if server.backend.engine == "ml2" %}
{%- if server.get('backend', {}).engine is defined and server.backend.engine == "ml2" %}
{% set neutron_agents = ('l3', 'dhcp', 'metadata', 'openvswitch') %}
{%- else %}
{% set neutron_agents = () %}
{%- endif %}
{% set ovs_support = pillar.neutron.get('compute', {}).get('enabled', False) or pillar.neutron.get('gateway', {}).get('enabled', False) %}
log_collector:
decoder:
neutron:
@ -12,6 +14,12 @@ log_collector:
module_file: /usr/share/lma_collector/decoders/openstack_log.lua
module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
adjust_timezone: true
{%- if ovs_support %}
ovs:
engine: sandbox
module_file: /usr/share/lma_collector/decoders/ovs_log.lua
module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
{%- endif %}
splitter:
neutron:
engine: token
@ -25,7 +33,16 @@ log_collector:
priority: ["^Seq"]
decoder: "neutron_decoder"
splitter: "neutron_splitter"
{%- if pillar.neutron.server is defined %}
{%- if ovs_support %}
ovs_log:
engine: logstreamer
log_directory: "/var/log/openvswitch"
file_match: '(?P<Service>ovs\-vswitchd|ovsdb\-server|ovs\-ctl)\.log$'
differentiator: ['Service']
priority: ["^Seq"]
decoder: "ovs_decoder"
splitter: "TokenSplitter"
{%- endif %}
metric_collector:
trigger:
neutron_logs_error:
@ -42,6 +59,7 @@ metric_collector:
window: 70
periods: 0
function: max
{%- if pillar.neutron.server is defined %}
neutron_api_local_endpoint:
description: 'Neutron API is locally down'
severity: down
@ -54,19 +72,28 @@ metric_collector:
window: 60
periods: 0
function: last
{%- endif %}
alarm:
neutron_logs:
{%- if pillar.neutron.server is defined %}
neutron_logs_control:
alerting: enabled
triggers:
- neutron_logs_error
dimension:
service: neutron-logs
service: neutron-logs-control
neutron_api_endpoint:
alerting: enabled
triggers:
- neutron_api_local_endpoint
dimension:
service: neutron-api-endpoint
{%- else %}
neutron_logs_data:
alerting: enabled
triggers:
- neutron_logs_error
dimension:
service: neutron-logs-data
{%- endif %}
{%- if pillar.neutron.server is defined %}
remote_collector:
@ -83,7 +110,7 @@ remote_collector:
window: 60
periods: 0
function: last
{%- for agent in neutron_agents %}
{%- for agent in neutron_agents %}
neutron_{{ agent }}_two_up:
description: 'Some Neutron {{ agent }} agents are down'
severity: warning
@ -143,14 +170,14 @@ remote_collector:
window: 60
periods: 0
function: last
{%- endfor %}
{%- endfor %}
alarm:
neutron_api_check:
triggers:
- neutron_api_check_failed
dimension:
service: neutron-api-check
{%- for agent in neutron_agents %}
{%- for agent in neutron_agents %}
neutron_{{ agent }}:
alerting: enabled
triggers:
@ -159,18 +186,19 @@ remote_collector:
- neutron_{{ agent }}_two_up
dimension:
service: neutron-{{ agent }}
{%- endfor %}
{%- endfor %}
{%- endif %}
aggregator:
alarm_cluster:
neutron_logs:
{%- if pillar.neutron.server is defined %}
neutron_logs_control:
policy: status_of_members
alerting: enabled
group_by: hostname
match:
service: neutron-logs
service: neutron-logs-control
members:
- neutron_logs
- neutron_logs_control
dimension:
service: neutron-control
nagios_host: 01-service-clusters
@ -201,13 +229,13 @@ aggregator:
match:
service: neutron-control
members:
- neutron_logs
- neutron_logs_control
- neutron_api_endpoint
- neutron_api_check
dimension:
cluster_name: neutron-control
nagios_host: 00-top-clusters
{%- for agent in neutron_agents %}
{%- for agent in neutron_agents %}
neutron_{{ agent }}:
policy: highest_severity
alerting: enabled
@ -218,7 +246,7 @@ aggregator:
dimension:
service: neutron-data
nagios_host: 01-service-clusters
{%- endfor %}
{%- endfor %}
{%- if neutron_agents|length > 0 %}
neutron_data:
policy: highest_severity
@ -226,10 +254,24 @@ aggregator:
match:
service: neutron-data
members:
{%- for agent in neutron_agents %}
- neutron_logs_data
{%- for agent in neutron_agents %}
- neutron_{{ agent }}
{%- endfor %}
{%- endfor %}
dimension:
cluster_name: neutron-data
nagios_host: 00-top-clusters
{%- endif %}
{%- else %}
neutron_logs_data:
policy: status_of_members
alerting: enabled
group_by: hostname
match:
service: neutron-logs-data
members:
- neutron_logs_data
dimension:
service: neutron-data
nagios_host: 01-service-clusters
{%- endif %}