- ์์ฝ
- ๋ฐฐ๊ฒฝ
- ์จํ๋ ๋ฏธ์ค ์ธํ๋ผ
- Rocky Linux 9, BIND 9.16.23, rsyslogd 8.2102.0-113.el9_2
- ๋ก๊ทธ๋ฅผ ๋ณด๋ด๋ ๋์ฐฉ์ง ์ฃผ์๋ LB
- ์ ์ฐจ
- ์๊ฒฉ ์๋ฒ
- rsyslog์์ ๋ก๊ทธ๋ฅผ ์์ ํ ํฌํธ ์ด์ด ์ฃผ๊ธฐ
- Cache DNS ์๋ฒ
- rsyslog์์ ๋ก๊น ์ค์ ์ถ๊ฐ
- named ๋ก๊ทธ ์ธํ
- ํ์์ ๋ฐ๋ผ, rsyslog๊ฐ ๋ณด๋ผ ์ ์๋ ์ฟผ๋ฆฌ์ ์ ํ ์๋์ ์กฐ์
- ์๊ฒฉ ์๋ฒ
- ๋ฐฐ๊ฒฝ
- ๋ฐฐ๊ฒฝ
- ํ ๋ถ์์ ์์ฒญ์ผ๋ก, ๋ด๊ฐ ๊ด๋ฆฌํ๋ ์บ์ DNS ์๋ฒ์์ BIND ๋ก๊ทธ๋ฅผ ๋ก๊ทธ์คํ์ ์๋ฒ๋ก ์๊ฒ ํ ์ผ์ด ์๊ฒผ๋ค. ๋ฐ์ ์ ๋ณด๋ ๋ก๊ทธ์คํ์ ์๋ฒ ์ ๋จ์ ์๋ LB์ IP ์ฃผ์์ ์ฌ์ฉ ํฌํธ(UDP 5063)์ด๋ค.
- ๋ด๊ฐ ์์คํ
๊ด๋ฆฌ์์ด๋ฏ๋ก ๋ชจ๋ ์๋ฒ์ ๋ํ ์ ์์ ์์ ๋กญ๊ฒ ๊ฐ๋ฅํจ.
- ์ ์ฐจ
- ์๊ฒฉ ์๋ฒ - logstash-01/02
- ๋ฃจํธ ๊ถํ์ผ๋ก /etc/rsyslog.conf๋ฅผ ์ด๊ณ , ์๋ ์ฃผ์์ ํ์ธํ๋ค.
... # Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html #module(load="imudp") # needs to be done just once #input(type="imudp" port="514") # Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html #module(load="imtcp") # needs to be done just once #input(type="imtcp" port="514") ...โ
- ์ํ๋ ํ๋กํ ์ฝ๊ณผ ํฌํธ์ ๋ง์ถ์ด, ๋ ์ฝ๋ ๋ธ๋ญ ์ค ํ ๊ณณ์ ์ฃผ์์ ํ์ด๊ณ ํฌํธ๋ฅผ ์ง์ ํ๋ค.
... # Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html module(load="imudp") # needs to be done just once input(type="imudp" port="5063") ...โ
- `systemctl restart rsyslogd`๋ก ์ฌ๊ธฐ๋ ํ, ์๋์ ๊ฐ์ด ํฌํธ ๊ฐ๋ฐฉ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
์๋ฐ๋ ์ด๋ฆฐ ๊ฑธ ๋ณผ ์ ์๋๋ฐ, ์ ๊ฒ ๋ก๊ทธ์คํ์๋๋ผ. /usr/share/logstash/jdk/bin/java๊ฐ ๋๋ ๊ฒ์ด๋ค.$ netstat -unlp | grep 5063 udp 0 0 0.0.0.0:5063 0.0.0.0:* 1777459/java udp6 0 0 :::5063 :::* 1792701/rsyslogdโ
- ๋ฃจํธ ๊ถํ์ผ๋ก /etc/rsyslog.conf๋ฅผ ์ด๊ณ , ์๋ ์ฃผ์์ ํ์ธํ๋ค.
- ์บ์ DNS ์๋ฒ - cdns-01/02
- named ์ค์ ์ ๊ณ ์น๊ธฐ ์ ์, ์ฌ๊ธฐ์๋ rsyslog ์ค์ ์ ์๋์ผ ํ๋ค. ์ด ์๋ฒ๋ /etc/rsyslog.conf์ ์์ ๋๋ ๋์ /etc/rsyslog.d/bind-log.conf๋ฅผ ์์ฑํด ๋๊ณ ์๋ ๊ตฌ๋ฌธ์ ์ถ๊ฐํ๋ค.
local0.* @192.168.0.5:5063โ
- local0: ์ฌ๋ถ์ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ์ํด ๋จ์ local0~7 ์ค ํ๋. ๊ธฐ์กด์ local0์ ์จ ๋์๋ค๋ฉด ๋ค๋ฅธ ๊ฑฐ ์ฐ๋ฉด ๋ ๊ฑฐ ๊ฐ๋ค. ์ฌ์ค ์ฌ๊ธฐ๊น์ง๋ง ์ดํดํ๊ณ , ์ ํํ ์ด ๋ถ๋ถ์ ์ด๋ ๋ ์๋ค์ด ๋ค์ด๊ฐ๋์ง๋ ์ข๋ ๋ด์ผ ํ๋ค..
- 192.168.0.5: ๋ก๊ทธ์คํ์ LB์ IP
- ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฃจํธ ๊ถํ์ผ๋ก /etc/named.conf๋ฅผ ์ด๊ณ , ๋ก๊น
์ธํ
์ ์๋์ ๊ฐ์ด ํด ์ค๋ค. named.d ๋๋ ํ ๋ฆฌ ์์ ๋ณ๋์ .conf ํ์ผ ํ๋ ๋ง๋ค๊ณ ํด ์ค๋ ์ข๋ค. queries_rsyslog ์ฑ๋์ syslog ํญ๋ชฉ์ ์์์ ์
๋ ฅํ local0๊ฐ ๋ค์ด๊ฐ๋ ๊ฒ์ ํ์ธํ๋ผ.
// syslog ์ฟผ๋ฆฌ ๋ก๊ทธ ๋ณด๋ด๋ ์ธํ ๋ง ํ๊ณ ์ถ์ ๋ logging { channel queries_rsyslog { syslog local0; print-time yes; print-category yes; print-severity yes; severity info; }; category queries { queries_rsyslog; }; }; // ๊ทธ ์ธ์ ๋ก์ปฌ์ ์๋ ๋ก๊ทธ๋ ๊ฐ์ด ์ถ๊ฐํ๊ณ ์ถ์ ๋ logging { channel default_log { file "/var/named/log/default.log" versions 50 size 20m; print-time yes; print-severity yes; print-category yes; severity info; }; channel queries_log { file "/var/named/log/queries.log" versions 50 size 20m; print-time yes; print-category yes; print-severity yes; severity info; }; channel query_errors_log { file "/var/named/log/query_errors.log" versions 50 size 20m; print-time yes; print-category yes; print-severity yes; severity info; }; channel queries_rsyslog { syslog local0; print-time yes; print-category yes; print-severity yes; severity info; }; category default { default_log; }; category queries { queries_log; queries_rsyslog; }; category query-errors { query_errors_log; }; category lame-servers { null; }; };โ
- ๋ง์ง๋ง์ผ๋ก, ์บ์ DNS ์ธก์ rsyslog๊ฐ ๋ณด๋ผ ์ ์๋ ๋ฉ์์ง์ ์ต๋ ์๋ฅผ ์กฐ์ ํ๋ค. ์ฌ๋ก๋ ์๋์ ์ ๋๋ค.
... #### MODULES #### ... module(load="imjournal" RateLimit.Interval="30" # 30์ด ์์ ๋ณด๋ผ ์ ์๋ ๋ฉ์์ง ์๋ฅผ RateLimit.Burst="20000" # 2๋ง ๊ฐ๋ก ์ง์ ํ๋ค. StateFile="imjournal.state") ...โ
- ๋ง์ณค์ผ๋ฉด rsyslogd์ named๋ฅผ ์ฐจ๋ก๋ก ์ฌ๊ธฐ๋ํด ์ฃผ์. ๊ทธ ๋ค์, ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ํ์ธํ๋ฉด ๋๋ค.
์ฃผ์: named๋ `named-checkconf` ๋ช ๋ น์ผ๋ก ์ฐ์ ์ค๋ฅ ์๋์ง ํ์ธํด ์ฃผ์. ๊ทธ๋ฆฌ๊ณ ๋ก๊ทธ ๋จ๊ธฐ๋ ๊ฑด reload๋ง ํด์๋ ์์๋์ง ์๋๋ผ. ๊ทธ๋์ ์ด์คํ ๋ ๋ค๋ฅธ ํ ์๋ฒ๊ฐ ์ ์์ ์ผ๋ก ๋๋ ๊ฑฐ ํ์ธํ ์ํ์์ restart๋ฅผ ํด ์ฃผ์ด์ผ ํ๋ค.
- named ์ค์ ์ ๊ณ ์น๊ธฐ ์ ์, ์ฌ๊ธฐ์๋ rsyslog ์ค์ ์ ์๋์ผ ํ๋ค. ์ด ์๋ฒ๋ /etc/rsyslog.conf์ ์์ ๋๋ ๋์ /etc/rsyslog.d/bind-log.conf๋ฅผ ์์ฑํด ๋๊ณ ์๋ ๊ตฌ๋ฌธ์ ์ถ๊ฐํ๋ค.
- ์๊ฒฉ ์๋ฒ - logstash-01/02
- ์ด์ ์ฌ๋ก - ์๊ฐ ๋น ์ก์ ๊ฐ๋ฅํ ๋ฉ์์ง ์ต๋ ์ ์ด๊ณผ๋ก ์ธํ ์ก์ ์คํจ
- ์บ์ DNS ์๋ฒ์์ tcpdump๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์คํ์๋ก ๊ฐ๋ udp 5063 ํต์ ํจํท์ ํ์ธํ๋ ๋์ค ๋ฐ๊ฒฌํ๋ค. ์ด ์บ์ DNS ์๋ฒ๋ค์ ๋ถ๋น ์์ฒ ๊ฐ์ DNS ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์๋ค์ด๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ์ผ๋ก rsyslog๊ฐ ์๋ ๋ฉ์์ง ์๋ ๊ทธ๋งํผ ๋์ด์ผ ํ๋๋ฐ, 10๋ถ ๊ฐ๊ฒฉ์ผ๋ก ๋ฉ์์ง ์๊ธฐ๋ฅผ ๋ฉ์ถ๋๋ 5~10๋ถ ๊ฐ ์๋ฌด๋ฐ ํจํท์ด ์กํ์ง ์์๋ค.
... Dec 28 16:47:18 cdns-01 rsyslogd[1020665]: imjournal: 16464 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 16:57:19 cdns-01 rsyslogd[1020665]: imjournal: 14487 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 17:07:20 cdns-01 rsyslogd[1020665]: imjournal: 24646 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 17:17:21 cdns-01 rsyslogd[1020665]: imjournal: 18538 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 17:27:22 cdns-01 rsyslogd[1020665]: imjournal: 15630 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 17:37:23 cdns-01 rsyslogd[1020665]: imjournal: 18411 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 17:47:24 cdns-01 rsyslogd[1020665]: imjournal: 17545 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 17:57:25 cdns-01 rsyslogd[1020665]: imjournal: 15574 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 18:07:26 cdns-01 rsyslogd[1020665]: imjournal: 25922 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 18:17:27 cdns-01 rsyslogd[1020665]: imjournal: 19361 messages lost due to rate-limiting (20000 allowed within 600 seconds) Dec 28 18:27:28 cdns-01 rsyslogd[1020665]: imjournal: 18518 messages lost due to rate-limiting (20000 allowed within 600 seconds) ...โ
- ๊ณต์ ๋ฌธ์๋ฅผ ํ์ธํด ๋ณด๋, 600์ด(10๋ถ) ๋น 2๋ง ๊ฐ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋๋ก ํ๋ ๊ฒ ๊ธฐ๋ณธ ์ค์ ์ด๋ค.(์๋ ๊ด๋ จ ์น์ฌ์ดํธ ์ฐธ์กฐ) ์ด ๋ถ๋ถ์ ์์์ /etc/rsyslog.conf๋ฅผ ์์ ํ์ฌ ๋ฐ๊พธ์ด์ค ๊ฒ์ด๊ณ .
- ํ ๊ฐ์ง ๋ ๊ณต์ ํ ๊ฒ์, Interval์ 600์ด ๊ทธ๋๋ก ๋๊ณ Burst๋ง 100๋ง ์ด๋ ๊ฒ ์ฌ๋ฆฌ๋ฉด ์ ์ฉ์ด ์ ๋๋ก ์ ๋๋ค๋ ๊ฒ์ด๋ค. ์ค์ ๋ก ๊ฐ๊ฐ 600, 1000000์ผ๋ก ์ค์ ํ ๊ฒฐ๊ณผ ์๋์ ๊ฐ์ด ๋ก๊ทธ๊ฐ ๋จ์๋ค.
2024.01.02 ์ถ๊ฐ: RateLimit.Burst์ ์ต๋ ๊ฐ์ 65535์ด๋ค. ๋๋ ๋น์ทํ ๋ฌธ์ ๋ฅผ ๊ฒช์ ์ฌ๋์ด ๋ ๋ํ ํฌํ์ ๋ณด์ฌ์ ๋งํฌ ์ฌ๋ฆฐ๋ค. https://access.redhat.com/solutions/5185431
... Dec 29 00:08:43 cdns-01 rsyslogd[1105947]: imjournal: 38299 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 00:18:44 cdns-01 rsyslogd[1105947]: imjournal: 34645 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 00:28:45 cdns-01 rsyslogd[1105947]: imjournal: 33048 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 00:38:46 cdns-01 rsyslogd[1105947]: imjournal: 33978 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 00:48:47 cdns-01 rsyslogd[1105947]: imjournal: 32122 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 00:58:48 cdns-01 rsyslogd[1105947]: imjournal: 31290 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 01:08:49 cdns-01 rsyslogd[1105947]: imjournal: 39145 messages lost due to rate-limiting (50000 allowed within 600 seconds) Dec 29 01:18:50 cdns-01 rsyslogd[1105947]: imjournal: 31488 messages lost due to rate-limiting (50000 allowed within 600 seconds) ...โ
- ๊ทธ๋์ ์์์ ์ค์ ํ ๊ฒ์ฒ๋ผ, 30์ด ๋น 2๋ง ๊ฐ๋ก ํ ๊ฒ์ด๋ค. ์ค์ ๋ก ๊ฐ ์บ์ DNS ์๋ฒ๊ฐ ๋ณดํต 30์ด ๋น ๋ฐ๋ ์ฟผ๋ฆฌ์ ์์ด 5์ฒ ๊ฐ๊ฐ ์ข ์ ๋๋ ์์ค์ด์๊ณ , ์๋ฒ ํ๋๊ฐ ์ฃฝ๋ ๊ฒ ๋ฐ ์ฟผ๋ฆฌ ํญ์ฆ์ ๊ฐ์ํด์ 30์ด ๋น 2๋ง์ผ๋ก ์ก์๋ค. ์๋์ ์ค์ ๋ก ์บ์ DNS ์๋ฒ์ ๋ชจ๋ํฐ๋ง ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ๋ค.
- ์บ์ DNS๊ฐ ๋ฐ๋ A ์ฟผ๋ฆฌ
- ๋ ์๊ฐ๋์ ์บ์ DNS๊ฐ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ํ๊ณ ๋ฐ์ผ๋ก ๋ณด๋ธ ๋นํธ ์.
์ด๋ก์ - 600์ด ๋น 2๋ง ๊ฐ ๋ฉ์์ง ์ก์ ์ ํ์ด ์์์ ๋ชจ๋ฅธ ์ฑ ์ก์ ์ ์์ํ ์์ .
๋นจ๊ฐ - 600์ด ๋น 100๋ง ๊ฐ๋ก ์ค์ ํ ์์ . ์ผ๋จ ํฌ๊ฒ ์ก์๊ณ 00์~02์์ ์ฟผ๋ฆฌ ์ ์ ๋ ์ฒ๋ฆฌํ ์ ์์ ์ค ์์์ง๋ง, ์์ ํ ๋๋ก 5๋ง ๊ฐ๊ฐ ํ๊ณ์๋ค.
ํ๋ - ์ต์ข ๊ฐ์ธ 30์ด ๋น 2๋ง ๊ฐ๋ก ์์ ํ ์์
- ์ ์คํฌ๋ฆฐ์ท์์ 28์ผ ์คํ ~ 29์ผ ์๋ฒฝ๊น์ง๋ฅผ ํ๋ํ ๊ฒ. ์ ๋๋ ๋จ์ด์ง๋ ์๊ฐ๋ค์ด ์ค์ ๋ฏธ์ค๋ก ์ธํด ๋ฉ์์ง๊ฐ ์ ๊ฐ๋ ๊ธฐ๊ฐ๋ค์ด๋ค.
- ์บ์ DNS ์๋ฒ์์ tcpdump๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์คํ์๋ก ๊ฐ๋ udp 5063 ํต์ ํจํท์ ํ์ธํ๋ ๋์ค ๋ฐ๊ฒฌํ๋ค. ์ด ์บ์ DNS ์๋ฒ๋ค์ ๋ถ๋น ์์ฒ ๊ฐ์ DNS ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์๋ค์ด๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ์ผ๋ก rsyslog๊ฐ ์๋ ๋ฉ์์ง ์๋ ๊ทธ๋งํผ ๋์ด์ผ ํ๋๋ฐ, 10๋ถ ๊ฐ๊ฒฉ์ผ๋ก ๋ฉ์์ง ์๊ธฐ๋ฅผ ๋ฉ์ถ๋๋ 5~10๋ถ ๊ฐ ์๋ฌด๋ฐ ํจํท์ด ์กํ์ง ์์๋ค.
- ๊ด๋ จ ์น์ฌ์ดํธ
- bind ๋ก๊น ๊ด๋ จ - https://kb.isc.org/docs/aa-01526
- rsyslog imjournal ์ค์ ๊ด๋ จ - https://www.rsyslog.com/doc/v8-stable/configuration/modules/imjournal.html