diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml index 2eb838f753..040c09c289 100644 --- a/ansible/roles/common/tasks/config.yml +++ b/ansible/roles/common/tasks/config.yml @@ -79,6 +79,12 @@ notify: - Restart fluentd container +- name: Determine whether logs should be forwarded directly to Elasticsearch + set_fact: + log_direct_to_elasticsearch: "{{ ( enable_elasticsearch | bool or + ( elasticsearch_address != kolla_internal_vip_address )) and + not enable_monasca | bool }}" + - name: Copying over fluentd output config files template: src: "conf/output/{{ item.name }}.conf.j2" @@ -93,8 +99,25 @@ - name: "00-local" enabled: true - name: "01-es" - enabled: "{{ enable_elasticsearch | bool or - ( elasticsearch_address != kolla_internal_vip_address ) }}" + enabled: "{{ log_direct_to_elasticsearch }}" + - name: "02-monasca" + enabled: "{{ enable_monasca | bool }}" + notify: + - Restart fluentd container + +- name: Removing stale output config files + file: + path: "{{ node_config_directory }}/fluentd/output/{{ item.name }}.conf" + state: "absent" + become: true + when: + - enable_fluentd | bool + - item.disable | bool + with_items: + - name: "02-monasca" + disable: "{{ not enable_monasca | bool }}" + - name: "01-es" + disable: "{{ not log_direct_to_elasticsearch }}" notify: - Restart fluentd container diff --git a/ansible/roles/common/templates/conf/output/00-local.conf.j2 b/ansible/roles/common/templates/conf/output/00-local.conf.j2 index 22d2ba76bb..1837b0c5ce 100644 --- a/ansible/roles/common/templates/conf/output/00-local.conf.j2 +++ b/ansible/roles/common/templates/conf/output/00-local.conf.j2 @@ -7,8 +7,7 @@ append true compress gzip -{% if enable_elasticsearch | bool or - elasticsearch_address != kolla_internal_vip_address %} +{% if log_direct_to_elasticsearch %} type elasticsearch host {{ elasticsearch_address }} @@ -17,6 +16,18 @@ logstash_prefix {{ kibana_log_prefix }} flush_interval 15s +{% elif enable_monasca | bool %} + type copy + + @type monasca + keystone_url {{ keystone_internal_url }} + monasca_log_api {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_log_api_port }} + monasca_log_api_version v3.0 + username {{ monasca_agent_user }} + password {{ monasca_agent_password }} + domain_id default + project_name {{ monasca_control_plane_project }} + {% endif %} @@ -31,8 +42,7 @@ append true compress gzip -{% if enable_elasticsearch | bool or - elasticsearch_address != kolla_internal_vip_address %} +{% if log_direct_to_elasticsearch %} type elasticsearch host {{ elasticsearch_address }} @@ -41,5 +51,17 @@ logstash_prefix {{ kibana_log_prefix }} flush_interval 15s +{% elif enable_monasca | bool %} + type copy + + @type monasca + keystone_url {{ keystone_internal_url }} + monasca_log_api {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_log_api_port }} + monasca_log_api_version v3.0 + username {{ monasca_agent_user }} + password {{ monasca_agent_password }} + domain_id default + project_name {{ monasca_control_plane_project }} + {% endif %} diff --git a/ansible/roles/common/templates/conf/output/02-monasca.conf.j2 b/ansible/roles/common/templates/conf/output/02-monasca.conf.j2 new file mode 100644 index 0000000000..f495249ec0 --- /dev/null +++ b/ansible/roles/common/templates/conf/output/02-monasca.conf.j2 @@ -0,0 +1,13 @@ + + type copy + + @type monasca + keystone_url {{ keystone_internal_url }} + monasca_log_api {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_log_api_port }} + monasca_log_api_version v3.0 + username {{ monasca_agent_user }} + password {{ monasca_agent_password }} + domain_id default + project_name {{ monasca_control_plane_project }} + +