Log Aggregation/FluentD

Spring Logback -> FluentD -> ES 연동 - 3. FluentD Systemd Service 구성

Camouflage129 2021. 1. 12. 16:42

지난 글에서 아래와 같이 수행하여 AutoScaling의 경우 수행하면 된다고 하였지만, 

 

fluentd -c /home/ec2-user/.fluentd-ui/fluentd-ui.conf -d /home/ec2-user/.fluentd-ui/fluentd-ui.pid

 

Systemctl enable로 해놓으면 서버가 켜지면서 수행되기 때문에 신경쓸 필요가 없습니다.

 

먼저 저는 수행하다보니 .fluentd-ui의 폴더 경로를 찾지 못하는 에러를 발견하여서

 

/home/ec2-user/fluentd라는 폴더를 만들고 해당 폴더에 conf를 세팅하겠습니다.

 

mkdir fluentd
cp .fluent-ui/fluent.conf fluentd/fluentd.conf

 

해당 폴더에 세팅이 되었으면 아래 경로에 fluentd.service를 만들어주겠습니다.

 

sudo vi /etc/systemd/system/fluentd.service

 

fluend.service 내용

 

[Unit]
Description=Fluentd
Documentation=http://www.fluentd.org/
After=network.target

[Service]
Type=forking
User=ec2-user
Group=ec2-user
ExecStart=/home/ec2-user/bin/fluentd -c /home/ec2-user/fluentd/fluentd.conf -o /home/ec2-user/fluentd/fluentd.log -d /home/ec2-user/fluentd/fluentd.pid
Restart=on-failure

[Install]
WantedBy=multi-user.target

 

여기서 -o는 로그가 쌓이는 경로이고, conf가 있는 경로에 쌓게 하였지만, 다른곳을 원하신다면 해당부분을 수정하시면 됩니다.

pid는 생성되는 프로세스 id값을 저장해두기 위한 용도로 사용되니, 따로 파일을 만드시면 안됩니다.

 

이후 아래와 같이 수행시켜주시고 확인하시면 됩니다.

 

sudo systemctl enable fluentd.service
sudo systemctl start fluentd.service
sudo systemctl status fluentd.service