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 }}
+
+