477 lines
14 KiB
YAML
477 lines
14 KiB
YAML
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
schema: metadata/Document/v1
|
|
name: fluent-logging-global
|
|
layeringDefinition:
|
|
abstract: true
|
|
layer: global
|
|
labels:
|
|
hosttype: fluent-logging-global
|
|
storagePolicy: cleartext
|
|
substitutions:
|
|
# Chart source
|
|
- src:
|
|
schema: pegleg/SoftwareVersions/v1
|
|
name: software-versions
|
|
path: .charts.osh_infra.fluent_logging
|
|
dest:
|
|
path: .source
|
|
|
|
# Images
|
|
- src:
|
|
schema: pegleg/SoftwareVersions/v1
|
|
name: software-versions
|
|
path: .images.osh_infra.fluent_logging
|
|
dest:
|
|
path: .values.images.tags
|
|
|
|
# Endpoints
|
|
- src:
|
|
schema: pegleg/EndpointCatalogue/v1
|
|
name: osh_infra_endpoints
|
|
path: .osh_infra.elasticsearch
|
|
dest:
|
|
path: .values.endpoints.elasticsearch
|
|
- src:
|
|
schema: pegleg/EndpointCatalogue/v1
|
|
name: osh_infra_endpoints
|
|
path: .osh_infra.fluentd
|
|
dest:
|
|
path: .values.endpoints.fluentd
|
|
- src:
|
|
schema: pegleg/EndpointCatalogue/v1
|
|
name: osh_infra_endpoints
|
|
path: .osh_infra.prometheus_fluentd_exporter
|
|
dest:
|
|
path: .values.endpoints.prometheus_fluentd_exporter
|
|
# Accounts
|
|
- src:
|
|
schema: pegleg/AccountCatalogue/v1
|
|
name: osh_infra_service_accounts
|
|
path: .osh_infra.elasticsearch.admin
|
|
dest:
|
|
path: .values.endpoints.elasticsearch.auth.admin
|
|
|
|
# Secrets
|
|
- dest:
|
|
path: .values.endpoints.elasticsearch.auth.admin.password
|
|
src:
|
|
schema: deckhand/Passphrase/v1
|
|
name: osh_infra_elasticsearch_admin_password
|
|
path: .
|
|
|
|
data:
|
|
chart_name: fluent-logging
|
|
release: fluent-logging
|
|
namespace: osh-infra
|
|
wait:
|
|
timeout: 900
|
|
labels:
|
|
release_group: airship-fluent-logging
|
|
install:
|
|
no_hooks: false
|
|
upgrade:
|
|
no_hooks: false
|
|
pre:
|
|
delete:
|
|
- type: job
|
|
labels:
|
|
release_group: airship-fluent-logging
|
|
create: []
|
|
post:
|
|
create: []
|
|
values:
|
|
pod:
|
|
resources:
|
|
enabled: true
|
|
fluentbit:
|
|
limits:
|
|
memory: '4Gi'
|
|
cpu: '2000m'
|
|
requests:
|
|
memory: '2Gi'
|
|
cpu: '1000m'
|
|
fluentd:
|
|
limits:
|
|
memory: '4Gi'
|
|
cpu: '2000m'
|
|
requests:
|
|
memory: '2Gi'
|
|
cpu: '1000m'
|
|
prometheus_fluentd_exporter:
|
|
limits:
|
|
memory: '1024Mi'
|
|
cpu: '2000m'
|
|
requests:
|
|
memory: '0'
|
|
cpu: '0'
|
|
jobs:
|
|
image_repo_sync:
|
|
requests:
|
|
memory: '0'
|
|
cpu: '0'
|
|
limits:
|
|
memory: '1024Mi'
|
|
cpu: '2000m'
|
|
tests:
|
|
requests:
|
|
memory: '0'
|
|
cpu: '0'
|
|
limits:
|
|
memory: '1024Mi'
|
|
cpu: '2000m'
|
|
labels:
|
|
fluentd:
|
|
node_selector_key: fluentd
|
|
node_selector_value: enabled
|
|
fluentbit:
|
|
node_selector_key: fluentbit
|
|
node_selector_value: enabled
|
|
prometheus_fluentd_exporter:
|
|
node_selector_key: openstack-control-plane
|
|
node_selector_value: enabled
|
|
job:
|
|
node_selector_key: openstack-control-plane
|
|
node_selector_value: enabled
|
|
conf:
|
|
fluentbit:
|
|
- service:
|
|
header: service
|
|
Flush: 5
|
|
Daemon: Off
|
|
Log_Level: info
|
|
Parsers_File: parsers.conf
|
|
- kubelet:
|
|
header: input
|
|
Name: systemd
|
|
Path: /var/log/journal
|
|
Tag: syslog.*
|
|
Systemd_Filter: _SYSTEMD_UNIT=kubelet.service
|
|
DB: /var/log/kubelet.db
|
|
Mem_Buf_Limit: 5MB
|
|
DB.Sync: Normal
|
|
Buffer_Chunk_Size: 1M
|
|
Buffer_Max_Size: 1M
|
|
- docker_daemon:
|
|
header: input
|
|
Name: systemd
|
|
Path: /var/log/journal
|
|
Tag: syslog.*
|
|
Systemd_Filter: _SYSTEMD_UNIT=docker.service
|
|
DB: /var/log/docker.db
|
|
Mem_Buf_Limit: 5MB
|
|
DB.Sync: Normal
|
|
Buffer_Chunk_Size: 1M
|
|
Buffer_Max_Size: 1M
|
|
- containers_tail:
|
|
header: input
|
|
Name: tail
|
|
Tag: kube.*
|
|
Path: /var/log/containers/*.log
|
|
Parser: docker
|
|
DB: /var/log/flb_kube.db
|
|
Mem_Buf_Limit: 5MB
|
|
DB.Sync: Normal
|
|
Buffer_Chunk_Size: 1M
|
|
Buffer_Max_Size: 1M
|
|
- drop_fluentd_logs:
|
|
header: output
|
|
Name: "null"
|
|
Match: "**.fluentd**"
|
|
- kube_filter:
|
|
header: filter
|
|
Name: kubernetes
|
|
Match: kube.*
|
|
Merge_JSON_Log: On
|
|
- fluentd_output:
|
|
header: output
|
|
Name: forward
|
|
Match: "*"
|
|
Host: fluentd-logging.osh-infra
|
|
Port: 24224
|
|
parsers:
|
|
- docker:
|
|
header: parser
|
|
Name: docker
|
|
Format: json
|
|
Time_Key: time
|
|
Time_Format: "%Y-%m-%dT%H:%M:%S.%L"
|
|
Time_Keep: On
|
|
td_agent:
|
|
- metrics_agent:
|
|
header: source
|
|
type: monitor_agent
|
|
bind: 0.0.0.0
|
|
port: 24220
|
|
- fluentbit_forward:
|
|
header: source
|
|
type: forward
|
|
port: "#{ENV['FLUENTD_PORT']}"
|
|
bind: 0.0.0.0
|
|
- drop_fluent_logs:
|
|
header: match
|
|
type: "null"
|
|
expression: "fluent.*"
|
|
- add_container_name:
|
|
header: filter
|
|
type: record_transformer
|
|
expression: "kube.**"
|
|
enable_ruby: true
|
|
record:
|
|
-
|
|
- header: record
|
|
container_name: ${record["kubernetes"]["container_name"]}
|
|
- remove_openstack_pod_logged_events:
|
|
header: filter
|
|
type: grep
|
|
expression: "kube.**"
|
|
exclude:
|
|
-
|
|
- header: exclude
|
|
key: container_name
|
|
pattern: ^(cinder-api|cinder-scheduler|cinder-volume|cinder-backup|glance-api|glance-registry|heat-api|heat-cfn|heat-engine|keystone-api|neutron-dhcp-agent|neutron-l3-agent|neutron-server|nova-osapi|nova-api|nova-compute|nova-conductor|nova-consoleauth|nova-novncproxy|nova-scheduler)$
|
|
# NOTE(srwilkers): Look for specific keywords in the log key to determine
|
|
# log level of event
|
|
- tag_kubernetes_log_level:
|
|
header: match
|
|
type: rewrite_tag_filter
|
|
expression: "kube.var.log.containers.**.log"
|
|
rule:
|
|
-
|
|
- header: rule
|
|
key: log
|
|
pattern: /info/i
|
|
tag: info.${tag}
|
|
- header: rule
|
|
key: log
|
|
pattern: /warn/i
|
|
tag: warn.${tag}
|
|
- header: rule
|
|
key: log
|
|
pattern: /error/i
|
|
tag: error.${tag}
|
|
- header: rule
|
|
key: log
|
|
pattern: /critical/i
|
|
tag: critical.${tag}
|
|
- header: rule
|
|
key: log
|
|
pattern: (.+)
|
|
tag: info.${tag}
|
|
# NOTE(srwilkers): Create new key for log level, and use the tag prefix
|
|
# added previously
|
|
- add_kubernetes_log_level_and_application_key:
|
|
header: filter
|
|
type: record_transformer
|
|
enable_ruby: true
|
|
expression: "**.kube.var.log.containers.**.log"
|
|
record:
|
|
-
|
|
- header: record
|
|
level: ${tag_parts[0]}
|
|
application: ${record["kubernetes"]["labels"]["application"]}
|
|
- add_openstack_application_key:
|
|
header: filter
|
|
type: record_transformer
|
|
expression: "openstack.**"
|
|
record:
|
|
-
|
|
- header: record
|
|
application: ${tag_parts[1]}
|
|
#NOTE(srwilkers): This prefixes the tag for oslo.log entries from the
|
|
# fluent handler/formatter with the log level, allowing for lookups on
|
|
# openstack logs with a particular log level (ie: error.openstack.keystone)
|
|
- tag_openstack_log_level:
|
|
header: match
|
|
type: rewrite_tag_filter
|
|
expression: "openstack.**"
|
|
rule:
|
|
-
|
|
- header: rule
|
|
key: level
|
|
pattern: INFO
|
|
tag: info.${tag}
|
|
- header: rule
|
|
key: level
|
|
pattern: WARN
|
|
tag: warn.${tag}
|
|
- header: rule
|
|
key: level
|
|
pattern: ERROR
|
|
tag: error.${tag}
|
|
- header: rule
|
|
key: level
|
|
pattern: CRITICAL
|
|
tag: critical.${tag}
|
|
- syslog_elasticsearch:
|
|
header: match
|
|
type: elasticsearch
|
|
user: "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
password: "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
expression: "syslog.**"
|
|
include_tag_key: true
|
|
host: "#{ENV['ELASTICSEARCH_HOST']}"
|
|
port: "#{ENV['ELASTICSEARCH_PORT']}"
|
|
logstash_format: true
|
|
logstash_prefix: syslog
|
|
buffer_type: memory
|
|
buffer_chunk_limit: 10M
|
|
buffer_queue_limit: 512
|
|
flush_interval: 10
|
|
max_retry_wait: 300
|
|
request_timeout: 60
|
|
disable_retry_limit: ""
|
|
num_threads: 8
|
|
type_name: syslog
|
|
- ceph_elasticsearch:
|
|
header: match
|
|
type: elasticsearch
|
|
user: "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
password: "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
expression: "ceph-**.log"
|
|
include_tag_key: true
|
|
host: "#{ENV['ELASTICSEARCH_HOST']}"
|
|
port: "#{ENV['ELASTICSEARCH_PORT']}"
|
|
logstash_format: true
|
|
logstash_prefix: ceph
|
|
buffer_chunk_limit: 10M
|
|
buffer_queue_limit: 512
|
|
flush_interval: 10
|
|
max_retry_wait: 300
|
|
request_timeout: 60
|
|
disable_retry_limit: ""
|
|
num_threads: 8
|
|
type_name: ceph_logs
|
|
- oslo_fluentd_elasticsearch:
|
|
header: match
|
|
type: elasticsearch
|
|
user: "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
password: "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
expression: "**.openstack.*"
|
|
include_tag_key: true
|
|
host: "#{ENV['ELASTICSEARCH_HOST']}"
|
|
port: "#{ENV['ELASTICSEARCH_PORT']}"
|
|
logstash_format: true
|
|
logstash_prefix: openstack
|
|
buffer_type: memory
|
|
buffer_chunk_limit: 10M
|
|
buffer_queue_limit: 512
|
|
flush_interval: 10
|
|
max_retry_wait: 300
|
|
request_timeout: 60
|
|
disable_retry_limit: ""
|
|
num_threads: 8
|
|
type_name: oslo_openstack_fluentd
|
|
- docker_fluentd_elasticsearch:
|
|
header: match
|
|
type: elasticsearch
|
|
user: "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
password: "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
expression: "**.kube.**.log"
|
|
include_tag_key: true
|
|
host: "#{ENV['ELASTICSEARCH_HOST']}"
|
|
port: "#{ENV['ELASTICSEARCH_PORT']}"
|
|
logstash_format: true
|
|
buffer_type: memory
|
|
buffer_chunk_limit: 10M
|
|
buffer_queue_limit: 512
|
|
flush_interval: 10
|
|
max_retry_wait: 300
|
|
request_timeout: 60
|
|
disable_retry_limit: ""
|
|
num_threads: 8
|
|
type_name: docker_fluentd
|
|
fluentd_exporter:
|
|
log:
|
|
format: "logger:stdout?json=true"
|
|
level: "info"
|
|
templates:
|
|
syslog:
|
|
template: "syslog-*"
|
|
index_patterns: "syslog-*"
|
|
settings:
|
|
number_of_shards: 1
|
|
mappings:
|
|
syslog:
|
|
properties:
|
|
cluster:
|
|
type: keyword
|
|
app:
|
|
type: keyword
|
|
pid:
|
|
type: integer
|
|
host:
|
|
type: keyword
|
|
log:
|
|
type: text
|
|
ceph_logs:
|
|
template: "ceph-*"
|
|
index_patterns: "ceph-*"
|
|
settings:
|
|
number_of_shards: 1
|
|
mappings:
|
|
ceph_logs:
|
|
properties:
|
|
log:
|
|
type: text
|
|
oslo_openstack_fluentd:
|
|
template: "openstack-*"
|
|
index_patterns: "openstack-*"
|
|
settings:
|
|
number_of_shards: 1
|
|
mappings:
|
|
oslo_openstack_fluentd:
|
|
properties:
|
|
extra:
|
|
properties:
|
|
project:
|
|
type: text
|
|
norms: false
|
|
version:
|
|
type: text
|
|
norms: false
|
|
filename:
|
|
type: text
|
|
norms: false
|
|
funcname:
|
|
type: text
|
|
norms: false
|
|
message:
|
|
type: text
|
|
norms: false
|
|
process_name:
|
|
type: keyword
|
|
index: false
|
|
docker_fluentd:
|
|
template: "logstash-*"
|
|
index_patterns: "logstash-*"
|
|
settings:
|
|
number_of_shards: 1
|
|
mappings:
|
|
docker_fluentd:
|
|
properties:
|
|
kubernetes:
|
|
properties:
|
|
container_name:
|
|
type: keyword
|
|
index: false
|
|
docker_id:
|
|
type: keyword
|
|
index: false
|
|
host:
|
|
type: keyword
|
|
index: false
|
|
namespace_name:
|
|
type: keyword
|
|
index: false
|
|
pod_id:
|
|
type: keyword
|
|
index: false
|
|
pod_name:
|
|
type: keyword
|
|
index: false
|
|
dependencies:
|
|
- osh-infra-helm-toolkit
|
|
...
|