Amazon CloudWatch Database Insights से डेटाबेस की निगरानी
परिचय
Amazon CloudWatch Database Insights Amazon RDS और Aurora डेटाबेस के लिए एक unified monitoring समाधान है। यह डेटाबेस मेट्रिक्स, query analytics, लॉग्स, events, और application telemetry को CloudWatch console में एक ही अनुभव में consolidate करता है — आपके database layer में क्या हो रहा है इसे समझने के लिए कई tools के बीच switch करने की आवश्यकता को समाप्त करता है।
यह लेख Database Insights क्या प्रदान करता है, इसके दो operating modes में से कैसे चुनें, अपने डेटाबेस की प्रभावी निगरानी के लिए व्यावहारिक मार्गदर्शन, और इसे अपनाने से पहले आपको किन सीमाओं के बारे में पता होना चाहिए, इसे कवर करता है।
Database Insights क्या है?
Database Insights Amazon RDS Performance Insights के ऊपर बनाता है और इसे fleet-wide monitoring, log correlation, lock analysis, execution plan capture, और application-level integration के साथ विस्तारित करता है। यह standalone Performance Insights console अनुभव का उत्तराधिकारी है (जो जल्द ही end-of-life तक पहुंच रहा है)।
मूल अवधारणा DB Load है — आपके डेटाबेस में किसी भी समय active sessions की औसत संख्या। यदि DB Load आपके instance के vCPU count से अधिक हो जाता है, तो आपका डेटाबेस overloaded है। Database Insights इस metric को visualize करता है और आपको performance issues के root cause की तेजी से पहचान करने के लिए इसे कई dimensions (SQL, wait events, users, hosts, applications) द्वारा slice करने देता है।
Standard Mode बनाम Advanced Mode
Database Insights दो tiers में काम करता है। Standard mode डिफ़ॉल्ट रूप से बिना किसी अतिरिक्त लागत के सक्षम होता है। Advanced mode के लिए Performance Insights को 15-month retention period के साथ सक्षम करना आवश्यक है और इसकी pricing vCPU-hours (provisioned) या ACU-hours (serverless/limitless) पर आधारित है।
| Feature | Standard | Advanced |
|---|---|---|
| Dimension द्वारा शीर्ष DB Load contributors का एनालिसिस | ✔ | ✔ |
| Metrics को query, graph, और alarm करें (7-day retention) | ✔ | ✔ |
| Sensitive dimensions के लिए fine-grained IAM access control | ✔ | ✔ |
| Fleet-wide monitoring views | ✘ | ✔ |
| OS process analysis (Enhanced Monitoring) | ✘ | ✔ |
| SQL lock analysis (15-month retention) | ✘ | ✔ (Aurora PG) |
| SQL execution plan analysis (15-month retention) | ✘ | ✔ (Aurora PG, Oracle, SQL Server) |
| Per-query statistics visualization | ✘ | ✔ |
| Slow SQL query analysis | ✘ | ✔ |
| Application Signals integration (calling services) | ✘ | ✔ |
| Consolidated telemetry dashboard (metrics, logs, events) | ✘ | ✔ |
| Auto-import Performance Insights counter metrics | ✘ | ✔ |
| RDS events in CloudWatch | ✘ | ✔ |
| On-demand performance analysis reports | ✘ | ✔ |
| Cross-account cross-region monitoring | ✘ | ✔ |
Data retention:
- Standard: Performance Insights data के लिए 7 दिन।
- Advanced: Database Insights द्वारा एकत्रित सभी metrics के लिए 15 महीने।
मुख्य Features की व्याख्या
Fleet Health Dashboard
Fleet Health Dashboard एक ही स्क्रीन में आपके सभी RDS और Aurora instances का cross-account और cross-region bird's-eye view प्रदान करता है। एक honeycomb visualization vCPU capacity के सापेक्ष DB Load के आधार पर instances को health state (High, Warning, Ok, Idle) द्वारा categorize करता है। आप tags (environment, service, team) द्वारा filter कर सकते हैं और custom fleet views save कर सकते हैं। Top-10 charts सबसे अधिक loaded instances, उनकी top queries, और top wait events एक नज़र में दिखाते हैं।
जब आप सैकड़ों databases के लिए जिम्मेदार हों और जल्दी से पहचानना हो कि किसे attention की आवश्यकता है तो यहां से शुरू करें।
DB Load Analysis (Investigation Workbench)
Instance Dashboard का DB Load Analysis tab वह जगह है जहां आप अपना अधिकांश troubleshooting समय बिताते हैं। यह पांच W's का उत्तर देता है:
- WHAT — कौन सी queries load उत्पन्न कर रही हैं यह देखने के लिए SQL द्वारा slice करें।
- WHO — जिम्मेदार पक्ष की पहचान करने के लिए User या Application द्वारा slice करें।
- WHERE — Source machine खोजने के लिए Host द्वारा slice करें।
- WHEN — Timeline दिखाती है कि issues कब शुरू और बंद हुए।
- WHY — Findings को correlate करें और action लें।
Top SQL table queries को load contribution द्वारा rank करती है और calls/sec, average latency, rows examined, और plan count दिखाती है।
Lock Analysis
Aurora PostgreSQL और RDS for PostgreSQL के लिए उपलब्ध। Database Insights हर 15 सेकंड में lock snapshots capture करता है और उन्हें lock trees के रूप में visualize करता है — parent nodes blocking sessions हैं, child nodes waiters हैं। आप blocking SQL, duration, और downstream sessions की संख्या देख सकते हैं जो प्रभावित हैं। DB Load chart में "Sliced by: Blocking SQL" विकल्प दिखाता है कि कौन से statements समय के साथ lock contention drive कर रहे हैं।
Execution Plan Analysis
Aurora PostgreSQL (v14.10+, v15.5+), RDS for Oracle, और RDS for SQL Server के लिए उपलब्ध। Top SQL table में Plans Count column दिखाता है कि प्रत्येक query के लिए कितने distinct execution plans मौजूद हैं। आप यह पहचानने के लिए plans की side-by-side तुलना कर सकते हैं कि plan change ने कब performance regression पैदा किया। उच्च plan count optimizer instability का संकेत देता है।