Elastic Stack

EFK (RDB 연계)

희쨔응 2023. 2. 2. 15:16

테스트 서버에 아래 같은 데모를 구축하여 테스트 완료 하였습니다.

먼저 MariaDB에 적재 되어 있는 Table의 Data를 Fluentd가 아래 소스와 같이 SQL을 사용하여 json형식으로 추출한 후 ElasticSearch에 넣어 줍니다.

이후 kibana에서 해당 Index 패턴을 정의 해준 후 Dashboard형식으로 표출 합니다.

<source>
  @type mysql_replicator
  host IP
  username root
  password ishark2020
  database ishark
  query SELECT id,id2,id3 FROM fluenttestsss
  primary_key id
  interval 10s
  enable_delete no
  tag replicator.livechat.chat_chennaibox.${event}.${primary_key}
</source>
<match replicator.**>
   type mysql_replicator_elasticsearch
  host IP
  port 9200
  tag_format (?<index_name>[^\.]+)\.(?<type_name>[^\.]+)\.(?<event>[^\.]+)\.(?<primary_key>[^\.]+)$
  flush_interval 5s
  max_retry_wait 1800
  flush_at_shutdown yes
  buffer_type file
  buffer_path /var/log/td-agent/buffer/mysql_replicator_elasticsearch.*
</match>

구동 화면

Kibana를 통해 적재된 Index 조회