Fluentd Http Test
728x90

Fluentd 에서 http로 다른 서버로 로그 전송 후 로그를 받은 서버에서 log analytics로 전송하도록 만들었다.

 

로그 전송 서버

<source>
 @type tail
 encoding utf-8
 <parse>
  @type regexp
  expression /^\[(?<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\]\[(?<jsession_id>.*?)\] \[(?<method>.*?)\] (?<result>.*?)$/
 </parse>
  path <logPath>/%Y-%m-%d.txt
  pos_file /tmp/fluent/log_file.pos
  tag test.t1
</source>

<filter test.t1>
  @type record_modifier
  char_encoding utf-8
  <record>
    host_ip "#{Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address}"
  </record>
</filter>

<match test.t1>
  @type http

  endpoint http://<ip>:24224/jcgf.member
  json_array true
  <buffer>
   flush_interval 2s
  </buffer>
</match>

로그 수집 서버

<source>
  @type http
  port 24224
  bind 0.0.0.0
 <parse>
   @type json
   time_key nil
 </parse>
</source>

<filter test.**>
 @type record_modifier
 char_encoding utf-8
</filter>

<match test.t2>
    @type azure-loganalytics
    customer_id <customer_id>
    shared_key <shared_key>
    log_type testT2
    add_time_field true
    time_field_name testtime
    time_format %FT%T%z
    localtime true
</match>

<match test.t1>
    @type azure-loganalytics
    customer_id <customer_id>
    shared_key <shared_key>
    log_type testT1
    add_time_field true
    time_field_name testtime
    time_format %FT%T%z
    localtime true
</match>

<match test.t3.**>
    @type azure-loganalytics
    customer_id <customer_id>
    shared_key <shared_key>
    log_type testT3
    add_time_field true
    time_field_name testtime
    time_format %FT%T%z
    localtime true
</match>

수집 서버는 로그를 수집하는 동시에 json 타입으로 파싱 후 utf-8 인코딩 방식으로 인코딩을 한 후에 log analytics로 전송한다.

 

TEST

test 툴 : JMETER
사용 쓰레드 : 10
쓰레드 당 요청 건 : 10000

걸린시간 : 14분 35초

요청 넣은 url : /index/login

 

로그 전송 서버

CPU : 0~9%
MEM : 0~2.1%

 

로그 수집 서버

CPU : 0.3 ~ 1.7 %
MEM : 0.8 ~ 0.9 %

728x90

'Fluentd > 적용' 카테고리의 다른 글

Fluentd from ASCII-8BIT to UTF-8 error  (0) 2022.07.31
Fluentd Config 파일 분리하기  (0) 2022.07.25
Fluentd + Azure Loganalytics  (0) 2022.07.25
Fluentd Installation ( ruby gem )  (0) 2022.07.25
Fluentd access log 500 에러만 남기기  (0) 2022.06.23