| parameters: | |
| _param: | |
| stacklight_notification_topic: stacklight_notifications | |
| fluentd: | |
| agent: | |
| config: | |
| label: | |
| rabbitmq_notifications: | |
| input: | |
| tail_rabbitmq_info: | |
| tag: raw_notifications | |
| type: rabbitmq | |
| host: ${_param:openstack_message_queue_address} | |
| user: openstack | |
| pass: ${_param:rabbitmq_openstack_password} | |
| vhost: /openstack | |
| queue: ${_param:stacklight_notification_topic}.info | |
| routing_key: ${_param:stacklight_notification_topic}.info | |
| parser: | |
| type: json | |
| tail_rabbitmq_warn: | |
| tag: raw_notifications | |
| type: rabbitmq | |
| host: ${_param:openstack_message_queue_address} | |
| user: openstack | |
| pass: ${_param:rabbitmq_openstack_password} | |
| vhost: /openstack | |
| queue: ${_param:stacklight_notification_topic}.warn | |
| routing_key: ${_param:stacklight_notification_topic}.warn | |
| parser: | |
| type: json | |
| tail_rabbitmq_error: | |
| tag: raw_notifications | |
| type: rabbitmq | |
| host: ${_param:openstack_message_queue_address} | |
| user: openstack | |
| pass: ${_param:rabbitmq_openstack_password} | |
| vhost: /openstack | |
| queue: ${_param:stacklight_notification_topic}.error | |
| routing_key: ${_param:stacklight_notification_topic}.error | |
| parser: | |
| type: json | |
| filter: | |
| parse_json: | |
| tag: raw_notifications | |
| type: parser | |
| key_name: oslo.message | |
| reserve_data: false | |
| hash_value_field: parsed | |
| parser: | |
| type: json | |
| remove_context: | |
| tag: raw_notifications | |
| require: | |
| - parse_json | |
| type: record_transformer | |
| enable_ruby: true | |
| remove_keys: _dummy_1 | |
| record: | |
| - name: _dummy_1 | |
| value: ${fluentd:dollar}{record['parsed'].delete_if { |k,_| k.include?('_context_') }; nil} | |
| pack_parsed_to_json: | |
| tag: raw_notifications | |
| require: | |
| - remove_context | |
| type: record_transformer | |
| enable_ruby: true | |
| record: | |
| - name: parsed | |
| value: ${fluentd:dollar}{record["parsed"].to_json} | |
| unpack_on_top_level: | |
| tag: raw_notifications | |
| require: | |
| - pack_parsed_to_json | |
| type: parser | |
| key_name: parsed | |
| reserve_data: false | |
| parser: | |
| type: json | |
| detect_audit_notification: | |
| tag: raw_notifications | |
| require: | |
| - unpack_on_top_level | |
| type: record_transformer | |
| enable_ruby: true | |
| record: | |
| - name: notification_type | |
| value: '${fluentd:dollar}{ record["payload"]["eventType"] && record["payload"]["eventTime"] ? "audit" : "notification" }' | |
| match: | |
| rewrite_message_tag: | |
| tag: raw_notifications | |
| type: rewrite_tag_filter | |
| rule: | |
| - name: notification_type | |
| regexp: 'audit' | |
| result: audit | |
| - name: notification_type | |
| regexp: '/.+/' | |
| result: notification | |
| forward_notification: | |
| tag: notification | |
| type: relabel | |
| label: notification_messages | |
| forward_audit: | |
| tag: audit | |
| type: relabel | |
| label: audit_messages |