Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

mega's Blog

fluentd config 예제 본문

카테고리 없음

fluentd config 예제

megadev 2021. 10. 7. 22:26

1. 로그 전송 agent

<source>
  @type tail
  @label @GAMELOG
  path /data/NBA_NOW/logs/GameServer/ACCESS.log
  pos_file /data/fluentd/pos/GameServer/ACCESS.log.pos
  tag log.gameserver.access
  
  <parse>
    @type regexp
    expression /^(?<logtime>\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}) \[([A-Z]*)\] - (?<message>(.)*)$/
  </parse>
</source>

<source>
  @type tail
  @label @GAMELOG
  path /data/NBA_NOW/logs/GameServer/DEBUG.log
  pos_file /data/fluentd/pos/GameServer/DEBUG.log.pos
  tag log.gameserver.debug
  
  <parse>
    @type multiline
    format_firstline /^\d{4}\/\d{2}\/\d{2}/
    format1 /^(?<logtime>\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}) \[([A-Z]*)\] - (?<message>(.)*)$/
  </parse>
</source>

<source>
  @type tail
  @label @GAMELOG
  path /home/nba/NBA_V2_Bin/GameServer/logs/OBSERVER.log
  pos_file /data/fluentd/pos/GameServer/OBSERVER.log.pos
  tag log.gameserver.observer
  
  <parse>
      @type multiline
      format_firstline /^\d{4}\/\d{2}\/\d{2}/
      format1 /^(?<logtime>\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}) \[([A-Z]*)\] - (?<message>(.)*)$/
  </parse>
</source>

<label @GAMELOG>
  # Oberver로그 중 "[DBCommandPool:" 문자열이 포함된 메시지는 제외
  <filter log.gameserver.observer>
      @type grep
      <exclude>
          key message
          pattern /\[DBCommandPool:/
      </exclude>
  </filter>
  
  <filter log.gameserver.access>
      @type grep
      <exclude>
          key message
          pattern /\/public\/nbanow21.ping/
      </exclude>
  </filter>  
    
  <filter log.gameserver.*>
    @type record_transformer
    <record>
      hostname ${hostname}
    </record>
  </filter>

  <match log.gameserver.*>
    @type forward
    send_timeout 60s
    recover_wait 10s
    hard_timeout 60s
  
    <buffer tag>
      @type memory
      flush_mode interval
      flush_interval 5s
      flush_at_shutdown true
      flush_thread_count 4
    </buffer>

    <server>
       name nss-gamelog01
       host 172.18.42.91
       port 54224
       weight 100
    </server>
                                                                                                                                                         
    <secondary>
      @type file
      path /data/fluentd/exception/forward-failed-gameserver
    </secondary>
  </match>
</label>

2. 로그 수신 agent

<source>
  @type forward
  port 24224
  bind 0.0.0.0
</source>

<match log.gameserver.*>
  @type file
  path /data/logs/GameServer/${tag[2]}.%Y-%m-%d.%H%M
  symlink_path /data/logs/GameServer/buffer.log
  append true

  <buffer tag,time>
    @type file
    path /data/fluentd/buffer/forward-buffer-gameserver
    # 다음과 같은 값이 설정되었다고 한다면 매시 10분59초 (9분59초 + 1분)에 flush 됩니다.
    timekey 10m
    timekey_wait 1m
    flush_mode interval
    flush_interval 5s
    flush_at_shutdown true
    flush_thread_count 4
  </buffer>
  
  <format>
    @type tsv
    keys logtime,hostname,message
    delimiter ' | '
  </format>  
</match>
Comments