במאמר הזה מתוארים הפרמטרים של ההגדרות, המאפיינים של הטלמטריה, והתצוגות והפונקציות של הניראות (observability) לתובנות מתקדמות לגבי שאילתות ב-AlloyDB Omni.
מידע נוסף על הפעלה של תובנות מתקדמות לגבי שאילתות ועל שליחת שאילתות לגביהן זמין במאמר מעקב אחרי ביצועי שאילתות באמצעות תובנות מתקדמות לגבי שאילתות.
פרמטרים להגדרה
כדי להחיל שינויים בפרמטרים שלא דורשים הפעלה מחדש של מסד הנתונים, מריצים את הפקודה ALTER SYSTEM SET ואחריה את הפקודה SELECT pg_reload_conf(). בטבלה הבאה מתוארים הפרמטרים להגדרת תובנות מתקדמות לגבי שאילתות:
| פרמטר | סוג | ערך ברירת המחדל | נדרשת הפעלה מחדש | תיאור |
|---|---|---|---|---|
google_insights_v2.enabled |
boolean |
off |
כן, להפעלה ראשונית עם
shared_preload_libraries. לא, אם רוצים לטעון מחדש עם pg_reload_conf(). |
הפעלה או השבתה של איסוף נתוני טלמטריה מתקדמים של תובנות לגבי שאילתות בכל המכונה. |
google_insights_v2.qi_max_query_string_length |
integer |
10240 |
לא (טעינה מחדש עם pg_reload_conf()) |
מגדיר את האורך המקסימלי בבייטים (1024 עד 102400) שנרשם לתבניות SQL מנורמלות, שבהן ערכים ליטרליים מוסווים כפרמטרים מיקומיים כמו $1 ו-$2. |
google_insights_v2.qi_preserve_comments |
boolean |
off |
לא (טעינה מחדש באמצעות pg_reload_conf()) |
ההגדרה קובעת אם הערות SQL נשמרות בתוך מחרוזות של שאילתות מנורמלות. |
google_insights_v2.qi_track_wait_event_types |
boolean |
on |
לא (טעינה מחדש עם pg_reload_conf()) |
מתעד קטגוריות של צווארי בקבוק ברמה גבוהה ב-wait_class, כמו CPU, IO, Lock, Timeout ו-IPC. |
google_insights_v2.qi_track_wait_events |
boolean |
on |
לא (טעינה מחדש באמצעות pg_reload_conf()) |
מתעדים שמות של wait_event ב-PostgreSQL ברמת פירוט גבוהה, כמו
DataFileExtend, transactionid ו-WALWrite. |
google_insights_v2.qi_track_client_address |
boolean |
off |
לא (טעינה מחדש באמצעות pg_reload_conf()) |
רשומות שמקשרות בין כתובות ה-IP של הלקוחות בתצוגות הסטטיסטיקה של השאילתות וכתובות הלקוחות. |
google_insights_v2.qi_track_tag |
boolean |
off |
לא (טעינה מחדש באמצעות pg_reload_conf()) |
התכונה מאפשרת לעקוב אחרי תגים, כמו תגי SQLCommenter, בהערות SQL. |
google_insights_v2.qi_track_active_queries |
boolean |
off |
לא (טעינה מחדש עם pg_reload_conf()) |
ההגדרה מאפשרת מעקב בזמן אמת אחרי שאילתות פעילות ועסקאות פתוחות. |
תצוגות ומדדים של ניראות לפי מאפיין
בקטעים הבאים מפורטים התצוגות של יכולת הצפייה והעמודות של המדדים שזמינים בסכימה google_insights_v2 לכל מאפיין טלמטריה.
שאילתות
המאפיין queries עוקב אחרי הנתונים הסטטיסטיים של הביצוע וטקסט SQL מנורמל של שאילתות במכונה. כדי לשמור הערות SQL בטקסט של שאילתה מנורמלת, מגדירים את google_insights_v2.qi_preserve_comments לערך on.
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
observability_service_query_viewobservability_service_query_coarse_1_viewobservability_service_query_coarse_2_view
- עמודות קשורות:
-
query_id: מזהה הגיבוב (hash) של שאילתת ה-SQL המנורמלת. -
query: טקסט של שאילתת SQL שעבר נרמול. -
database: מסד הנתונים הלוגי שבו השאילתה הופעלה. -
username: התפקיד במסד הנתונים שהריץ את השאילתה. total_execution_time: זמן הביצוע המצטבר במיקרו-שניות.-
total_wait_time: זמן ההמתנה המצטבר במיקרו-שניות. -
total_read_time: זמן הקריאה המצטבר מהדיסק במיקרו-שניות. -
total_write_time: הזמן המצטבר של כתיבה לדיסק במיקרו-שניות. -
total_rows: מספר השורות הכולל שהוחזרו או הושפעו מהשאילתה. total_shared_blocks_hit: המספר הכולל של הפגיעות במאגר הנתונים הזמני המשותף.-
total_shared_blocks_read: המספר הכולל של בלוקים משותפים שנקראו מהדיסק. -
count: מספר הפעמים הכולל שהשאילתה בוצעה. -
recorded_on: חותמת הזמן שבה נרשם מרווח הטלמטריה.
-
סוגי אירועי המתנה
המאפיין של סוגי אירועי ההמתנה מתעד קטגוריות של צווארי בקבוק ברמה גבוהה ב-wait_class, כשהערך של google_insights_v2.qi_track_wait_event_types מוגדר כ-on (מופעל כברירת מחדל).
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
observability_service_wait_event_no_query_viewobservability_service_wait_event_stats_by_query_view
- עמודות קשורות:
-
wait_class: קטגוריית אירוע ההמתנה, כמוIO,Lock,LWLock,CPUאוInternal wait event. -
wait_event: שם אירוע ההמתנה המפורט של PostgreSQL בתוך מחלקת ההמתנה. -
time_spent: זמן ההמתנה המצטבר לסוג אירוע ההמתנה, במיקרו-שניות. -
count: המספר הכולל של הפעמים שסוג אירוע ההמתנה התרחש. -
database: מסד הנתונים הלוגי שבו התרחש אירוע ההמתנה. -
username: תפקיד מסד הנתונים שמשויך לאירוע ההמתנה. -
tag_id: המזהה המספרי של קבוצת התגים המשויכת של SQLCommenter. tag_string: מחרוזת הערה גולמית ב-SQL שמכילה את תגי האפליקציה.-
recorded_on: חותמת הזמן שבה נרשם מרווח הזמן של הטלמטריה. -
query_id: מזהה ה-hash של השאילתה (ב-observability_service_wait_event_stats_by_query_view).
-
אירועי המתנה
המאפיין "אירועי המתנה" מתעד שמות מפורטים של wait_event ב-PostgreSQL כשהערך של google_insights_v2.qi_track_wait_events מוגדר ל-on (מופעל כברירת מחדל).
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
observability_service_wait_event_no_query_viewobservability_service_wait_event_stats_by_query_view
- עמודות קשורות:
-
wait_event: שם ספציפי של אירוע המתנה ב-PostgreSQL, כמוDataFileExtend,DataFileRead,WALWriteאוInternal wait event. -
wait_class: קטגוריית אירוע ההמתנה שאליה שייך אירוע ההמתנה. -
time_spent: זמן ההמתנה המצטבר לאירוע ההמתנה במיקרו-שניות. -
count: מספר הפעמים הכולל שאירוע ההמתנה התרחש. -
database: מסד הנתונים הלוגי שבו התרחש אירוע ההמתנה. -
username: תפקיד מסד הנתונים שמשויך לאירוע ההמתנה. -
tag_id: המזהה המספרי של קבוצת התגים המשויכת של SQLCommenter. tag_string: מחרוזת הערה גולמית ב-SQL שמכילה את תגי האפליקציה.-
recorded_on: חותמת הזמן שבה נרשם מרווח הזמן של הטלמטריה. -
query_id: מזהה הגיבוב של השאילתה (ב-observability_service_wait_event_stats_by_query_view).
-
מסדי נתונים
המאפיין Databases עוקב אחרי צריכת המשאבים ונפח השאילתות לכל מסד נתונים לוגי, כשהערך של google_insights_v2.enabled הוא on.
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
observability_service_db_load_conn_viewobservability_service_query_viewobservability_service_wait_event_no_query_view
- עמודות קשורות:
-
database: שם מסד הנתונים הלוגי. -
username: תפקיד במסד הנתונים שהריץ שאילתות במסד הנתונים. total_execution_time: זמן הביצוע המצטבר של השאילתה במסד הנתונים, במיקרו-שניות.-
total_wait_time: זמן ההמתנה המצטבר במסד הנתונים במיקרו-שניות. -
count: המספר הכולל של ביצועי השאילתות במסד הנתונים. -
recorded_on: חותמת הזמן שבה נרשם מרווח הזמן של הטלמטריה.
-
משתמשים וכתובות ה-IP של הלקוח
המאפיין 'משתמשים וכתובות ה-IP של הלקוחות' עוקב אחרי הטעינה לפי תפקיד במסד הנתונים (username) כברירת מחדל. כדי לאסוף גם את כתובות ה-IP של הלקוחות המתחברים (client_address), צריך להגדיר את google_insights_v2.qi_track_client_address לערך on (off כברירת מחדל).
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
observability_service_query_viewobservability_service_client_address_stats_by_query_view
- עמודות קשורות:
-
client_address: כתובת ה-IP של הלקוח המתחבר (כאשרgoogle_insights_v2.qi_track_client_addressהואon). -
username: שם התפקיד במסד הנתונים. -
database: שם מסד הנתונים הלוגי. -
query_id: מזהה הגיבוב של שאילתת ה-SQL הנורמלית. -
time_spent: זמן הביצוע המצטבר של השאילתה לכתובת הלקוח, במיקרו-שניות. -
count: המספר הכולל של הרצות השאילתות של המשתמש או של כתובת ה-IP של הלקוח. -
recorded_on: חותמת הזמן שבה נרשם מרווח הזמן של הטלמטריה.
-
תגים
המאפיין tags (תגים) עוקב אחרי נתוני הביצוע של שאילתות לפי מטא-נתונים של תג האפליקציה. כדי לאסוף מדדים של תגים, צריך להגדיר את google_insights_v2.qi_track_tag
ל-on (off כברירת מחדל). כשהערך מוגדר כ-off, התצוגות האלה לא מחזירות שורות.
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
observability_service_db_load_tag_viewobservability_service_tag_view
- עמודות קשורות:
-
tag_id: מזהה מספרי של שילוב תגי האפליקציה. -
tag_string: מחרוזת של הערת SQL גולמית שמכילה את תגי האפליקציה. -
application: שם האפליקציה שחולץ מתגי SQLCommenter. -
db_driver: מנהל ההתקן של מסד הנתונים שחולץ מתגי SQLCommenter. -
framework_name: שם מסגרת האפליקציה שחולץ מתגי SQLCommenter. -
framework_controller: בקר המסגרת שחולץ מתגי SQLCommenter. -
framework_action: פעולת framework שחולצה מתגי SQLCommenter. -
framework_route: נתיב המסגרת שחולץ מתגי SQLCommenter. -
traceparent: הקשר של מעקב W3C שחולץ מתגי SQLCommenter. -
database: השם הלוגי של מסד הנתונים שבו הופעלה השאילתה המתויגת. -
username: התפקיד במסד הנתונים שהריץ את השאילתה המתויגת. total_execution_time: זמן הביצוע המצטבר של השאילתה לשילוב התגים, במיקרו-שניות.-
count: המספר הכולל של הרצות השאילתות לשילוב התגים. -
recorded_on: חותמת הזמן שבה נרשם מרווח הזמן של הטלמטריה.
-
שאילתות פעילות
המאפיין "שאילתות פעילות" עוקב בזמן אמת אחרי שאילתות שפועלות וטרנזקציות פתוחות. כדי לשלוח שאילתה לגבי סשנים פעילים, צריך להגדיר את google_insights_v2.qi_track_active_queries ל-on. כשהערך הוא off, שאילתות לתצוגות האלה מחזירות שגיאה.
התצוגות והעמודות הבאות זמינות למאפיין הזה:
- תצוגות של יכולת התבוננות:
stat_activitystat_activity_v3
- עמודות קשורות:
-
pid: מזהה התהליך בקצה העורפי. כדי לסיים סשן, מעבירים את מזהה התהליך לפונקציית המערכתpg_terminate_backend(pid)של PostgreSQL. -
normalized_query_hash: מזהה הגיבוב של שאילתת ה-SQL הנורמלית. -
normalized_query: טקסט SQL מנורמל של השאילתה הפעילה. -
state: המצב הנוכחי של הקצה העורפי, למשלactiveאוidle in transaction. -
backend_start: חותמת הזמן שבה התחיל הסשן הנוכחי. כדי לחשב את משך הסשן בשניות, מחשבים אתEXTRACT(EPOCH FROM (clock_timestamp() - backend_start)). -
xact_start: חותמת הזמן שבה התחילה הטרנזקציה הנוכחית. כדי לחשב את משך הטרנזקציה בשניות, מחשבים אתEXTRACT(EPOCH FROM (clock_timestamp() - xact_start)). -
query_start: חותמת הזמן שבה התחילה השאילתה הנוכחית. כדי לחשב את משך השאילתה בשניות, מחשבים את הערך שלEXTRACT(EPOCH FROM (clock_timestamp() - query_start)). -
wait_event_type: קטגוריית אירוע ההמתנה אם הקצה העורפי ממתין. -
wait_event: שם אירוע ההמתנה אם הקצה העורפי ממתין. -
database: שם מסד הנתונים הלוגי של הסשן הפעיל. -
username: שם תפקיד במסד הנתונים עבור הסשן הפעיל. application_name: שם האפליקציה המתחברת.-
client_addr: כתובת ה-IP של הלקוח שמתחבר.
-