Fluentd + Azure Loganalytics
728x90

fluentd에서 azure-loganayltics 플러그인을 설치 한 뒤 conf 파일을 수정하면 된다.

ex) td-agent(fluentd rpm 설치)의 경우

sudo /usr/sbin/td-agent-gem install fluent-plugin-azure-loganalytics

ex) fluentd(ruby gem 설치)의 경우

sudo <ruby>/bin/gem install fluent-plugin-azure-loganalytics

azure portal

azure portal의 이미지는 여기에다가 올리기에는 보안 문제가 있으므로 글로 설명하겠다.

loganalytics 리소스가 생성되 있는 상태라고 가정하고

azure portal에 접속한 뒤 에이전트 관리, 위의 탭에서 window server, Linux Server 자기 서버에 맞게 선택

작업 영역 ID, 기본 키 복사 (노출되면 않됨)

conf 파일

<source>
  @type tail
  <parse>
  @type regexp
  expression /^\[(?<timestamp>\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2})\] \[(?<host_client_ip>.*?)\] \[(?<param>.*?)\] \[(?<header>.*?)\]$/
 </parse>
  path /var/log/*/*/%Y-%m-%d.txt
  pos_file /tmp/fluent/analytics/request/log_file.pos
  tag request.*
</source>
...(중략)
<match response.**>
    @type azure-loganalytics
    customer_id <작업 영역 ID>
    shared_key <기본키>
    log_type QAAccessLog
    add_time_field true
    time_field_name testtime
    time_format %FT%T%z
    localtime true
    add_tag_field true
    tag_field_name api
</match>

<match request.**>
    @type azure-loganalytics
    customer_id <작업 영역 ID>
    shared_key <기본키>
    log_type QAAccessLog # require
    add_time_field true # option
    time_field_name testtime # option
    time_format %FT%T%z # option
    localtime true # option
    add_tag_field true #option
    tag_field_name api #option
</match>

위에서 require는 필수 입력 사항이고 option은 안넣어도 되는 사항이다.

add_tag_field true 에서 컬럼이 하나 추가 되고 tag_field_name 이 api로 설정된 걸 볼 수 있다.
api라는 컬럼에 match 태그에 있는 tag 이름이 들어가게 된다.

<source>
 ...
 path  path /var/log/*/*/%Y-%m-%d.txt
 tag request.*
</source>

이렇게 tag에 * 이 들어가면 * 부분에 path가 들어가게 된다.
request.var...2022-07-25.txt

이렇게 되면 api라는 컬럼에는 request.var.log.happycode.api-req...2022-07-25.txt 가 들어가게 된다.

728x90

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

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