CloudWatch अलार्म और नोटिफिकेशन

Monitoring और Troubleshooting AWS

John Q. Martin

Principal Consultant

CloudWatch अलार्म क्या हैं

 

मुख्य अवधारणाएँ

  • एक समयावधि में एक ही मेट्रिक को ट्रैक करता है
  • जब मेट्रिक थ्रेशोल्ड पार करे तो एक्शन ट्रिगर करता है

 

छह मुख्य CloudWatch अलार्म घटक: metric, threshold, period, evaluation periods, datapoints to alarm और actions

Monitoring और Troubleshooting AWS

अलार्म अवस्थाएँ

CloudWatch अलार्म की तीन अवस्थाएँ: OK, ALARM और INSUFFICIENT_DATA

जैसे-जैसे मेट्रिक डेटा आता है, CloudWatch अलार्म अवस्थाएँ कैसे बदलता है इसका आरेख

Monitoring और Troubleshooting AWS

अलार्म मूल्यांकन

 

  1. तय अंतराल पर डेटा पॉइंट इकट्ठा करें
  2. अवधि पर स्टैटिस्टिक लगाएँ (Average, Sum, Max, Min)
  3. परिणाम को थ्रेशोल्ड से तुलना करें
  4. उल्लंघन वाली evaluation periods गिनें
  5. जब datapoints-to-alarm थ्रेशोल्ड मिले तो state बदलें

 

Metric: CPUUtilization > 80%
Period: 5 min | 
Eval Periods: 3 | 
Datapoints to Alarm: 2 of 3

Period 1: 85% (breach) | 
Period 2: 75% (ok) | 
Period 3: 90% (breach)
Result: ALARM — 2 of 3 breached
Monitoring और Troubleshooting AWS

मूल्यांकन रणनीतियाँ

 

तीन अलार्म मूल्यांकन रणनीतियाँ: consecutive, partial और single breach, उनकी संवेदनशीलता ट्रेड-ऑफ सहित

Monitoring और Troubleshooting AWS

अलार्म एक्शन प्रकार और ट्रिगर्स

 

एक्शन ट्रिगर्स

  • OK
  • ALARM
  • INSUFFICIENT_DATA

 

एक्शन प्रकार

  • SNS नोटिफिकेशन
  • Auto Scaling
  • EC2 एक्शन (stop/terminate/reboot/recover)
  • Systems Manager
Monitoring और Troubleshooting AWS

मिसिंग डेटा व्यवहार

 

मिसिंग डेटा के व्यवहार विकल्प: notBreaching, breaching, ignore और missing

Monitoring और Troubleshooting AWS

स्टैंडर्ड अलार्म बनाना: AWS CLI

aws cloudwatch put-metric-alarm \
  --alarm-name HighCPUUtilization \
  --alarm-description "Alert when CPU exceeds 80%" \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --statistic Average \
  --period 300 \
  --evaluation-periods 2 \
  --threshold 80 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
  --alarm-actions arn:aws:sns:us-east-1:123456789012:my-topic
Monitoring और Troubleshooting AWS

Composite अलार्म: क्या और क्यों

समस्या

  • कई संबंधित अलार्म अलग-अलग फायर होते हैं = अलर्ट फ़ैटीग

समाधान

  • अलार्म को लॉजिकल ऑपरेटर से जोड़ें

Composite अलार्म लॉजिक: child अलार्म को AND, OR और NOT ऑपरेटर से जोड़ना

Monitoring और Troubleshooting AWS

Composite अलार्म बनाना: AWS CLI

aws cloudwatch put-composite-alarm \
  --alarm-name CriticalSystemHealth \
  --alarm-description "Critical when CPU and Memory both high" \
  --actions-enabled \
  --alarm-actions arn:aws:sns:us-east-1:123456789012:critical-alerts \
  --alarm-rule "ALARM(HighCPUAlarm) AND ALARM(HighMemoryAlarm)"
जटिल नियम उदाहरण
--alarm-rule "(ALARM(HighErrorRate) OR ALARM(HighLatency)) \
  AND NOT ALARM(MaintenanceMode)"
Monitoring और Troubleshooting AWS

थ्रेशोल्ड चयन रणनीति

थ्रेशोल्ड चुनने की चार रणनीतियाँ: baseline deviation, capacity limits, SLA targets और rate of change

Monitoring और Troubleshooting AWS

मल्टी-टियर अलार्म रणनीति

 

मल्टी-टियर अलार्म रिस्पॉन्स: warning, critical और emergency टियर अलग SNS टॉपिक्स पर रूट किए गए

उदाहरण: CPU Warning 75% पर, Critical 90% पर, प्रत्येक के लिए अलग SNS टॉपिक्स

Monitoring और Troubleshooting AWS

Anomaly detection अलार्म

aws cloudwatch put-metric-alarm \
  --alarm-name AnomalousTraffic \
  --comparison-operator LessThanLowerOrGreaterThanUpperThreshold \
  --metrics '[
    {"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/ApplicationELB",
      "MetricName":"RequestCount"},"Period":300,"Stat":"Average"}},
    {"Id":"e1","Expression":"ANOMALY_DETECTION_BAND(m1, 2)"}
  ]'
  • ML मॉडल सामान्य मेट्रिक व्यवहार सीखता है
  • डायनेमिक थ्रेशोल्ड बैंड बनाता है (कन्फ़िगरेबल)
  • दैनिक/साप्ताहिक पैटर्न के अनुरूप ढलता है
  • मैनुअल थ्रेशोल्ड ट्यूनिंग घटती है
Monitoring और Troubleshooting AWS

रिसोर्स अलार्म: Lambda और ALB

Lambda अलार्म

अनुशंसित Lambda अलार्म: error count, throttles और high duration (timeout लिमिट के पास)

ALB अलार्म

अनुशंसित ALB अलार्म: target response time, unhealthy hosts और 5xx error counts

Monitoring और Troubleshooting AWS

अलार्म प्रबंधन की सुझाई गई प्रैक्टिसेज

  • नेमिंग: <Service>-<Metric>-<Resource>-<Severity>
  • विवरण: क्या मॉनिटर हो रहा है, थ्रेशोल्ड, ट्रबलशूटिंग संकेत, रनबुक लिंक
  • टैग: Environment, Team, Severity
  • मासिक समीक्षा: थ्रेशोल्ड समायोजित करें, अप्रचलित हटाएँ, एक्शन अपडेट करें
aws cloudwatch set-alarm-state \
  --alarm-name MyAlarm \
  --state-value ALARM \
  --state-reason "Testing alarm notification"
Monitoring और Troubleshooting AWS

वीडियो सारांश

  • तीन अलार्म अवस्थाएँ: OK, ALARM, INSUFFICIENT_DATA
  • मूल्यांकन रणनीतियाँ: consecutive, partial, single breach
  • Composite अलार्म: कई अलार्म AND, OR, NOT से जोड़ें
  • चार थ्रेशोल्ड रणनीतियाँ: statistical, capacity, SLA, rate of change
  • मल्टी-टियर अलर्टिंग: warning → critical → emergency
  • रिसोर्स अलार्म: Lambda (errors, throttles, duration) और ALB (5xx, latency)
Monitoring और Troubleshooting AWS

अभ्यास करते हैं!

Monitoring और Troubleshooting AWS

Preparing Video For Download...