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 |
Comment