measurement-and-instrumentation
כיצד להשתמש ב-Cloudwatch ו- Azure Monitor עבור תובנות יישומים ללא שימוש Server
Table of Contents
יישומים ללא שרת הפכו את האופן שבו ארגונים בונים ופרוסים תוכנה, המציעים קשקשים גמישים ותמחור של תשלום-per-execution. עם זאת, האופי האנפימרי של פונקציות ללא השרתים הופך להיות עמידים ו ניטור מאתגר יותר מאשר שרתים מסורתיים לטווח ארוך.ללא כלי מתאים, debugging של צווארי בקבוק ביצועים או כישלונות הופך כמעט בלתי אפשריים. אמזון Cloud Watch ו- Azure Monitor הם השירותים העיקריים ניטור עבור שירותי ניטור עבור שרת אינטראקטיביים מתקדמים, שמירה על אסטרטגיות ניטור, ניטור, ניטור יעיל יותר, ניטור, ניטור יעיל יותר, ניטור, ניטור, שמירה על ביצועים, שמירה על ביצועים, שמירה על ביצועים מתקדמים, שמירה על ביצועים, שמירה על ביצועים מתקדמים, שמירה על שיטות בקרה, שמירה על ביצועים, שמירה על ביצועים, שמירה על ביצועים מתקדמים, שמירה על ביצועים, שמירה על ביצועים מתקדמים, שמירה על יכולות קריטי, שמירה על ביצועים מתקדמים, שמירה על ביצועים מתקדמים, שמירה על ביצועים, פונקציות ביצועים מתקדמים, שמירה על ביצועים מתקדמים, שמירה על ביצועים מתקדמים, שמירה על ביצועים מתקדמים, 000, שמירה על ביצועים מתקדמים, 000 ביצועים מתקדמים, פונקציות ביצועים מתקדמים, שמירה על פונקציות ביצועים, 000, 000 ביצועים מתקדמים, שמירה על פונקציות ביצועים מתקדמים, שמירה על ביצועים מתקדמים, שמירה על פונקציות ביצועים מתקדמים, שמירה על ביצועים מתקדמים, 000, 000
מדוע מעקב ללא שרת דורש גישה שונה
ניטור מסורתי מסתמכ על סוכנים המותקנים על מכונות וירטואליות או מכולות כדי לאסוף CPU, זיכרון ודיסק מדדים. Serverless Architectures מופשטים מהתשתית הבסיסית, כך שלא ניתן להתקין סוכנים או לגשת למערכת ההפעלה. במקום זאת, אתה תלוי בשירותים ניטור שמקבלים טלמטים מהפלטפורמה עצמה.תפקודים גמישים הם קצרים מועדי זמן, עשויים להימשך רק מ-2,000 שניות, ויכולים להגיע ל- אפס של פעולות של שימוש ב-reperty, אך דורשות, אך הן יכולות מעקב ופעולות תצורה של שימוש, אך הן יכולות להיות מקבצי ענן, אך הן בעלות יכולת מעקב ופעולות קצרות.
הבנה של CloudWatch ו- Azure Monitor
אמזון CloudWatch הוא שירות ניטור ועקביות עבור משאבי AWS ויישומים.עבור Serverless, הוא אוסף מדדים מ-AWS Lambda, API Gateway, DynamoDB, Step Functions, ושירותים אחרים.CloudWatch Logs ingests נתונים מ- Lambda functions, בעוד CloudWatch Metrics מספקת ברירת מחדל ו- metrics מותאם אישית.
Azure Monitor הוא פלטפורמת ניטור מאוחדת עבור Azure שירותים, כולל Azure Functions, Logic Apps, Event Grid ו- API Management.It אוספת מדדים פלטפורמה, יומני פעילות ונתונים אבחון. Application Insights, תכונה של Azure Monitor, מספק ניטור ביצועים מעמיק (APM) עבור פונקציות ללא שרת.זה עוקב אחר שיעורי הודעות, שיעורי תגובה, כישלונות, תלותיות, ו יוצאת דופן Azure מציע גם פעולות שידור עבור פונקציות הפעלה כגון פונקציות של Analytics או פונקציות (KLry) עבור פונקציות.
בעוד שני השירותים משרתים מטרות דומות, הם שונים ביישום ניואנסים.ענןWatch Metrics מאוחסנים במשך 15 חודשים עם גרניטריות שימור שונות, בעוד מדדי Azure Monitor לשמור 93 ימים על ידי ברירת מחדל. CloudWatch Logs Insights חיובים עבור GB של נתונים סרו, בעוד Azure Monitor Log Analytics חיובים GB ingested ו-Keeping מודלים אלה עוזר לך לייעל תוך הבטחת מספיק נתונים לפתרון.
הגדרת CloudWatch for Serverless Applications
מעקב אחר יישום ללא שרת על AWS מתחיל עם אפשרות כניסה ומדיקים לפונקציות Lambda.שירות Lambda פולט באופן אוטומטי סט של מדדים ברירת מחדל: ייעודים, שגיאות, Throttles, Duration, ו- ConcurrentExecutions. עם זאת, עליך להגדיר ניטור מותאם אישית כדי ללכוד מדדים ספציפיים עסקיים ו יומני מפורט.
שלב 1: IAM Permissions for CloudWatch
תפקיד של למנדה דורש תפקיד IAM עם הרשאות לכתוב יומני ל-CloudWatch Logs.com המצורפת למדיניות מנוהלת של ההרחבה או ליצור מדיניות אישית המאפשרת ל-FLT:1,FLT:2 ו-FLT 3 ללא הרשאות אלה, לא יישלחו נתונים לרישום, ומחיקתם הופכת לנחישות.
שלב 2: פרסום CloudWatch Logs
כל ייעוד למנדה מייצר זרם יומן בשם הפונקציה ו-Timetamp.קבוצת היומן אוספת את כל הזרמים לתפקוד.You יכול להגדיר שימור יומן כדי למנוע הצטברות בלתי מוגבלת - מחויב להגדיר מדיניות שימור (למשל, 30 ימים) לציית לממשל נתונים. השתמש ב- מובנים (JSON) כדי להפוך נתונים קלים יותר לשאילתה עם CloudWatchs Insights.
console.log(JSON.stringify({
requestId: context.awsRequestId,
eventType: event.httpMethod,
statusCode: 200,
durationMs: performance.now() - startTime
}));
מהדורות של [[המאה ה-20]], [[1924]]
שלב 3: יצירת מסובכים ואימהות
מעבר למדדי ברירת מחדל, פולטים מדדים מותאמים אישית באמצעות ההרחבה 6.לדוגמה, לעקוב אחר מספר הפריטים מעובדים לביצוע, לנטייה לשירותים במורד הזרם, או לטעינת שגיאות בתפקוד העסקי.ענן Watch עבור מדדים מותאמים אישית, כך גם להיות סלקטיבי. צור אזהרות ענן Watch עבור סף קריטי: אזעקה על FLT 7 מעל 1 דקות עבור פונקציות ייצור, או אזעקה על מנת לזהות הודעות אוטומטיות עבור SLTN.
שלב 4: ניתוח מתקדם עם CloudWatch Logs Insights
תובנות CloudWatch Logs מאפשרות לקבוצות יומני השאילתה על פני פונקציות מרובות.You יכול לזהות צווארי בקבוק ביצועים על ידי סינון על ייעוד גבוה, למצוא שגיאות על ידי חיפוש מחרוזת יוצאת דופן, או למדוד את השקיפות p95.דוגמה שאילתה כדי למצוא את 10 ההליכים האטיים ביותר:
fields @timestamp, @duration, @message
| filter @duration > 2000
| sort @duration desc
| limit 10
השתמש בתוצאות השאילתה כדי לבנות לוחות נתונים המציגים שיעורי שגיאה, לבקש מגמות, שגיאות העליון. לוחות מחוונים של CloudWatch יכולים לשלב מדדים ולוגים מחשבונות מרובים באמצעות observability cross-account.
ניהול Azure Monitor עבור יישומים ללא Server
פונקציות Azure הן הקידוד העיקרי ללא שרת ב- Azure.על ידי ברירת מחדל, פונקציות פולטות מדדים פלטפורמה כמו ספירת ביצוע פונקציונלית ויחידות תפעול פונקציונליות, אך אתה צריך תובנות יישומים עבור תובנות עמוקות יותר.
שלב 1: תובנות יישומים אפשריות
בעת יצירת אפליקציית Azure Function App, ללגום "תובנות" על מנת ליצור משאב קיים של Insights יישומים. for פונקציות קיימות, ללכת לאפליקציית הפונקציה בפורטל, תחת "הגדרות" > "Application Insights" ותאפשר לו.זה באופן אוטומטי את הפונקציה לשלוח טלמטרי: בקשות, תלות, חריגים, אירועים מותאמים אישית.
שלב 2: הגדרות אבחון
עבור טלמטארי נוסף, לאפשר הגדרות אבחון עבור הפונקציה שלך App לשלוח יומני ומטרידות כדי Log Analytics Workspaces. בפורטל, לנווט כדי "Monitoring" > "הגדרות דיגנוסטיות", ולאחר מכן להוסיף הגדרה לייעל את הפונקציהAppLogs ול- Log Analytics Workspace.זה נותן לך גישה לוויות השאילתה לצד נתונים של יישומי Insights באמצעות KQL.
שלב 3: אנליז ביצועים עם תובנות יישומים
לוח המחוונים של יישומים מראה שיעורי בקשה, זמני תגובה ממוצעים, ושיעורי הכישלון. השתמש בלהב הביצועים כדי לזהות פעולות איטיות, ואת הלהבים של הכישלונות להציג חריגים וערימות.יישומים תובנות גם תומך מדדים חיים, מראה בזמן אמת טלמטה עבור debuing תיקונים חמים.You יכול להגדיר בדיקות זמינות כדי ping HTTP-triggered פונקציות ממספר מיקומים.
שלב 4: קביעת התראות ב- Azure Monitor
יצירת התראות המבוססות על מדדים או שאילתות יומן.לדוגמה, התראה על "אזהרה דיגיטלית" עבור "ספירת הוצאה להורג של מיצוי" כאשר היא טיפות ל- אפס במשך 30 דקות, המציין בעיה אפשרית של פריסה.או "אזהרתגיתגיתגיתגיתגיתגית" שמרגיזת כאשר השאילתה FLT:10 חוזרת > 0.אזהרות יכולות לשלוח דואר אלקטרוני, SMS, או לגרום לקבוצות פעולה המפעילות את Azure Automation או לאפליקציות ל-אוטומטיות ל-אוטומטיות.
אסטרטגיות מעקב מתקדמות ללא Serverless
« « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « «
יישומים ללא שרת מורכבים לעתים קרובות פונקציות מרובות, API Gateways, תורים ומאגרי מידע.כאשר בקשה עוברת דרך מספר שירותים, זיהוי שורש של הגינות דורש מעקב מבוזר.AWS X-Ray משלב עם CloudWatch ו Lambda. Enable Active Tracing in Lambda, ו- X-Ray עקבות מ- Gateway דרך Lambda ו- downstream שירותים כמו DynamoDB או Ssights.
המונחים: Custom Instrument
Default metrics ו- logs עשויים לא ללכוד תובנות ברמה עסקית. Emit metrics מותאם אישית עבור KPI ספציפית דומיין: מספר הזמנות מעובד, cache פגע יחס, הפעלות משתמש, או ביצועי חיפוש מסד נתונים. על AWS, להשתמש בספריה FLT:11 כדי ליצור מדדים מובנים עם ממדים. על Azure, להשתמש ב- Trackt ו- TrackMetric APIs מהיישומים בתוך ה- SDK של פונקציות של למידה אלה.
גילוי אוטומטי
CloudWatch Metric Math מאפשר סף דינמי, אך עבור גילוי יותר מתוחכם, השתמש בלהקות לגילוי CloudWatch Anomaly Detection.להקות אלה להסתגל לדפוסים מדדים, צמצום חיובי כוזב. Azure Monitor מציע גילוי חכם אשר באופן אוטומטי מזהיר על חריגות בשיעורי כישלונות, משך, וכדאיות.
פיקוח על עלויות
ניטור Serverless יכול להיות יקר אם לא מנוהל.ענןWatch Logs נתונים עלויות הצפיחה יכול לעלות במהלך תקופות הטרחה גבוהה. Set יומן שמירה על 7 או 30 ימים עבור רוב הפונקציות, ופילטר יומני פועל כדי להימנע אחסון מיותר. על Azure, להשתמש דגימה ביישומים Insights כדי להפחית את נפח הטלמטר עבור פונקציות גבוהה של רזולוציה.
Best Practices for Proreative Observability
- (FLT:0) Adopt בנתה logging 1 בינואר בפורמט JSON עם סכימה עקבית בכל הפונקציות. Include בקשה מזהה, זמן ביצוע, סטטוס וקודי שגיאה.
- (FLT:0) Use מרכזי לוחות נתונים ממולאים 1FLT) המשלבים מדדים ולוגים ממספר שירותים.ענןWatch חוצה-חשבונות לוחות נתונים ו- Azure Workbooks יכולים לספק תצוגות חד-אפוניות של משקפיים.
- (FLT:0) אזהרות פרואקטיביות (FLT:1 עבור מדדים קריטיים לעסקים (אפס ייעודים, שיעור שגיאות גבוה) ומדדים תפעוליים (משך התחלה קר, throttles).
- (FLT:0) ,Implement תואמים תעודות זהות, 1IR) עבור כל הבקשות הנכנסות לאתר את הזרמים מקצה לקצה.עבור את התעודה דרך ראשי HTTP, תורים, ותפקודים.
- (ב) ,0) עיין ולהפחית את רעשים (FLT:1) על ידי הארכיון הישן ודיכוי ערנות שאינן ניתנות למבצעים.
- (ב) [15] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) אינטגרט עם ניהול אירועים 1 (הכוללים של PLT) כלים כמו PagerDuty או Opsgenie. Both CloudWatch ו- Azure Monitor יכולים לקדם התראות במערכות אלה באמצעות Webhooks.
השוואת CloudWatch ו- Azure Monitor: הבדלים מרכזיים
בעוד שתי הפלטפורמות מציעות יכולות דומות, יש הבדלים חשובים לשקול בעת בחירת בין AWS ו- Azure Server ללא שרת:
- (FLT:0) עקרות גרפיטי: FIRLT:1 פרמטרים CloudWatch זמינים ברזולוציה של 1 דקות, עם מדדים ברזולוציה גבוהה ב 1-II (עלויות טרטרה) המדדים הסטנדרטיים של Azure Monitor נמצאים כברירת מחדל של 1 דקות, אבל כמה מדדים ניתן לאסוף ב -30 שניות עם תצורה נוספת.
- (FLT:0)Log Analytics:IRFLT:1 , CloudWatch Logs Insights משתמש בשפת שאילתה דמוית SQL, בעוד Azure Monitor משתמש KQL, שהיא חזקה יותר לניתוח בזמן ומצטרף לטבלאות מרובות.
- מודל:0 [Pricing Model:]pLT 1 CloudWatch גובה, לכל קידוד GB, ול- GB סריקה על ידי Insights. Azure Monitor לכל GB מוכנס לתוך Log Analytics ול- GB של נתונים שנשמרו. for high-traffic function, and for GB Based תמחור מבוסס על צ'אט יכול להיות צפוי יותר אם אתה שולט נפח.
- (FLT:0) אינטגרציה עם שירותים אחרים:FearLT:1 ; CloudWatch משלבת חזק עם AWS X-Ray, CloudTrail ו-VPC Flows. Azure Monitor משלב עם Azure Sentinel, Azure Policy ו- Microsoft 365 Defender.
- (FLT:0) תמיכת ענן-מור: FLT:1 , Azure Monitor תומך ב-AWS ו- GCP באמצעות מחברים, בעוד ש-CloudWatch הוא AWS-native אבל יכול לקבל יומני מ- On-premises באמצעות CloudWatch Agent. for Multi-clouds, שקול כלי צד שלישי כמו Datadog או New Relic for observability מאוחדת.
דוגמה ל-E-Commerce Checkout Flow
שקול יישום ללא שרת מסחר אלקטרוני על AWS המשתמש ב- API Gateway, Lambda, DynamoDB ו-SQS כדי לפקח על זרימת הסימון:
- ניתן ל- X-Ray לעבור על שער ה- API ומ Lambda כדי לעקוב אחר כל בקשה של HTTP באמצעות כל שיחות מטה.
- מדדים מותאמים אישית לנפח Checkout, אחוזי הצלחה, מחיר ממוצע, וכבדות שער תשלום באמצעות פורמט ה-metrics המשובח.
- צור לוח מחוונים של CloudWatch המציג את ה- Checkout funnel: API בקשה ל- API, Lambda invocations, DynamoDB קורא/writeקיבולת, ו-שגיאה ספירת צעד.
- אזעקה: אם שיעור השגיאה של בדיקת קופה עולה על 1% מעל 5 דקות, דף את מהנדס על-קול.אם דינמודיז D-DB מתרחשים יותר מ 10 פעמים, מה שהופך מדיניות השקיה אוטומטית או להזהיר את צוות מסד הנתונים.
- השתמש ב-CloudWatch Logs Insights כדי לבקש זיהויים של שאלות שלא הצליחו ולתאם עם יומני שער תשלום (בכפוף ל-CloudWatch משירותים חיצוניים באמצעות API).
ניטור פרואקטיבי זה מבטיח צוות יכול לזהות ולפתור בעיות לפני הלקוחות מושפעים.אותה גישה חלה על Azure באמצעות פונקציות Azure, תובנות יישומים וקוסמוס DB.
מסקנה
אמזון CloudWatch ו- Azure Monitor חיוניים לניהול יישומים ללא שרת בקנה מידה.על ידי מעבר לרכיבה בסיסית ואימוץ מדדים מותאמים אישית, רצף מבוזר, ואזהרות חכמות, אתה מקבל את הנראות הדרושה כדי לשמור על זמינות גבוהה וביצועים.שני הפלטפורמות מציעים תכונות עוצמתיות, כאשר נקבע כראוי, להפחית זמן לרזולוציה ולייעל עלויות של שרת ללא הגבלת זמן, השקעה בקביעת תשלומים באבטחה התפעולית ב-CloudFertivances, ו-Alation Document for CloudFer:2Feration Update for Cloud, כלומר: 1.comerfer: 1.com: 1.comerl for CloudFeration Update for Cloud, 1ALT2, כלומר: 1.com: 1.com.