Syslog

๐Ÿ“Œ Syslog Server ๊ตฌ์ถ• ๋ฐ ์„ค์ • ๊ฐ€์ด๋“œ ๐Ÿš€


1๏ธโƒฃ Syslog๋ž€?

**Syslog (System Logging Protocol)**์€ ์„œ๋ฒ„, ๋„คํŠธ์›Œํฌ ์žฅ๋น„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ์˜ ๋กœ๊ทธ๋ฅผ ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ์ˆ˜์ง‘ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ๋ฐ ๋„คํŠธ์›Œํฌ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์žฅ์•  ๋ฐœ์ƒ ์‹œ ์›์ธ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… Syslog์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ“ฅ ๋กœ๊ทธ ์ค‘์•™ ์ง‘์ค‘ํ™” โ€“ ์—ฌ๋Ÿฌ ์žฅ์น˜์—์„œ ๋กœ๊ทธ๋ฅผ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌ
  • ๐Ÿ” ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง โ€“ ๋กœ๊ทธ ๋ถ„์„์„ ํ†ตํ•ด ์„œ๋ฒ„ ์ƒํƒœ ๋ฐ ๋ณด์•ˆ ๊ฐ์‹œ
  • ๐Ÿ”„ ์ž๋™ํ™” ๋ฐ ๋Œ€์‘ โ€“ ํŠน์ • ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ์ž๋™ ์•Œ๋ฆผ ๋ฐ ์กฐ์น˜
  • ๐Ÿ’พ ์žฅ๊ธฐ์ ์ธ ๋กœ๊ทธ ๋ณด๊ด€ โ€“ ๋ณด์•ˆ ๋ฐ ๊ฐ์‚ฌ ๋ชฉ์ ์˜ ๋กœ๊ทธ ์ €์žฅ

2๏ธโƒฃ Syslog ์„œ๋ฒ„ ์„ค์น˜ (Linux ๊ธฐ๋ฐ˜)

๐Ÿ”น Ubuntu/Debian์—์„œ Rsyslog ์„ค์น˜

sudo apt update
sudo apt install rsyslog -y

์„ค์น˜ ํ›„, ์„œ๋น„์Šค ํ™œ์„ฑํ™” ๋ฐ ํ™•์ธ

sudo systemctl enable rsyslog
sudo systemctl start rsyslog
sudo systemctl status rsyslog

๐Ÿ”น CentOS/RHEL์—์„œ Rsyslog ์„ค์น˜

sudo yum install rsyslog -y

์„ค์น˜ ํ›„, ์„œ๋น„์Šค ํ™œ์„ฑํ™” ๋ฐ ํ™•์ธ

sudo systemctl enable rsyslog
sudo systemctl start rsyslog
sudo systemctl status rsyslog

3๏ธโƒฃ Syslog ์„œ๋ฒ„ ์„ค์ •

Syslog ์„ค์ • ํŒŒ์ผ์€ /etc/rsyslog.conf ์ž…๋‹ˆ๋‹ค.
์ด ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ ์›๊ฒฉ ๋กœ๊ทธ ์ˆ˜์ง‘ ๋ฐ ์ €์žฅ ๋ฐฉ์‹์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ 1. ์›๊ฒฉ ๋กœ๊ทธ ์ˆ˜์ง‘ ํ™œ์„ฑํ™”

/etc/rsyslog.conf ํŒŒ์ผ์„ ์—ด์–ด ์•„๋ž˜ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

sudo nano /etc/rsyslog.conf

๐Ÿ”น UDP(514๋ฒˆ ํฌํŠธ)๋กœ ๋กœ๊ทธ ์ˆ˜์‹  ์„ค์ •

# UDP ํฌํŠธ 514์—์„œ ๋กœ๊ทธ ์ˆ˜์‹  ํ—ˆ์šฉ
module(load="imudp")
input(type="imudp" port="514")

๐Ÿ”น TCP(514๋ฒˆ ํฌํŠธ)๋กœ ๋กœ๊ทธ ์ˆ˜์‹  ์„ค์ •

# TCP ํฌํŠธ 514์—์„œ ๋กœ๊ทธ ์ˆ˜์‹  ํ—ˆ์šฉ
module(load="imtcp")
input(type="imtcp" port="514")

๐Ÿ”น ๋กœ๊ทธ ํŒŒ์ผ ์ €์žฅ ๊ฒฝ๋กœ ์„ค์ •

$template RemoteLogs,"/var/log/remote_logs/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs

์„ค์ •์„ ์ €์žฅํ•œ ํ›„, rsyslog ์„œ๋น„์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

sudo systemctl restart rsyslog

4๏ธโƒฃ ํด๋ผ์ด์–ธํŠธ์—์„œ Syslog ์„œ๋ฒ„๋กœ ๋กœ๊ทธ ์ „์†ก

๐Ÿ“Œ 1. ํด๋ผ์ด์–ธํŠธ์—์„œ ๋กœ๊ทธ ์ „์†ก ์„ค์ • (/etc/rsyslog.conf)

ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์—์„œ ๋กœ๊ทธ๋ฅผ ์ค‘์•™ Syslog ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋ ค๋ฉด ์•„๋ž˜ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

sudo nano /etc/rsyslog.conf

๐Ÿ”น Syslog ์„œ๋ฒ„๋กœ ๋กœ๊ทธ ์ „์†ก (UDP)

*.* @192.168.1.100:514   # Syslog ์„œ๋ฒ„ IP์™€ ํฌํŠธ ์ž…๋ ฅ

๐Ÿ”น Syslog ์„œ๋ฒ„๋กœ ๋กœ๊ทธ ์ „์†ก (TCP)

*.* @@192.168.1.100:514  # '@@'๋Š” TCP ์ „์†ก์„ ์˜๋ฏธ

์„ค์ •์„ ์ €์žฅํ•œ ํ›„, rsyslog ์„œ๋น„์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

sudo systemctl restart rsyslog

5๏ธโƒฃ Syslog ๋กœ๊ทธ ํ™•์ธ

๐Ÿ“Œ 1. Syslog ์„œ๋ฒ„์—์„œ ์ˆ˜์ง‘๋œ ๋กœ๊ทธ ํ™•์ธ

ls /var/log/remote_logs/

ํŠน์ • ํ˜ธ์ŠคํŠธ์˜ ๋กœ๊ทธ ํ™•์ธ

cat /var/log/remote_logs/client-server-name/syslog.log

6๏ธโƒฃ ๋ฐฉํ™”๋ฒฝ ์„ค์ • (ํ•„์š”ํ•œ ๊ฒฝ์šฐ)

Syslog ์„œ๋ฒ„๊ฐ€ ์›๊ฒฉ์—์„œ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๋ฉด ๋ฐฉํ™”๋ฒฝ์—์„œ 514/UDP, 514/TCP ํฌํŠธ๋ฅผ ํ—ˆ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โœ… UFW ์‚ฌ์šฉ (Ubuntu/Debian)

sudo ufw allow 514/udp
sudo ufw allow 514/tcp
sudo ufw reload

โœ… firewalld ์‚ฌ์šฉ (CentOS/RHEL)

sudo firewall-cmd --permanent --add-port=514/udp
sudo firewall-cmd --permanent --add-port=514/tcp
sudo firewall-cmd --reload

7๏ธโƒฃ Syslog ๋กœ๊ทธ ๋ถ„์„ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๐Ÿ“Š

๐Ÿ“Œ 1. ๋กœ๊ทธ ํ•„ํ„ฐ๋ง (grep ์‚ฌ์šฉ)

cat /var/log/syslog | grep "error"

๐Ÿ“Œ 2. ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง

sudo tail -f /var/log/syslog

8๏ธโƒฃ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ (ELK ์Šคํƒ ์—ฐ๋™)

โœ… Syslog ๋ฐ์ดํ„ฐ๋ฅผ ELK(Elasticsearch + Logstash + Kibana)๋กœ ์ „์†กํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋ถ„์„ ๊ฐ€๋Šฅ

๐Ÿ”น Logstash๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Syslog ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๋ฉด ์•„๋ž˜ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

input {
  udp {
    port => 514
    type => "syslog"
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "syslog-%{+YYYY.MM.dd}"
  }
}

9๏ธโƒฃ ๊ฒฐ๋ก  ๐Ÿš€

Syslog ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด ์„œ๋ฒ„ ๋ฐ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์˜ ๋กœ๊ทธ๋ฅผ ์ค‘์•™์—์„œ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์œ„์˜ ๋ฐฉ๋ฒ•์„ ๋”ฐ๋ผ ์„ค์น˜ํ•˜๊ณ  ์„ค์ •ํ•˜๋ฉด ํšจ์œจ์ ์ธ ๋กœ๊ทธ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์šด์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋กœ๊ทธ ๋ถ„์„์„ ์ž๋™ํ™”ํ•˜๋ ค๋ฉด ELK ์Šคํƒ๊ณผ ์—ฐ๋™ํ•˜์—ฌ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์‹œ๊ฐํ™”ํ•˜๋Š” ๊ฒƒ๋„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”!

๐Ÿ“š ์ถ”๊ฐ€ ์ž๋ฃŒ
1๏ธโƒฃ Rsyslog ๊ณต์‹ ๋ฌธ์„œ
2๏ธโƒฃ ELK ์Šคํƒ ์„ค์ • ๊ฐ€์ด๋“œ
3๏ธโƒฃ Syslog ๋กœ๊ทธ ๋ถ„์„ ์‚ฌ๋ก€

RSS Feed
๋งˆ์ง€๋ง‰ ์ˆ˜์ •์ผ์ž