Add fluentd enable option
This change adds enable_fluentd option and enables some other log shippers to be integrated. When enable_fluentd is "no", syslog server is also disabled. Then, this change also adds syslog parameters to use a syslog server prepared by users. Change-Id: I7c83ef7fe30a6b9ab7385bcee953ad07e96b0a83 Implements: blueprint fluentd-enable-option
This commit is contained in:
parent
29614fd48d
commit
03354bc99e
@ -257,6 +257,8 @@ swift_account_server_port: "6001"
|
||||
swift_container_server_port: "6002"
|
||||
swift_rsync_port: "10873"
|
||||
|
||||
syslog_udp_port: "{{ fluentd_syslog_port }}"
|
||||
|
||||
tacker_server_port: "9890"
|
||||
|
||||
trove_api_port: "8779"
|
||||
@ -346,6 +348,7 @@ enable_cloudkitty: "no"
|
||||
enable_congress: "no"
|
||||
enable_designate: "no"
|
||||
enable_etcd: "no"
|
||||
enable_fluentd: "yes"
|
||||
enable_freezer: "no"
|
||||
enable_gnocchi: "no"
|
||||
enable_grafana: "no"
|
||||
|
@ -6,6 +6,7 @@ common_run: False
|
||||
common_services:
|
||||
fluentd:
|
||||
container_name: fluentd
|
||||
enabled: "{{ enable_fluentd | bool }}"
|
||||
image: "{{ fluentd_image_full }}"
|
||||
environment:
|
||||
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
||||
@ -15,6 +16,7 @@ common_services:
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
kolla-toolbox:
|
||||
container_name: kolla_toolbox
|
||||
enabled: True
|
||||
image: "{{ kolla_toolbox_image_full }}"
|
||||
environment:
|
||||
ANSIBLE_NOCOLOR: "1"
|
||||
@ -29,6 +31,7 @@ common_services:
|
||||
# DUMMY_ENVIRONMENT is needed because empty environment is not supported
|
||||
cron:
|
||||
container_name: cron
|
||||
enabled: True
|
||||
image: "{{ cron_image_full }}"
|
||||
environment:
|
||||
DUMMY_ENVIRONMENT: kolla_useless_env
|
||||
@ -56,3 +59,6 @@ fluentd_image_full: "{{ fluentd_image }}:{{ fluentd_tag }}"
|
||||
kubetoolbox_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-kubetoolbox"
|
||||
kubetoolbox_tag: "{{ openstack_release }}"
|
||||
kubetoolbox_image_full: "{{ kubetoolbox_image }}:{{ kubetoolbox_tag }}"
|
||||
|
||||
syslog_swift_facility: "local0"
|
||||
syslog_haproxy_facility: "local1"
|
||||
|
@ -14,6 +14,7 @@
|
||||
environment: "{{ service.environment }}"
|
||||
when:
|
||||
- action != "config"
|
||||
- service.enabled | bool
|
||||
- config_json.changed | bool
|
||||
or fluentd_input.changed | bool
|
||||
or fluentd_output.changed | bool
|
||||
@ -39,6 +40,7 @@
|
||||
environment: "{{ service.environment }}"
|
||||
when:
|
||||
- action != "config"
|
||||
- service.enabled | bool
|
||||
- config_json.changed | bool
|
||||
or kolla_toolbox_container.changed | bool
|
||||
notify:
|
||||
@ -63,6 +65,7 @@
|
||||
environment: "{{ service.environment }}"
|
||||
when:
|
||||
- action != "config"
|
||||
- service.enabled | bool
|
||||
- config_json.changed | bool
|
||||
or cron_confs.changed | bool
|
||||
or check_common_containers.changed | bool
|
||||
|
@ -1,5 +1,15 @@
|
||||
---
|
||||
- name: Ensuring config directories exist
|
||||
file:
|
||||
path: "{{ node_config_directory }}/{{ item }}"
|
||||
state: "directory"
|
||||
recurse: yes
|
||||
with_items:
|
||||
- "kolla-toolbox"
|
||||
- "cron"
|
||||
- "cron/logrotate"
|
||||
|
||||
- name: Ensuring fluentd config directories exist
|
||||
file:
|
||||
path: "{{ node_config_directory }}/{{ item }}"
|
||||
state: "directory"
|
||||
@ -10,15 +20,14 @@
|
||||
- "fluentd/output"
|
||||
- "fluentd/format"
|
||||
- "fluentd/filter"
|
||||
- "kolla-toolbox"
|
||||
- "cron"
|
||||
- "cron/logrotate"
|
||||
when: enable_fluentd | bool
|
||||
|
||||
- name: Copying over config.json files for services
|
||||
template:
|
||||
src: "{{ item.key }}.json.j2"
|
||||
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
|
||||
register: common_config_jsons
|
||||
when: item.value.enabled | bool
|
||||
with_dict: "{{ common_services }}"
|
||||
notify:
|
||||
- "Restart {{ item.key }} container"
|
||||
@ -28,6 +37,7 @@
|
||||
src: "conf/input/{{ item }}.conf.j2"
|
||||
dest: "{{ node_config_directory }}/fluentd/input/{{ item }}.conf"
|
||||
register: fluentd_input
|
||||
when: enable_fluentd | bool
|
||||
with_items:
|
||||
- "00-global"
|
||||
- "01-syslog"
|
||||
@ -43,7 +53,9 @@
|
||||
src: "conf/output/{{ item.name }}.conf.j2"
|
||||
dest: "{{ node_config_directory }}/fluentd/output/{{ item.name }}.conf"
|
||||
register: fluentd_output
|
||||
when: item.enabled | bool
|
||||
when:
|
||||
- enable_fluentd | bool
|
||||
- item.enabled | bool
|
||||
with_items:
|
||||
- name: "00-local"
|
||||
enabled: true
|
||||
@ -78,6 +90,7 @@
|
||||
with_items:
|
||||
- "apache_access"
|
||||
- "wsgi_access"
|
||||
when: enable_fluentd | bool
|
||||
notify:
|
||||
- Restart fluentd container
|
||||
|
||||
@ -89,6 +102,7 @@
|
||||
with_items:
|
||||
- "00-record_transformer"
|
||||
- "01-rewrite"
|
||||
when: enable_fluentd | bool
|
||||
notify:
|
||||
- Restart fluentd container
|
||||
|
||||
@ -99,6 +113,7 @@
|
||||
register: fluentd_td_agent
|
||||
with_items:
|
||||
- "fluentd"
|
||||
when: enable_fluentd | bool
|
||||
notify:
|
||||
- Restart fluentd container
|
||||
|
||||
@ -177,6 +192,7 @@
|
||||
register: check_common_containers
|
||||
when:
|
||||
- action != "config"
|
||||
- item.value.enabled | bool
|
||||
with_dict: "{{ common_services }}"
|
||||
notify:
|
||||
- "Restart {{ item.key }} container"
|
||||
|
@ -1,4 +1,4 @@
|
||||
<match syslog.local0.**>
|
||||
<match syslog.{{ syslog_swift_facility }}.**>
|
||||
@type copy
|
||||
<store>
|
||||
@type file
|
||||
@ -20,7 +20,7 @@
|
||||
{% endif %}
|
||||
</match>
|
||||
|
||||
<match syslog.local1.**>
|
||||
<match syslog.{{ syslog_haproxy_facility }}.**>
|
||||
@type copy
|
||||
<store>
|
||||
@type file
|
||||
|
@ -41,3 +41,6 @@ haproxy_server_timeout: "1m"
|
||||
|
||||
haproxy_glance_api_client_timeout: "6h"
|
||||
haproxy_glance_api_server_timeout: "6h"
|
||||
|
||||
syslog_server: "{{ api_interface_address }}"
|
||||
syslog_haproxy_facility: "local1"
|
||||
|
@ -4,7 +4,7 @@ global
|
||||
user haproxy
|
||||
group haproxy
|
||||
daemon
|
||||
log {{ api_interface_address }}:{{ fluentd_syslog_port }} local1
|
||||
log {{ syslog_server }}:{{ syslog_udp_port }} {{ syslog_haproxy_facility }}
|
||||
maxconn 4000
|
||||
stats socket /var/lib/kolla/haproxy/haproxy.sock
|
||||
{% if kolla_enable_tls_external | bool %}
|
||||
|
@ -48,3 +48,6 @@ swift_devices_match_mode: "strict"
|
||||
swift_devices_name: "KOLLA_SWIFT_DATA"
|
||||
|
||||
openstack_swift_auth: "{{ openstack_auth }}"
|
||||
|
||||
syslog_server: "{{ api_interface_address }}"
|
||||
syslog_swift_facility: "local0"
|
||||
|
@ -3,10 +3,10 @@ bind_ip = {{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4'
|
||||
bind_port = {{ swift_account_server_port }}
|
||||
devices = {{ swift_devices_mount_point }}
|
||||
mount_check = false
|
||||
log_udp_host = {{ api_interface_address }}
|
||||
log_udp_port = {{ fluentd_syslog_port }}
|
||||
log_udp_host = {{ syslog_server }}
|
||||
log_udp_port = {{ syslog_udp_port }}
|
||||
log_name = {{ service_name }}
|
||||
log_facility = LOG_LOCAL0
|
||||
log_facility = {{ syslog_swift_facility }}
|
||||
log_level = INFO
|
||||
workers = {{ openstack_service_workers }}
|
||||
|
||||
|
@ -3,10 +3,10 @@ bind_ip = {{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4'
|
||||
bind_port = {{ swift_container_server_port }}
|
||||
devices = {{ swift_devices_mount_point }}
|
||||
mount_check = false
|
||||
log_udp_host = {{ api_interface_address }}
|
||||
log_udp_port = {{ fluentd_syslog_port }}
|
||||
log_udp_host = {{ syslog_server }}
|
||||
log_udp_port = {{ syslog_udp_port }}
|
||||
log_name = {{ service_name }}
|
||||
log_facility = LOG_LOCAL0
|
||||
log_facility = {{ syslog_swift_facility }}
|
||||
log_level = INFO
|
||||
workers = {{ openstack_service_workers }}
|
||||
|
||||
|
@ -4,10 +4,10 @@ bind_port = {{ swift_object_server_port }}
|
||||
devices = {{ swift_devices_mount_point }}
|
||||
mount_check = false
|
||||
|
||||
log_udp_host = {{ api_interface_address }}
|
||||
log_udp_port = {{ fluentd_syslog_port }}
|
||||
log_udp_host = {{ syslog_server }}
|
||||
log_udp_port = {{ syslog_udp_port }}
|
||||
log_name = {{ service_name }}
|
||||
log_facility = LOG_LOCAL0
|
||||
log_facility = {{ syslog_swift_facility }}
|
||||
log_level = INFO
|
||||
workers = {{ openstack_service_workers }}
|
||||
|
||||
|
@ -2,10 +2,10 @@
|
||||
bind_ip = {{ api_interface_address }}
|
||||
bind_port = {{ swift_proxy_server_port }}
|
||||
|
||||
log_udp_host = {{ api_interface_address }}
|
||||
log_udp_port = {{ fluentd_syslog_port }}
|
||||
log_udp_host = {{ syslog_server }}
|
||||
log_udp_port = {{ syslog_udp_port }}
|
||||
log_name = {{ service_name }}
|
||||
log_facility = LOG_LOCAL0
|
||||
log_facility = {{ syslog_swift_facility }}
|
||||
log_level = INFO
|
||||
workers = {{ openstack_service_workers }}
|
||||
|
||||
|
@ -240,3 +240,22 @@ For example:
|
||||
|
||||
As <service>_port value is saved in different services' configuration so
|
||||
it's advised to make above change before deploying.
|
||||
|
||||
Use an external Syslog server
|
||||
=============================
|
||||
|
||||
By default, Fluentd is used as a syslog server to collect Swift and HAProxy
|
||||
logs. When Fluentd is disabled or you want to use an external syslog server,
|
||||
You can set syslog parameters in ``globals.yml`` file.
|
||||
For example:
|
||||
::
|
||||
|
||||
syslog_server: "172.29.9.145"
|
||||
syslog_udp_port: "514"
|
||||
|
||||
You can also set syslog facility names for Swift and HAProxy logs. By default,
|
||||
Swift and HAProxy use ``local0`` and ``local1``, respectively.
|
||||
::
|
||||
|
||||
syslog_swift_facility: "local0"
|
||||
syslog_haproxy_facility: "local1"
|
||||
|
@ -145,6 +145,7 @@ kolla_internal_vip_address: "10.10.10.254"
|
||||
#enable_designate: "no"
|
||||
#enable_destroy_images: "no"
|
||||
#enable_etcd: "no"
|
||||
#enable_fluentd: "yes"
|
||||
#enable_freezer: "no"
|
||||
#enable_gnocchi: "no"
|
||||
#enable_grafana: "no"
|
||||
|
Loading…
Reference in New Issue
Block a user