376 lines
10 KiB
YAML
376 lines
10 KiB
YAML
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
schema: metadata/Document/v1
|
|
name: fluentd-global
|
|
layeringDefinition:
|
|
abstract: true
|
|
layer: global
|
|
labels:
|
|
hosttype: fluentd-global
|
|
storagePolicy: cleartext
|
|
substitutions:
|
|
# Chart source
|
|
- src:
|
|
schema: pegleg/SoftwareVersions/v1
|
|
name: software-versions
|
|
path: .charts.osh_infra.fluentd
|
|
dest:
|
|
path: .source
|
|
|
|
# Images
|
|
- src:
|
|
schema: pegleg/SoftwareVersions/v1
|
|
name: software-versions
|
|
path: .images.osh_infra.fluentd
|
|
dest:
|
|
path: .values.images.tags
|
|
|
|
# Endpoints
|
|
- 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: fluentd
|
|
release: fluentd
|
|
namespace: osh-infra
|
|
wait:
|
|
timeout: 900
|
|
labels:
|
|
release_group: airship-fluentd
|
|
install:
|
|
no_hooks: false
|
|
upgrade:
|
|
no_hooks: false
|
|
pre:
|
|
delete:
|
|
- type: job
|
|
labels:
|
|
release_group: airship-fluentd
|
|
create: []
|
|
post:
|
|
create: []
|
|
values:
|
|
monitoring:
|
|
prometheus:
|
|
enabled: true
|
|
pod:
|
|
resources:
|
|
enabled: true
|
|
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
|
|
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:
|
|
fluentd:
|
|
template: |
|
|
<source>
|
|
bind 0.0.0.0
|
|
port 24220
|
|
@type monitor_agent
|
|
</source>
|
|
|
|
<source>
|
|
bind 0.0.0.0
|
|
port "#{ENV['FLUENTD_PORT']}"
|
|
@type forward
|
|
</source>
|
|
|
|
<match fluent.**>
|
|
@type null
|
|
</match>
|
|
|
|
<match kube.var.log.containers.**.log>
|
|
<rule>
|
|
key log
|
|
pattern /info/i
|
|
tag info.${tag}
|
|
</rule>
|
|
<rule>
|
|
key log
|
|
pattern /warn/i
|
|
tag warn.${tag}
|
|
</rule>
|
|
<rule>
|
|
key log
|
|
pattern /error/i
|
|
tag error.${tag}
|
|
</rule>
|
|
<rule>
|
|
key log
|
|
pattern /critical/i
|
|
tag critical.${tag}
|
|
</rule>
|
|
<rule>
|
|
key log
|
|
pattern (.+)
|
|
tag info.${tag}
|
|
</rule>
|
|
@type rewrite_tag_filter
|
|
</match>
|
|
|
|
<filter **.kube.var.log.containers.**.log>
|
|
enable_ruby true
|
|
<record>
|
|
application ${record["kubernetes"]["labels"]["application"]}
|
|
level ${tag_parts[0]}
|
|
</record>
|
|
@type record_transformer
|
|
</filter>
|
|
|
|
<filter openstack.**>
|
|
<record>
|
|
application ${tag_parts[1]}
|
|
</record>
|
|
@type record_transformer
|
|
</filter>
|
|
|
|
<match openstack.**>
|
|
<rule>
|
|
key level
|
|
pattern INFO
|
|
tag info.${tag}
|
|
</rule>
|
|
<rule>
|
|
key level
|
|
pattern WARN
|
|
tag warn.${tag}
|
|
</rule>
|
|
<rule>
|
|
key level
|
|
pattern ERROR
|
|
tag error.${tag}
|
|
</rule>
|
|
<rule>
|
|
key level
|
|
pattern CRITICAL
|
|
tag critical.${tag}
|
|
</rule>
|
|
@type rewrite_tag_filter
|
|
</match>
|
|
|
|
<match *.openstack.**>
|
|
<rule>
|
|
key application
|
|
pattern keystone
|
|
tag auth.${tag}
|
|
</rule>
|
|
<rule>
|
|
key application
|
|
pattern horizon
|
|
tag auth.${tag}
|
|
</rule>
|
|
<rule>
|
|
key application
|
|
pattern mariadb
|
|
tag auth.${tag}
|
|
</rule>
|
|
<rule>
|
|
key application
|
|
pattern memcached
|
|
tag auth.${tag}
|
|
</rule>
|
|
<rule>
|
|
key application
|
|
pattern rabbitmq
|
|
tag auth.${tag}
|
|
</rule>
|
|
@type rewrite_tag_filter
|
|
</match>
|
|
|
|
<match libvirt>
|
|
<buffer>
|
|
chunk_limit_size 8MB
|
|
flush_interval 15s
|
|
flush_thread_count 8
|
|
queue_limit_length 256
|
|
retry_forever false
|
|
retry_max_interval 30
|
|
</buffer>
|
|
host "#{ENV['ELASTICSEARCH_HOST']}"
|
|
reload_connections false
|
|
reconnect_on_error true
|
|
reload_on_failure true
|
|
include_tag_key true
|
|
logstash_format true
|
|
logstash_prefix libvirt
|
|
password "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
port "#{ENV['ELASTICSEARCH_PORT']}"
|
|
@type elasticsearch
|
|
user "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
</match>
|
|
|
|
<match qemu>
|
|
<buffer>
|
|
chunk_limit_size 8MB
|
|
flush_interval 15s
|
|
flush_thread_count 8
|
|
queue_limit_length 256
|
|
retry_forever false
|
|
retry_max_interval 30
|
|
</buffer>
|
|
host "#{ENV['ELASTICSEARCH_HOST']}"
|
|
reload_connections false
|
|
reconnect_on_error true
|
|
reload_on_failure true
|
|
include_tag_key true
|
|
logstash_format true
|
|
logstash_prefix qemu
|
|
password "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
port "#{ENV['ELASTICSEARCH_PORT']}"
|
|
@type elasticsearch
|
|
user "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
</match>
|
|
|
|
<match journal.**>
|
|
<buffer>
|
|
chunk_limit_size 8MB
|
|
flush_interval 15s
|
|
flush_thread_count 8
|
|
queue_limit_length 256
|
|
retry_forever false
|
|
retry_max_interval 30
|
|
</buffer>
|
|
host "#{ENV['ELASTICSEARCH_HOST']}"
|
|
reload_connections false
|
|
reconnect_on_error true
|
|
reload_on_failure true
|
|
include_tag_key true
|
|
logstash_format true
|
|
logstash_prefix journal
|
|
password "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
port "#{ENV['ELASTICSEARCH_PORT']}"
|
|
@type elasticsearch
|
|
user "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
</match>
|
|
|
|
<match kernel>
|
|
<buffer>
|
|
chunk_limit_size 8MB
|
|
flush_interval 15s
|
|
flush_thread_count 8
|
|
queue_limit_length 256
|
|
retry_forever false
|
|
retry_max_interval 30
|
|
</buffer>
|
|
host "#{ENV['ELASTICSEARCH_HOST']}"
|
|
reload_connections false
|
|
reconnect_on_error true
|
|
reload_on_failure true
|
|
include_tag_key true
|
|
logstash_format true
|
|
logstash_prefix kernel
|
|
password "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
port "#{ENV['ELASTICSEARCH_PORT']}"
|
|
@type elasticsearch
|
|
user "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
</match>
|
|
|
|
<match **>
|
|
<buffer>
|
|
chunk_limit_size 8MB
|
|
flush_interval 15s
|
|
flush_thread_count 8
|
|
queue_limit_length 256
|
|
retry_forever false
|
|
retry_max_interval 30
|
|
</buffer>
|
|
host "#{ENV['ELASTICSEARCH_HOST']}"
|
|
reload_connections false
|
|
reconnect_on_error true
|
|
reload_on_failure true
|
|
include_tag_key true
|
|
logstash_format true
|
|
password "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
port "#{ENV['ELASTICSEARCH_PORT']}"
|
|
@type elasticsearch
|
|
type_name fluent
|
|
user "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
</match>
|
|
|
|
<match *ceph-**.log>
|
|
<buffer>
|
|
chunk_limit_size 8MB
|
|
flush_interval 15s
|
|
flush_thread_count 8
|
|
queue_limit_length 256
|
|
retry_forever false
|
|
retry_max_interval 30
|
|
</buffer>
|
|
host "#{ENV['ELASTICSEARCH_HOST']}"
|
|
reload_connections false
|
|
reconnect_on_error true
|
|
reload_on_failure true
|
|
include_tag_key true
|
|
logstash_format true
|
|
logstash_prefix ceph
|
|
password "#{ENV['ELASTICSEARCH_PASSWORD']}"
|
|
port "#{ENV['ELASTICSEARCH_PORT']}"
|
|
@type elasticsearch
|
|
user "#{ENV['ELASTICSEARCH_USERNAME']}"
|
|
</match>
|
|
dependencies:
|
|
- osh-infra-helm-toolkit
|
|
...
|