[Datadog] QueryPie ์ฐ๋ ๊ฐ์ด๋: RSyslog ํตํฉ ์ค์
1. ๊ฐ์
์ด ๊ฐ์ด๋๋ QueryPie์ Syslog ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ Datadog๊ณผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ด ํตํฉ์ ํตํด QueryPie์์ ์์ฑ๋ ๋ก๊ทธ์ ์ด๋ฒคํธ๋ฅผ Datadog์์ ๋ชจ๋ํฐ๋งํ๊ณ ๋ถ์ํ ์ ์์ต๋๋ค.
์ด ๋ฌธ์์์๋ Rsyslog ์ฌ์ฉ์ ์์๋ก ์ค๋ช ํ๊ณ ์์ผ๋, ๊ทธ ์ธ ๋ค๋ฅธ ๋ก๊ทธ ์ ์ก ์์คํ ์ ์ฌ์ฉํ์ฌ ์ฐ๋์ด ํ์ํ ๊ฒฝ์ฐ Datadog ์์ ์ ๊ณตํ๋ Log Configuration ์ค์ ์ ์ฐธ์กฐํ์ญ์์ค.
ย
2. ์ฌ์ ์๊ตฌ์ฌํญ
QueryPie ๊ด๋ฆฌ์ ๊ถํ
Datadog ๊ณ์ ๋ฐ API ํค
Datadog Agent / Rsyslog ๋ฅผ ์ค์นํ Linux ์๋ฒ
3. ์ฐ๋ ๊ณผ์
3.1. Linux ์๋ฒ์ RSyslog ์ค์น ๋ฐ ์ค์
3.1.1. RSyslog ์ค์น
Linux ์๋ฒ์ RSyslog ์ค์น:
sudo dnf update -y
sudo dnf install -y rsyslog3.1.2. RSyslog ์ค์
RSyslog ์ค์ ํ์ผ์ ์ฝ๋๋ค:
sudo vi /etc/rsyslog.confTCP ๋ฐ UDP ๋ชจ๋ ๋ฐ ๋ฆฌ์ค๋๋ฅผ ํ์ฑํํฉ๋๋ค:
# ํ
ํ๋ฆฟ ์ ์
template(name="RemoteLogFileName" type="string"
string="/var/log/rsyslog/%fromhost-ip%-%$YEAR%-%$MONTH%-%$DAY%.log")
# TCP/UDP๋ก ์์ ๋ ๋ชจ๋ ๋ฉ์์ง์ ๋ํ ๋ฃฐ ์ค์
module(load="imtcp")
input(type="imtcp" port="1514")
module(load="imudp")
input(type="imudp" port="514")
# ์์ ๋ ๋ฉ์์ง๋ฅผ ํ
ํ๋ฆฟ์ ๋ฐ๋ผ ์ ์ฅ
if $inputname == "imtcp" then {
action(type="omfile" dynaFile="RemoteLogFileName")
stop
}๋ก๊ทธ ์์ ์ ์ ์ฅํ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค:
sudo mkdir /var/log/rsyslog/usr/lib/systemd/system/rsyslog.service์ UMASK ๊ฐ์ 0022 ๋ก ์ง์ ํฉ๋๋ค:
UMask=0022RSyslog ์๋น์ค๋ฅผ (์ฌ)์์ํ๊ณ ๋ถํ ์ ์๋ ์์๋๋๋ก ์ค์ ํฉ๋๋ค:
sudo systemctl restart rsyslog
sudo systemctl enable rsyslogRSyslog๊ฐ ์ ์์ ์ผ๋ก ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค:
sudo systemctl status rsyslog(TCP ๊ธฐ์ค์ผ๋ก) ํฌํธ๊ฐ ์ด๋ ค์๋์ง ํ์ธํฉ๋๋ค:
sudo ss -tuln | grep 1514ย
3.2. Linux ์๋ฒ์ Datadog Agent ์ค์น
3.2.1. Datadog Agent ์ค์น
Datadog ํ์ด์ง์์ ๋ฐ๊ธ ๋ฐ์ Datadog Agent ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ์ํํฉ๋๋ค:
DD_API_KEY=$YOUR_API_KEY DD_SITE="ap1.Datadoghq.com" bash -c "$(curl -L https://install.Datadoghq.com/scripts/install_script_agent7.sh)"($YOUR_API_KEY๋ฅผ ์ค์ Datadog API ํค๋ก ๋์ฒดํ์ธ์.)
3.2.2. Datadog Agent ์ค์
Datadog Agent ์ค์ ํ์ผ์ ์ฝ๋๋ค:
sudo vi /etc/Datadog-agent/Datadog.yaml๋ก๊ทธ ์์ง ํ์ฑํ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค:
logs_enabled: trueSyslog ์ค์ ํ์ผ ์์ฑ:
sudo mkdir -p /etc/Datadog-agent/conf.d/rsyslog.d
sudo vi /etc/Datadog-agent/conf.d/rsyslog.d/conf.yaml๋ค์ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค:
logs:
- type: file
path: /var/log/rsyslog/*.log
service: rsyslog
source: rsyslog
sourcecategory: remote_logs
tags:
- environment:production
- service:rsyslog_server(Optional) Rsyslog ๊ฐ root ๊ถํ์ผ๋ก log๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ Agent๋ฅผ root ๊ทธ๋ฃน์ ์ถ๊ฐํ๊ณ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค:
# dd-agent ๋ฅผ root ๊ทธ๋ฃน์ ์ถ๊ฐ
sudo usermod -a -G root dd-agent
# root ๊ทธ๋ฃน์ ๋ก๊ทธ ๋๋ ํ ๋ฆฌ ์ฝ๊ธฐ ๊ถํ ์ค์
sudo chmod g+rx /var/log/rsyslogDatadog Agent๋ฅผ ์ฌ์์ํฉ๋๋ค:
sudo systemctl restart Datadog-agentDatadog Agent ์ํ๋ฅผ ํ์ธํฉ๋๋ค. Datadog Agent ์์ ๋ก๊ทธ ํ์ผ ์์ง์ด ์ ์์ ์ผ๋ก ์๋ ์ค์ธ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด
Status: OK๋ก ํ์ธ๋ฉ๋๋ค:
sudo Datadog-agent status
...
rsyslog
-------
- Type: file
Path: /var/log/rsyslog/*.log
Service: rsyslog
Source: rsyslog
Status: OK
5 files tailed out of 5 files matching
Inputs:
/var/log/rsyslog/172.18.0.2-2025-03-10.log
/var/log/rsyslog/172.18.0.2-2025-03-07.log
/var/log/rsyslog/172.18.0.2-2025-02-27.log
/var/log/rsyslog/172.18.0.2-2025-02-20.log
/var/log/rsyslog/172.18.0.2-2025-02-19.log
Bytes Read: 621ย
3.3. QueryPie์์ Syslog ์ค์ ํ์ฑํ
QueryPie ๊ด๋ฆฌ์ ํ์ด์ง์ ๋ก๊ทธ์ธํฉ๋๋ค.
General โ Integrations โ Syslog ๋ก ์ด๋ํฉ๋๋ค.
Configure ํด๋ฆญ ํ ์ค์ ์น์ ์ ์ฑ์๋๋ค.
Test Connection๋ฒํผ์ ํด๋ฆญํ์ฌ ์ฐ๊ฒฐ์ ํ ์คํธํฉ๋๋ค.์ฐ๊ฒฐ์ด ์ฑ๊ณตํ๋ฉด
OK๋ฒํผ์ ํด๋ฆญํ์ฌ ์ค์ ์ ์ ์ฅํฉ๋๋ค.ํ ๊ธ ๋ฒํผ์
ON์ผ๋ก ํ์ฑํํฉ๋๋ค.
4. ํ ์คํธ ๋ฐ ํ์ธ
QueryPie์์ ๋ช ๊ฐ์ง ์์ ์ ์ํํฉ๋๋ค (์: ๋ก๊ทธ์ธ, DB ์ฟผ๋ฆฌ ์คํ).
Datadog ์ฝ์์์
Logs > Explorer๋ก ์ด๋ํฉ๋๋ค.๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ Rsyslog ๋ก๊ทธ๋ฅผ ํํฐ๋งํฉ๋๋ค:
service:rsyslogQueryPie์์ ์์ฑ๋ ๋ก๊ทธ๊ฐ Datadog์ ๋ํ๋๋์ง ํ์ธํฉ๋๋ค.
5. ๋ฌธ์ ํด๊ฒฐ
๋ก๊ทธ๊ฐ ๋ณด์ด์ง ์๋ ๊ฒฝ์ฐ:
RSyslog๊ฐ ์คํ ์ค์ธ์ง ํ์ธ:
sudo systemctl status rsyslogRSyslog๊ฐ ๋ก๊ทธ๋ฅผ ์์ ํ๊ณ ์๋์ง ํ์ธ:
sudo ls -al /var/log/rsyslog/Datadog Agent๊ฐ ์คํ ์ค์ธ์ง ํ์ธ:
sudo systemctl status Datadog-agentSyslog ๋ฆฌ์ค๋๊ฐ ํ์ฑํ๋์๋์ง ํ์ธ:
sudo ss -tuln | grep 514RSyslog ๋ก๊ทธ์์ ์ค๋ฅ ํ์ธ:
sudo journalctl -u rsyslog.serviceDatadog Agent ๋ก๊ทธ ํ์ธ:
sudo tail -f /var/log/Datadog/agent.logDatadog Agent์ Syslog ์์ง ์ํ ํ์ธ:
sudo Datadog-agent statusQueryPie ๊ด๋ฆฌ์ ํ์ด์ง์์
General โ Integrations โ Syslog๋ก ์ด๋ํ์ฌ ์ค์ ์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธ
6. ์ฐธ๊ณ ์ฌํญ
Syslog ๋ฉ์์ง ํ์์ด๋ ํ๋ ๋งคํ์ ์ฌ์ฉ์ ์ ์ํ๋ ค๋ฉด Datadog์ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํด์ผ ํ ์ ์์ต๋๋ค.
๋๋์ ๋ก๊ทธ๋ฅผ ์ ์กํ๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ ๋์ญํญ๊ณผ ์๋ฒ ๋ฆฌ์์ค๋ฅผ ๊ณ ๋ คํ์ธ์.