Apache ActiveMQ ํตํฉ์ ๋ก๊ทธ๋ฅผ ์์ฑํ๊ณ ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋๊ณผ ๋ฉ์์ง ์ธก์ ํญ๋ชฉ์ ์์งํฉ๋๋ค. ์คํ ๋ฆฌ์ง ์ธก์ ํญ๋ชฉ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋์คํฌ ์ฌ์ฉ๋์ด ํฌํจ๋ฉ๋๋ค. ๋ฉ์์ง ์ธก์ ํญ๋ชฉ์๋ ๋๊ธฐ ๋ฉ์์ง ์, ํ๊ท ๋๊ธฐ ์๊ฐ, ๋ง๋ฃ๋ ๋ฉ์์ง๊ฐ ํฌํจ๋ฉ๋๋ค.
ActiveMQ์ ๋ํ ์์ธํ ๋ด์ฉ์ Apache ActiveMQ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ธฐ๋ณธ ์๊ฑด
ActiveMQ ์๊ฒฉ ๋ถ์์ ์์งํ๋ ค๋ฉด ์ด์ ์์ด์ ํธ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
- ์ธก์ ํญ๋ชฉ์ ๊ฒฝ์ฐ ๋ฒ์ 2.11.0 ์ด์์ ์ค์นํฉ๋๋ค.
- ๋ก๊ทธ์๋ ๋ฒ์ 2.15.0 ์ด์์ ์ค์นํฉ๋๋ค.
์ด ํตํฉ์ ActiveMQ Classic 5.8.x~5.16.x ๋ฒ์ ๊ณผ Artemis 2.x ๋ฒ์ ์ ์ง์ํฉ๋๋ค.
ActiveMQ ์ธ์คํด์ค ๊ตฌ์ฑ
ActiveMQ ๋ธ๋ก์ปค ๊ตฌ์ฑ์์ JMX ์ง์์ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.
ActiveMQ์ฉ ์ด์ ์์ด์ ํธ ๊ตฌ์ฑ
์ด์ ์์ด์ ํธ ๊ตฌ์ฑ ๊ฐ์ด๋๋ฅผ ์ํํ์ฌ ActiveMQ ์ธ์คํด์ค์์ ์๊ฒฉ ๋ถ์์ ์์งํ๋ ๋ฐ ํ์ํ ์์๋ฅผ ์ถ๊ฐํ๊ณ ์์ด์ ํธ๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
๊ตฌ์ฑ ์์
๋ค์ ๋ช ๋ น์ด๋ ActiveMQ์ฉ ์๊ฒฉ ๋ถ์์ ์์งํ๋ ๊ตฌ์ฑ์ ๋ง๋ญ๋๋ค.
์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๋ ค๋ฉด ์ด์ ์์ด์ ํธ๋ฅผ ๋ค์ ์์ํด์ผ ํฉ๋๋ค.
Linux
- ์์ด์ ํธ๋ฅผ ๋ค์ ์์ํ๋ ค๋ฉด ์ธ์คํด์ค์์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
sudo systemctl restart google-cloud-ops-agent
- ์์ด์ ํธ๊ฐ ๋ค์ ์์๋์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ '์ธก์ ํญ๋ชฉ ์์ด์ ํธ' ๋ฐ 'Logging ์์ด์ ํธ' ๊ตฌ์ฑ์์๊ฐ ์์๋์๋์ง ํ์ธํฉ๋๋ค.
sudo systemctl status "google-cloud-ops-agent*"
Windows
- RDP ๋๋ ์ ์ฌํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๊ณ Windows์ ๋ก๊ทธ์ธํฉ๋๋ค.
- PowerShell ์์ด์ฝ์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๊ณ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ์ ์ ํํ์ฌ ๊ด๋ฆฌ์ ๊ถํ์ด ์๋ PowerShell ํฐ๋ฏธ๋์ ์ฝ๋๋ค.
- ์์ด์ ํธ๋ฅผ ๋ค์ ์์ํ๋ ค๋ฉด ๋ค์ PowerShell ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Restart-Service google-cloud-ops-agent -Force
- ์์ด์ ํธ๊ฐ ๋ค์ ์์๋์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ '์ธก์ ํญ๋ชฉ ์์ด์ ํธ' ๋ฐ 'Logging ์์ด์ ํธ' ๊ตฌ์ฑ์์๊ฐ ์์๋์๋์ง ํ์ธํฉ๋๋ค.
Get-Service google-cloud-ops-agent*
๋ก๊ทธ ์์ง
ActiveMQ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด์ ์์ด์ ํธ์์ ์บก์ฒํ๋ syslog
์ ๋ก๊ทธ๋ฅผ ์์ฑํฉ๋๋ค.
์ถ๊ฐ ์ฌ์ฉ์ ๊ตฌ์ฑ์ ํ์ํ์ง ์์ต๋๋ค.
์ธก์ ํญ๋ชฉ ์์ง ๊ตฌ์ฑ
ActiveMQ์์ ์ธก์ ํญ๋ชฉ์ ์์งํ๋ ค๋ฉด ActiveMQ์์ ์์ฑํ๋ ์ธก์ ํญ๋ชฉ์ ์์ ์๋ฅผ ๋ง๋ ํ ์ ์์ ์์ ํ์ดํ๋ผ์ธ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
์ด ์์ ์๋ ๊ตฌ์ฑ์์ ์ฌ๋ฌ ์๋ํฌ์ธํธ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ธ์คํด์ค ์ฌ์ฉ์ ์ง์ํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ ์ธ์คํด์ค๋ ๋์ผํ ์๊ณ์ด์ ๊ธฐ๋ก๋๋ฉฐ, Cloud Monitoring์ ์ด๋ฅผ ๊ตฌ๋ถํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
activemq
์ธก์ ํญ๋ชฉ์ ์์ ์๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ค์ ํ๋๋ฅผ ์ง์ ํฉ๋๋ค.
ํ๋ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
---|---|---|
collection_interval |
60s |
๊ธฐ๊ฐ ๊ฐ(์: 30s ๋๋ 5m )์
๋๋ค. |
endpoint |
http://localhost:1099 |
๋ชจ๋ํฐ๋งํ ๋ ธ๋์ URL์ ๋๋ค. |
password |
JMX๊ฐ ์ธ์ฆ์ ์๊ตฌํ๋๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๊ตฌ์ฑ๋ ๋น๋ฐ๋ฒํธ์ ๋๋ค. | |
type |
๊ฐ์ activemq ์ฌ์ผ ํฉ๋๋ค. |
|
username |
JMX๊ฐ ์ธ์ฆ์ ์๊ตฌํ๋๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๊ตฌ์ฑ๋ ์ฌ์ฉ์ ์ด๋ฆ์ ๋๋ค. |
๋ชจ๋ํฐ๋ง ๋์
๋ค์ ํ์์๋ ์ด์ ์์ด์ ํธ๊ฐ ActiveMQ ์ธ์คํด์ค์์ ์์งํ๋ ์ธก์ ํญ๋ชฉ์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค.
์ธก์ ํญ๋ชฉ ์ ํ | |
---|---|
์ข
๋ฅ, ์ ํ ๋ชจ๋ํฐ๋ง ๋ฆฌ์์ค |
๋ผ๋ฒจ |
workload.googleapis.com/activemq.connection.count
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/activemq.consumer.count
|
|
GAUGE , INT64 gce_instance |
broker destination
|
workload.googleapis.com/activemq.disk.store_usage
|
|
GAUGE , DOUBLE gce_instance |
|
workload.googleapis.com/activemq.disk.temp_usage
|
|
GAUGE , DOUBLE gce_instance |
|
workload.googleapis.com/activemq.memory.usage
|
|
GAUGE , DOUBLE gce_instance |
broker destination
|
workload.googleapis.com/activemq.message.current
|
|
GAUGE , INT64 gce_instance |
broker destination
|
workload.googleapis.com/activemq.message.dequeued
|
|
CUMULATIVE , INT64 gce_instance |
broker destination
|
workload.googleapis.com/activemq.message.enqueued
|
|
CUMULATIVE , INT64 gce_instance |
broker destination
|
workload.googleapis.com/activemq.message.expired
|
|
CUMULATIVE , INT64 gce_instance |
broker destination
|
workload.googleapis.com/activemq.message.wait_time.avg
|
|
GAUGE , DOUBLE gce_instance |
broker destination
|
workload.googleapis.com/activemq.producer.count
|
|
GAUGE , INT64 gce_instance |
broker destination
|
๊ตฌ์ฑ ํ์ธ
์ด ์น์ ์์๋ ActiveMQ ์์ ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑํ๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ด์ ์์ด์ ํธ์์ ์๊ฒฉ ๋ถ์ ์์ง์ ์์ํ๋ ค๋ฉด 1~2๋ถ ์ ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
ActiveMQ ๋ก๊ทธ๊ฐ Cloud Logging์ผ๋ก ์ ์ก๋๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
-
Google Cloud ์ฝ์์์ ๋ก๊ทธ ํ์๊ธฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๊ฒ์์ฐฝ์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ถ์ ๋ชฉ์ด Logging์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ํํฉ๋๋ค.
- ํธ์ง๊ธฐ์ ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์
๋ ฅํ ํ ์ฟผ๋ฆฌ ์คํ์ ํด๋ฆญํฉ๋๋ค.
resource.type="gce_instance" log_id("syslog") jsonPayload.message~='(activemq[[0-9]+]|activemq):'
ActiveMQ ์ธก์ ํญ๋ชฉ์ด Cloud Monitoring์ผ๋ก ์ ์ก๋๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
-
Google Cloud ์ฝ์์์ leaderboard ์ธก์ ํญ๋ชฉ ํ์๊ธฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ธก์ ํญ๋ชฉ ํ์๊ธฐ๋ก ์ด๋
๊ฒ์์ฐฝ์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ถ์ ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ํํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋น๋ ์ฐฝ์ ํด๋ฐ์์ ์ด๋ฆ์ด code MQL ๋๋ code PromQL์ธ ๋ฒํผ์ ์ ํํฉ๋๋ค.
- PromQL ์ ํ ๋ฒํผ์ PromQL์ด ์ ํ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ธ์ด ์ ํ ๋ฒํผ์ ์ฟผ๋ฆฌ ํ์์ ์ง์ ํ ์ ์๋ ๋์ผํ ํด๋ฐ์ ์์ต๋๋ค.
- ํธ์ง๊ธฐ์ ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์
๋ ฅํ ํ ์ฟผ๋ฆฌ ์คํ์ ํด๋ฆญํฉ๋๋ค.
{"workload.googleapis.com/activemq.consumer.count", monitored_resource="gce_instance"}
๋์๋ณด๋ ๋ณด๊ธฐ
ActiveMQ ์ธก์ ํญ๋ชฉ์ ๋ณด๋ ค๋ฉด ์ฐจํธ๋ ๋์๋ณด๋๊ฐ ๊ตฌ์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค. ActiveMQ ํตํฉ์๋ ๋์๋ณด๋๊ฐ ํ๋ ์ด์ ํฌํจ๋ฉ๋๋ค. ํตํฉ์ ๊ตฌ์ฑํ๊ณ ์ด์ ์์ด์ ํธ๊ฐ ์ธก์ ํญ๋ชฉ ๋ฐ์ดํฐ ์์ง์ ์์ํ ํ ๋ชจ๋ ๋์๋ณด๋๊ฐ ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค.
ํตํฉ์ ์ค์นํ์ง ์๊ณ ๋ ๋์๋ณด๋์ ์ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ค์น๋ ๋์๋ณด๋๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
-
Google Cloud ์ฝ์์์
๋์๋ณด๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๊ฒ์์ฐฝ์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ถ์ ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ํํฉ๋๋ค.
- ๋์๋ณด๋ ๋ชฉ๋ก ํญ์ ์ ํํ ํ ํตํฉ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
- ํ์ธํ ๋์๋ณด๋์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
ํตํฉ์ ๊ตฌ์ฑํ์ง๋ง ๋์๋ณด๋๊ฐ ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ด์ ์์ด์ ํธ๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค. ๋์๋ณด๋์ ์ฐจํธ์ ์ธก์ ํญ๋ชฉ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ๋์๋ณด๋ ์ค์น๊ฐ ์คํจํฉ๋๋ค. ์ด์ ์์ด์ ํธ๊ฐ ์ธก์ ํญ๋ชฉ ์์ง์ ์์ํ๋ฉด ๋์๋ณด๋๊ฐ ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค.
๋์๋ณด๋์ ์ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
-
Google Cloud ์ฝ์์์
ํตํฉ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๊ฒ์์ฐฝ์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ถ์ ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ํํฉ๋๋ค.
- Compute Engine ๋ฐฐํฌ ํ๋ซํผ ํํฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ActiveMQ ํญ๋ชฉ์ ์ฐพ๊ณ ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด๋ ค๋ฉด ๋์๋ณด๋ ํญ์ ์ ํํฉ๋๋ค. ๋์๋ณด๋๊ฐ ์ค์น๋์ด ์์ผ๋ฉด ๋์๋ณด๋ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ๋์๋ณด๋๋ก ์ด๋ํ ์ ์์ต๋๋ค.
Cloud Monitoring์ ๋์๋ณด๋์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋์๋ณด๋ ๋ฐ ์ฐจํธ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํตํฉ ํ์ด์ง ์ฌ์ฉ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํตํฉ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ฆผ ์ ์ฑ ์ค์น
์๋ฆผ ์ ์ฑ ์ ์ง์ ๋ ์กฐ๊ฑด์ด ๋ฐ์ํ ๋ Cloud Monitoring์์ ์๋ฆผ์ ๋ฐ๋๋ก ์ง์ํฉ๋๋ค. ActiveMQ ํตํฉ์๋ ์ฌ์ฉํ ์๋ฆผ ์ ์ฑ ์ด ํ๋ ์ด์ ํฌํจ๋ฉ๋๋ค. Monitoring์ ํตํฉ ํ์ด์ง์์ ์ด๋ฌํ ์๋ฆผ ์ ์ฑ ์ ๋ณด๊ณ ์ค์นํ ์ ์์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ์๋ฆผ ์ ์ฑ ์ ๋ํ ์ค๋ช ์ ๋ณด๊ณ ์ค์นํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
-
Google Cloud ์ฝ์์์
ํตํฉ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๊ฒ์์ฐฝ์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ถ์ ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ํํฉ๋๋ค.
- ActiveMQ ํญ๋ชฉ์ ์ฐพ๊ณ ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์๋ฆผ ํญ์ ์ ํํฉ๋๋ค. ์ด ํญ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์๋ฆผ ์ ์ฑ ์ ๋ํ ์ค๋ช ๊ณผ ์ด๋ฅผ ์ค์นํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- ์๋ฆผ ์ ์ฑ
์ ์ค์นํฉ๋๋ค. ์๋ฆผ ์ ์ฑ
์ ๊ฒฝ๊ณ ๊ฐ ํธ๋ฆฌ๊ฑฐ๋์๋ค๋ ์๋ฆผ์ ์ ์กํ ์์น๋ฅผ ์์์ผ ํ๋ฏ๋ก, ์ค์น ์ ์ฌ์ฉ์์๊ฒ ํด๋น ์ ๋ณด๋ฅผ ์์ฒญํฉ๋๋ค.
์๋ฆผ ์ ์ฑ
์ ์ค์นํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ฌ์ฉ ๊ฐ๋ฅํ ์๋ฆผ ์ ์ฑ ๋ชฉ๋ก์์ ์ค์นํ ์ ์ฑ ์ ์ ํํฉ๋๋ค.
์๋ฆผ ๊ตฌ์ฑ ์น์ ์์ ์๋ฆผ ์ฑ๋์ ํ๋ ์ด์ ์ ํํฉ๋๋ค. ์๋ฆผ ์ฑ๋ ์ฌ์ฉ์ ์ค์งํ ์ ์์ง๋ง ์ฌ์ฉ ์ค์งํ๋ฉด ์๋ฆผ ์ ์ฑ ์ด ์๋์ผ๋ก ์คํ๋ฉ๋๋ค. Monitoring์์ ์ํ๋ฅผ ํ์ธํ ์ ์์ง๋ง ์๋ฆผ์ด ์์ ๋์ง ์์ต๋๋ค.
์๋ฆผ ์ฑ๋์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ฆผ ์ฑ๋ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Cloud Monitoring์ ์๋ฆผ ์ ์ฑ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ฆผ ์๊ฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํตํฉ ํ์ด์ง ์ฌ์ฉ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํตํฉ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
Ansible์ ์ฌ์ฉํ์ฌ ์ด์ ์์ด์ ํธ๋ฅผ ์ค์นํ๊ณ , ์๋ํํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๊ณ , ์ํ ๋์๋ณด๋๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ด์ ์์ด์ ํธ๋ฅผ ์ค์นํ์ฌ ์๋ํํฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ฌธ์ ํด๊ฒฐ ๋์์์ ์ฐธ์กฐํ์ธ์.