Apache ActiveMQ

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์šฉ ์›๊ฒฉ ๋ถ„์„์„ ์ˆ˜์ง‘ํ•˜๋Š” ๊ตฌ์„ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

# Configures Ops Agent to collect telemetry from the app. You must restart the agent for the configuration to take effect.

set -e

# Check if the file exists
if [ ! -f /etc/google-cloud-ops-agent/config.yaml ]; then
  # Create the file if it doesn't exist.
  sudo mkdir -p /etc/google-cloud-ops-agent
  sudo touch /etc/google-cloud-ops-agent/config.yaml
fi

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    activemq:
      type: activemq
  service:
    pipelines:
      activemq:
        receivers:
          - activemq
EOF

์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๋ฉด ์šด์˜ ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Linux

  1. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    sudo systemctl restart google-cloud-ops-agent
    
  2. ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  '์ธก์ •ํ•ญ๋ชฉ ์—์ด์ „ํŠธ' ๋ฐ 'Logging ์—์ด์ „ํŠธ' ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. RDP ๋˜๋Š” ์œ ์‚ฌํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  Windows์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  2. PowerShell ์•„์ด์ฝ˜์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰์„ ์„ ํƒํ•˜์—ฌ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ๋Š” PowerShell ํ„ฐ๋ฏธ๋„์„ ์—ฝ๋‹ˆ๋‹ค.
  3. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ PowerShell ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    Restart-Service google-cloud-ops-agent -Force
    
  4. ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  '์ธก์ •ํ•ญ๋ชฉ ์—์ด์ „ํŠธ' ๋ฐ '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
GAUGEINT64
gce_instance
 
workload.googleapis.com/activemq.consumer.count
GAUGEINT64
gce_instance
broker
destination
workload.googleapis.com/activemq.disk.store_usage
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/activemq.disk.temp_usage
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/activemq.memory.usage
GAUGEDOUBLE
gce_instance
broker
destination
workload.googleapis.com/activemq.message.current
GAUGEINT64
gce_instance
broker
destination
workload.googleapis.com/activemq.message.dequeued
CUMULATIVEINT64
gce_instance
broker
destination
workload.googleapis.com/activemq.message.enqueued
CUMULATIVEINT64
gce_instance
broker
destination
workload.googleapis.com/activemq.message.expired
CUMULATIVEINT64
gce_instance
broker
destination
workload.googleapis.com/activemq.message.wait_time.avg
GAUGEDOUBLE
gce_instance
broker
destination
workload.googleapis.com/activemq.producer.count
GAUGEINT64
gce_instance
broker
destination

๊ตฌ์„ฑ ํ™•์ธ

์ด ์„น์…˜์—์„œ๋Š” ActiveMQ ์ˆ˜์‹ ์ž๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ ์—์ด์ „ํŠธ์—์„œ ์›๊ฒฉ ๋ถ„์„ ์ˆ˜์ง‘์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด 1~2๋ถ„ ์ •๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ActiveMQ ๋กœ๊ทธ๊ฐ€ Cloud Logging์œผ๋กœ ์ „์†ก๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋กœ๊ทธ ํƒ์ƒ‰๊ธฐ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ๋กœ๊ทธ ํƒ์ƒ‰๊ธฐ๋กœ ์ด๋™

    ๊ฒ€์ƒ‰์ฐฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ ๋ถ€์ œ๋ชฉ์ด Logging์ธ ๊ฒฐ๊ณผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ํŽธ์ง‘๊ธฐ์— ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    resource.type="gce_instance"
    log_id("syslog")
    jsonPayload.message~='(activemq[[0-9]+]|activemq):'
    

ActiveMQ ์ธก์ •ํ•ญ๋ชฉ์ด Cloud Monitoring์œผ๋กœ ์ „์†ก๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ  ์ธก์ •ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์ธก์ •ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ๋กœ ์ด๋™

    ๊ฒ€์ƒ‰์ฐฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ ๋ถ€์ œ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ์ฟผ๋ฆฌ ๋นŒ๋” ์ฐฝ์˜ ํˆด๋ฐ”์—์„œ ์ด๋ฆ„์ด  MQL ๋˜๋Š”  PromQL์ธ ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. PromQL ์ „ํ™˜ ๋ฒ„ํŠผ์— PromQL์ด ์„ ํƒ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์–ธ์–ด ์ „ํ™˜ ๋ฒ„ํŠผ์€ ์ฟผ๋ฆฌ ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ผํ•œ ํˆด๋ฐ”์— ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ํŽธ์ง‘๊ธฐ์— ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    {"workload.googleapis.com/activemq.consumer.count", monitored_resource="gce_instance"}
    

๋Œ€์‹œ๋ณด๋“œ ๋ณด๊ธฐ

ActiveMQ ์ธก์ •ํ•ญ๋ชฉ์„ ๋ณด๋ ค๋ฉด ์ฐจํŠธ๋‚˜ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ActiveMQ ํ†ตํ•ฉ์—๋Š” ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํ†ตํ•ฉ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์šด์˜ ์—์ด์ „ํŠธ๊ฐ€ ์ธก์ •ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์‹œ์ž‘ํ•œ ํ›„ ๋ชจ๋“  ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

ํ†ตํ•ฉ์„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ ๋„ ๋Œ€์‹œ๋ณด๋“œ์˜ ์ •์  ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜๋œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ณด๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋Œ€์‹œ๋ณด๋“œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™

    ๊ฒ€์ƒ‰์ฐฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ ๋ถ€์ œ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ๋Œ€์‹œ๋ณด๋“œ ๋ชฉ๋ก ํƒญ์„ ์„ ํƒํ•œ ํ›„ ํ†ตํ•ฉ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ํ™•์ธํ•  ๋Œ€์‹œ๋ณด๋“œ์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํ†ตํ•ฉ์„ ๊ตฌ์„ฑํ–ˆ์ง€๋งŒ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์šด์˜ ์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹œ๋ณด๋“œ์— ์ฐจํŠธ์˜ ์ธก์ •ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ๋Œ€์‹œ๋ณด๋“œ ์„ค์น˜๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ ์—์ด์ „ํŠธ๊ฐ€ ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์„ ์‹œ์ž‘ํ•˜๋ฉด ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ์˜ ์ •์  ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ํ†ตํ•ฉ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ํ†ตํ•ฉ์œผ๋กœ ์ด๋™

    ๊ฒ€์ƒ‰์ฐฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ ๋ถ€์ œ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. Compute Engine ๋ฐฐํฌ ํ”Œ๋žซํผ ํ•„ํ„ฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ActiveMQ ํ•ญ๋ชฉ์„ ์ฐพ๊ณ  ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ์ •์  ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด๋ ค๋ฉด ๋Œ€์‹œ๋ณด๋“œ ํƒญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด ๋Œ€์‹œ๋ณด๋“œ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud Monitoring์˜ ๋Œ€์‹œ๋ณด๋“œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋Œ€์‹œ๋ณด๋“œ ๋ฐ ์ฐจํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ†ตํ•ฉ ํŽ˜์ด์ง€ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ†ตํ•ฉ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์•Œ๋ฆผ ์ •์ฑ… ์„ค์น˜

์•Œ๋ฆผ ์ •์ฑ…์€ ์ง€์ •๋œ ์กฐ๊ฑด์ด ๋ฐœ์ƒํ•  ๋•Œ Cloud Monitoring์—์„œ ์•Œ๋ฆผ์„ ๋ฐ›๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค. ActiveMQ ํ†ตํ•ฉ์—๋Š” ์‚ฌ์šฉํ•  ์•Œ๋ฆผ ์ •์ฑ…์ด ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Monitoring์˜ ํ†ตํ•ฉ ํŽ˜์ด์ง€์—์„œ ์ด๋Ÿฌํ•œ ์•Œ๋ฆผ ์ •์ฑ…์„ ๋ณด๊ณ  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•Œ๋ฆผ ์ •์ฑ…์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ณด๊ณ  ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ํ†ตํ•ฉ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ํ†ตํ•ฉ์œผ๋กœ ์ด๋™

    ๊ฒ€์ƒ‰์ฐฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ ๋ถ€์ œ๋ชฉ์ด Monitoring์ธ ๊ฒฐ๊ณผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ActiveMQ ํ•ญ๋ชฉ์„ ์ฐพ๊ณ  ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์•Œ๋ฆผ ํƒญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ํƒญ์—๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•Œ๋ฆผ ์ •์ฑ…์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์ด๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  4. ์•Œ๋ฆผ ์ •์ฑ…์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์•Œ๋ฆผ ์ •์ฑ…์€ ๊ฒฝ๊ณ ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜์—ˆ๋‹ค๋Š” ์•Œ๋ฆผ์„ ์ „์†กํ•  ์œ„์น˜๋ฅผ ์•Œ์•„์•ผ ํ•˜๋ฏ€๋กœ, ์„ค์น˜ ์‹œ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•ด๋‹น ์ •๋ณด๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์•Œ๋ฆผ ์ •์ฑ…์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    1. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•Œ๋ฆผ ์ •์ฑ… ๋ชฉ๋ก์—์„œ ์„ค์น˜ํ•  ์ •์ฑ…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์•Œ๋ฆผ ๊ตฌ์„ฑ ์„น์…˜์—์„œ ์•Œ๋ฆผ ์ฑ„๋„์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์•Œ๋ฆผ ์ฑ„๋„ ์‚ฌ์šฉ์„ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ฉด ์•Œ๋ฆผ ์ •์ฑ…์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Monitoring์—์„œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์•Œ๋ฆผ์ด ์ˆ˜์‹ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

      ์•Œ๋ฆผ ์ฑ„๋„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•Œ๋ฆผ ์ฑ„๋„ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    3. ์ •์ฑ… ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

Cloud Monitoring์˜ ์•Œ๋ฆผ ์ •์ฑ…์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•Œ๋ฆผ ์†Œ๊ฐœ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ†ตํ•ฉ ํŽ˜์ด์ง€ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ†ตํ•ฉ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„

Ansible์„ ์‚ฌ์šฉํ•˜์—ฌ ์šด์˜ ์—์ด์ „ํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ์„œ๋“œํŒŒํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๊ณ , ์ƒ˜ํ”Œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์šด์˜ ์—์ด์ „ํŠธ๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์„œ๋“œํŒŒํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋™์˜์ƒ์„ ์ฐธ์กฐํ•˜์„ธ์š”.