Overview
配置¶
Loggie的配置主要分为两类:
系统配置¶
全局的系统配置,启动参数中使用-config.system指定,包含如下:
loggie.yml
# loggie.yml
loggie:
  monitor:
    logger:
      period: 30s
      enabled: true
    listeners:
      filesource: ~
      filewatcher: ~
      reload: ~
      sink: ~
  discovery:
    enabled: false
  reload:
    enabled: true
    period: 10s
  defaults:
    sink:
      type: dev
  http:
    enabled: true
    port: 9196
Pipeline配置¶
Pipeline的配置,通过启动参数-config.pipeline指定。表示队列使用的Source、Sink、Queue和Interceptor。
- Source: 每个Pipeline可配置多个Source
 - Interceptor: 每个Pipeline可配置多个Interceptor
 - Sink: 每个Pipeline可配置一个Sink
 - Queue: 默认为channel队列,一般无需配置
 
pipeline.yml
pipelines:
- name: demo # pipeline name必填
  sources:
    - type: ${sourceType}
      name: access # source中name必填
      ...
  interceptors:
  - type: ${interceptorType}
    ...
  sink:
    type: ${sinkType}
    ...
Kubernetes CRD¶
Loggie定义了以下几个CRD用于在Kubernetes集群环境里下发配置:
- 
LogConfig:namespace级别,表示一个Pipeline配置,可用于采集Pods的容器日志。
 - 
ClusterLogConfig:cluster级别,表示一个Pipeline配置,包括集群级别的跨Namespace采集Pod容器日志,采集Node节点上的日志,以及为某个Loggie集群下发通用的pipeline配置。
 - 
Sink:cluster级别,表示一个sink配置,可以在LogConfig/ClusterLogConfig中引用该Sink。
 - 
Interceptors:cluster级别,表示一个interceptors组,可以在LogConfig中引用该interceptors组。
 
Note
ClusterLogConfig/LogConfig中的pipeline可以定义sink和interceptor,用于该pipeline的sink/interceptor。
如果你希望在多个ClusterLogConfig/LogConfig中复用sink或者interceptor,可以创建Sink/Interceptor CR,在ClusterLogConfig/LogConfig中使用sinkRef/interceptorRef进行引用。