בדף הזה מוסבר איך להשתמש באירועים מורחבים (XEvents) במופעים שלכם.
ב-Cloud SQL ל-SQL Server אפשר להשתמש ב-XEvents כדי לעקוב אחרי הביצועים של מסד הנתונים, לזהות בעיות ולפתור אותן. כדי לעשות זאת, יוצרים סשנים של XEvent וקוראים קובצי פלט של XEvent. אפשר לקרוא את קובצי הפלט של XEvent במופע או להוריד את קובצי XEvent מקטגוריה של Cloud Storage.
לפני שמתחילים
אם אתם רוצים להעלות את קובצי ה-XEvent לקטגוריה של Cloud Storage, אתם צריכים ליצור קטגוריה בחשבון Google Cloud .
שיטות מומלצות
- כדי להימנע מהעברת קבצים גדולים בין אזורים, מומלץ לבצע אחת מהפעולות הבאות:
- יצירת קטגוריות של Cloud Storage שפועלות במספר אזורים
- הגדרת קטגוריית היעד של Cloud Storage באותו אזור שבו נמצא המופע
- לפני שמשתמשים ב-XEvents, צריך להפעיל הגדלות אוטומטיות של נפח האחסון. קבצי הפלט של XEvent עשויים לדרוש נפח אחסון משמעותי בדיסק, בהתאם לגודל הכולל שלהם ולמרווחי השמירה.
- כדי להימנע משמירה של יותר מדי קובצי XEvent למשך זמן רב, צריך להגדיר מדיניות שמירת נתונים לקטגוריה של Cloud Storage.
- אם אתם יוצרים סשן XEvent באמצעות ממשק המשתמש של SSMS, אבל חלק מהתיבות להזנת ערכים לא מופיעות, אתם צריכים לשנות את הגודל של החלון Create XEvent Session.
איך יוצרים סשנים של XEvent
התכונה XEvents מופעלת במופעים שלכם באופן אוטומטי.
משתמשים בפקודה CREATE EVENT SESSION כדי להגדיר סשנים חדשים של XEvent. אפשר גם להשתמש בממשק המשתמש של SQL Server Management Studio (SSMS) כדי ליצור סשנים של XEvent.
מערכת Cloud SQL אוכפת את הפרמטרים הבאים לכל סשן XEvent:
| פרמטר | תיאור | ערכים מותרים |
FILENAME
|
מציינת את שם הקובץ והנתיב לאחסון נתוני סשן של XEvents. | כל נתיב שמתחיל ב-/var/opt/mssql/xevents/
|
MAX_FILE_SIZE
|
מציינים את הגודל המקסימלי של כל קובץ פלט לפני שנוצר קובץ חדש. | מינימום 10MB
מקסימום 1GB |
MAX_MEMORY
|
מציין את כמות הזיכרון המקסימלית להקצאה לסשן עבור אגירת אירועים. | מינימום 4MB
מקסימום 8MB |
MAX_DISPATCH_LATENCY
|
מציין את הזמן המקסימלי (בשניות) שאירועים יכולים להישאר בתור לשליחת אירועים לפני שהם נשלחים ליעד. | מינימום שנייה אחת
מקסימום 30 שניות |
MAX_EVENT_SIZE
|
הגדרת הגודל המקסימלי של כל אירוע, בבייטים. | מינימום 4MB
מקסימום 8MB |
פרמטרים להגדרת סשן של XEvent
אפשר להגדיר סשנים של XEvent באמצעות הפרמטרים הבאים כדגלים מותאמים אישית:
| פרמטר | תיאור |
cloud sql xe bucket name
|
מציינים את הקטגוריה של Cloud Storage שאליה רוצים להעלות את הפלט של סשן XEvent. אם לא מציינים את זה, Cloud SQL לא מעלה את נתוני הפלט של סשן XEvent ל-Cloud Storage. |
cloud sql xe output total disk size (mb)
|
מציינים את כמות שטח הדיסק שצריך לשריין לפלט של כל סשני XEvent. אם לא מציינים את הערך הזה, Cloud SQL משתמש בנפח דיסק של 512MB כברירת מחדל. אם קובצי הפלט של XEvent צורכים יותר מקום בדיסק מהערך של cloud sql xe output total disk size (mb), Cloud SQL מסיר את הקבצים האלה מהדיסק.
|
cloud sql xe file retention (mins)
|
מציינים את זמן השמירה במופע בדקות עבור קבצים שנוצרו על ידי יעדי הקבצים של סשנים של XEvent. אם לא מציינים ערך, Cloud SQL משתמש בערך ברירת המחדל של 7 ימים. |
cloud sql xe upload interval (mins)
|
מגדירים את מרווח הזמן להעלאה של קובצי XEvent ל-Cloud Storage. אם לא מציינים ערך, Cloud SQL משתמש בערך ברירת המחדל של 10 דקות. |
מידע נוסף על הגדרת הדגלים האלה זמין במאמר בנושא הגדרת דגלים של מסד נתונים.
איך קוראים קובצי פלט של סשן XEvent
אפשר לקרוא קובצי פלט של סשן XEvent ממופע Cloud SQL או מקטגוריה של Cloud Storage.
קריאה של קובצי פלט של XEvent ממופע
כדי לאחזר את הנתונים מקובץ XEvent שנוצר על ידי סשן XEvent, משתמשים בפונקציה sys.fn_xe_file_target_read_file.
הנה דוגמה:
SELECT * FROM sys.fn_xe_file_target_read_file('/var/opt/mssql/xevents/filename*, NULL, NULL, NULL);
קריאת קובצי פלט של XEvent מקטגוריה
כדי לקרוא קובצי פלט של XEvent מקטגוריה של Cloud Storage, צריך להוריד את הקבצים מהקטגוריה למכונת SQL Server. אפשר להוריד מאחד מהמקרים הבאים:
- מכונת Windows ב-Compute Engine
- מכונת Linux ב-Compute Engine
- סוג נוסף של מופע שמריץ SQL Server
לאחר מכן, מעבירים את קובצי הפלט של XEvent מהקטגוריה למיקום שאפשר לגשת אליו מהמופע הזה, כמו הדיסק המקומי שלו. לאחר מכן, כדי להחזיר מידע מקובץ הפלט של XEvent, מריצים את הפונקציה sys.fn_xe_file_target_read_file עם חשבון שיש לו הרשאה VIEW SERVER STATE בשרת. מידע נוסף על הרשאות זמין במאמר בנושא הרשאות.
איך מעניקים הרשאות להעלאת קבצים לקטגוריה של Cloud Storage
כדי להעניק הרשאות להעלאת קובצי XEvent לקטגוריה של Cloud Storage, מבצעים את השלבים הבאים:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שאליה רוצים להעלות את קובצי ה-XEvent.
בדף Bucket details, לוחצים על הכרטיסייה Permissions.
בכרטיסייה View by principals (תצוגה לפי חשבונות משתמשים), לוחצים על Grant Access (מתן גישה).
בקטע Add principals (הוספת חשבונות משתמשים), בשדה New principal (חשבון משתמש חדש), מזינים את חשבון השירות של מופע Cloud SQL שבו רוצים להשתמש.
בקטע Assign roles, בשדה Select a role, מזינים את התפקיד Storage Object User (
roles/storage.objectUser). מידע נוסף על התפקיד זמין במאמר תפקידים נדרשים ב-Cloud Storage.
מדדי מעקב
אפשר לעקוב אחרי הפעולות הבאות שקשורות ל-xevent כחלק ממדדי Cloud SQL, שזמינים דרך Metrics Explorer:
- database/sqlserver/xevents_upload_count: מציין את המספר הכולל של ניסיונות העלאה של קובצי xevent שהצליחו וניסיונות העלאה שנכשלו. כדאי לבדוק את המדד הזה כדי לראות אם ההעלאות בוצעו בהצלחה.
- database/sqlserver/xevents_size.: מציין כמה מקום בדיסק תופסים קובצי xevent שמאוחסנים במופע, בבייטים.
מעקב אחרי סשנים של XEvent
אפשר לעקוב אחר פעילויות שקשורות להפעלת XEvent דרך הקובץ xevents.log עבור הפעולות הבאות:
- קבצי הפלט של XEvent שהוסרו מהדיסק, שלא הועלו ל-Cloud Storage ותפסו נפח אחסון בדיסק שגדול מהערך שמשויך ל-
cloud sql xe output total disk size (mb). - קבצי הפלט של XEvent הוסרו מהדיסק, הם לא הועלו ל-Cloud Storage והם ישנים יותר מהערך שמשויך ל-
cloud sql xe file retention.
שיקולים לגבי העתקי קריאה
בקטע הזה מפורט מידע על סשנים של XEvent עבור רפליקות לקריאה חדשות וקיימות.
לשכפולים חדשים לקריאה
- כל פרמטרי ההגדרה של סשן XEvent שמועברים דרך דגלי מסד הנתונים במופע המקורי זמינים בעותק לקריאה שנוצר לאחרונה.
- כל סשני XEvent שקיימים במופע המקורי כשמשכפלים את המופע לקריאה בלבד, זמינים במופע המשוכפל לקריאה בלבד. שימו לב: סשנים של XEvent בעותק לקריאה צריכים להיות מופעלים באופן ידני, אלא אם הם מוגדרים להפעלה אוטומטית. מידע נוסף זמין במאמר איך יוצרים סשנים של XEvent.
- אם משכפלים מכונה ראשית, כל הדגלים של מסד הנתונים שמופיעים במכונה הראשית מועברים למכונה המשוכפלת. בנוסף, צריך לתת לחשבון השירות של המופע המשוכפל הרשאות גישה לקטגוריה של Cloud Storage.
לשכפולים לקריאה קיימים
- פרמטרים של הגדרת סשן XEvent שעוברים דרך דגלים של מסד נתונים למופע המקורי לא מועברים לרפליקות לקריאה.
- סשנים של XEvent שנוצרו במופע המקורי לא מועברים לרפליקות קריאה.