Microsoft SQL Server

השילוב של Microsoft SQL Server אוסף נתונים על עסקאות, חיבורים ומדדים אחרים מהמופעים של SQL Server.

מידע נוסף על SQL Server זמין במאמר בנושא SQL Server.

לפני שמתחילים

בגרסה 2.15.0 של Ops Agent נוספה תמיכה בקבוצה חדשה של מדדי SQL Server באמצעות הקידומת workload.googleapis.com/. צריך להגדיר את הסוכן כדי לאסוף את המדדים האלה, כמו שמתואר בהגדרה לדוגמה.

‫Ops Agent תמיד תמך בקבוצה מוגבלת של מדדים של SQL Server; המדדים האלה משתמשים בקידומת agent.googleapis.com/mssql/. לא נדרשת הגדרה נוספת כדי לאסוף את המדדים האלה במכונות וירטואליות של Windows.

במסמך הזה, המדדים עם הקידומת agent נקראים מדדים v1, והמדדים עם הקידומת workload נקראים מדדים v2.

  • המדדים בגרסה 1 כוללים מידע על קצב העסקאות ומספר החיבורים.
  • המדדים בגרסה 2 כוללים מידע על מספר החיבורים של המשתמש, הדף, הנעילה והקבוצה ברמת המופע, ומידע על טרנזקציות ויומן טרנזקציות ברמת מסד הנתונים.

טבלאות של המדדים האלה מופיעות במאמר מה נבדק.

החל מגרסה 2.15.0 של Ops Agent, אפשר להגדיר את הסוכן לאיסוף מדדים מגרסה 1, מדדים מגרסה 2 או את שניהם.

דרישות מוקדמות

כדי לאסוף נתוני טלמטריה של SQL Server, צריך להתקין את Ops Agent:

  • למדדים מגרסה 1, צריך להתקין גרסה 1.0.0 ואילך.
  • למדדים מגרסה 2, צריך להתקין גרסה 2.15.0 ואילך.

השילוב הזה תומך בגרסאות SQL Server‏ 11.x,‏ 12.x,‏ 13.x,‏ 14.x,‏ 15.x ו-16.x.

הגדרת Ops Agent ל-SQL Server

כשמשתמשים ב-Ops Agent במכונה וירטואלית של Microsoft Windows, הסוכן אוסף באופן אוטומטי מדדים של SQL Server v1. אין צורך לקבוע הגדרות נוספות לשם כך.

פועלים לפי המדריך בנושא הגדרת Ops Agent, מוסיפים את הרכיבים הנדרשים לאיסוף טלמטריה ממופעי SQL Server ומפעילים מחדש את הסוכן.

אחרי שמגדירים מופע חדש של SQL Server, יכול להיות שלא תראו מיד את המדדים בכלי לבדיקת מדדים. הסוכן Ops Agent מתחיל לאסוף מדדים של SQL Server רק אחרי שיש פעילות במסד הנתונים שאפשר לדווח עליה.

הגדרה לדוגמה

הפקודות הבאות יוצרות את ההגדרה לאיסוף ולעיבוד של נתוני טלמטריה עבור SQL Server:

$ErrorActionPreference = 'Stop'

# This config gets merged with the built-in Ops Agent config, which already
# includes the v1 receiver in the default pipeline.
# Because the v2 receiver here uses a unique ID, it does not overwrite
# the default receiver and so both receivers will be active simultaneously
# during the test.

# Create an empty config.yaml file if it doesn't exist.
$configFilePath  = 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml'

if (-not (Test-Path -Path $configFilePath -PathType Leaf)) {
    New-Item -ItemType File -Path $configFilePath -Force | Out-Null
}

# Create a back up of the existing file so existing configurations are not lost.
Copy-Item -Path 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' -Destination 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml.bak'

# Configure the Ops Agent.
Add-Content 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' "
metrics:
  receivers:
    mssql_v2:
      type: mssql
      receiver_version: 2
  service:
    pipelines:
      mssql_v2:
        receivers:
        - mssql_v2
"

if (Get-Service google-cloud-ops-agent* -ErrorAction SilentlyContinue) {
  (Get-Service google-cloud-ops-agent*).WaitForStatus('Running', '00:03:00')
}

כדי שהשינויים האלה ייכנסו לתוקף, צריך להפעיל מחדש את Ops Agent:

  1. מתחברים למופע באמצעות RDP או כלי דומה ומתחברים ל-Windows.
  2. פותחים טרמינל ב-PowerShell עם הרשאות אדמין על ידי לחיצה ימנית על סמל PowerShell ובחירה באפשרות הפעלה כמנהל מערכת.
  3. כדי להפעיל מחדש את הסוכן, מריצים את פקודת PowerShell הבאה:
    Restart-Service google-cloud-ops-agent -Force
    
  4. כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
    Get-Service google-cloud-ops-agent*
    

הגדרת איסוף מדדים בגרסה 1

ה-Ops Agent במכונה וירטואלית של Microsoft Windows אוסף באופן אוטומטי מדדים של SQL Server v1. אין צורך לקבוע הגדרות נוספות לשם כך. מידע על איסוף מדדים מגרסה 2 בלבד זמין במאמר הגדרת איסוף מדדים מגרסה 2.

אחרי שמגדירים מופע חדש של SQL Server, יכול להיות ש-SQL Server לא ידווח על מדדים באופן מיידי. הסוכן Ops מתחיל לאסוף מדדים של SQL Server אחרי שיש פעילות במסד הנתונים שאפשר לדווח עליה.

הגדרת איסוף מדדים בגרסה 2

כדי להטמיע מדדים מגרסה 2 מ-SQL Server, צריך ליצור מקלט למדדים ש-SQL Server מייצר, ואז ליצור צינור למקלט החדש.

המקלט הזה לא תומך בשימוש בכמה מופעים בהגדרה, למשל כדי לעקוב אחרי כמה נקודות קצה. כל המקרים האלה מתועדים באותה סדרת זמן, ול-Cloud Monitoring אין דרך להבחין ביניהם. ‫Ops Agent לא תומך במכונות SQL Server עם שמות.

כדי להגדיר מקלט למדדים של mssql, צריך לציין את השדות הבאים:

שדה ברירת מחדל תיאור
collection_interval 60s ערך time.Duration, כמו 30s או 5m.
receiver_version גרסת המדדים שנאספים. צריך להשתמש ב-2 כדי לאסוף מדדים בגרסה 2.
type הערך חייב להיות mssql.

כברירת מחדל, המדדים מגרסה 1 נאספים באופן אוטומטי. אפשר להוסיף מדדים מגרסה 2 למדדים מגרסה 1, או להחליף את המדדים מגרסה 1 במדדים מגרסה 2.

  • כדי לאסוף מדדים של גרסה 2 בלבד:

    • נותנים למקלט את השם mssql.
    • מגדירים את השדה type לערך mssql.
    • מגדירים את השדה receiver_version לערך 2.
    • משתמשים במקלט הזה בצינור העיבוד default_pipeline. ההגדרה הזו מבטלת את ההגדרה המובנית של מקלט mssql.
  • כדי לאסוף מדדים מגרסה 1 ומגרסה 2, מבצעים את הפעולות הבאות:

    • נותנים לנמען שם שונה מ-mssql, למשל mssql_v2.
    • מגדירים את השדה type לערך mssql.
    • מגדירים את receiver_version לערך 2.
    • משתמשים ברכיב המקבל הזה בצינור החדש. ההגדרה הזו מוסיפה מקלט v2 במקום להחליף את המקלט המובנה. הסקריפט בהגדרה לדוגמה משתמש בגישה הזו.

מה נבדק

החל מגרסה 2.15.0, סוכן Ops יכול לאסוף שני סטים שונים של מדדים:

  • המדדים בגרסה 1: agent.googleapis.com/mssql/.
  • המדדים בגרסה 2: workload.googleapis.com/.
מדדים של גרסה 1

בטבלה הבאה מפורטים המדדים מגרסה 1 שה-Ops Agent אוסף ממופע SQL Server.

לפני המחרוזות של 'סוג המדד' בטבלה הזו צריך להוסיף את הקידומת agent.googleapis.com/mssql/. הקידומת הזו הושמטה מהערכים בטבלה. כשמבצעים שאילתה על תווית, משתמשים בקידומת metric.labels.. לדוגמה, metric.labels.LABEL="VALUE".

סוג המדד שלב ההשקה(רמות בהיררכיית המשאבים)
שם לתצוגה
סוג, יחידה
משאבים במעקב
תיאור
תוויות
connections/user GA(project)
SQL Server open connections
GAUGEDOUBLE1
aws_ec2_instance
gce_instance
חיבורים פתוחים כרגע לשרת SQL. נדגמים כל 60 שניות.
transaction_rate GA(project)
קצב העסקאות של שרת SQL
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
מספר העסקאות הכולל לשנייה ב-SQL Server. נדגמים כל 60 שניות.
write_transaction_rate GA(project)
קצב העסקאות של כתיבה ב-SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
עסקאות כתיבה בשרת SQL לשנייה. נדגמים כל 60 שניות.

הטבלה נוצרה בתאריך 2026-07-10 בשעה 17:48:44 לפי שעון UTC.

מדדים בגרסה 2

בטבלה הבאה מפורטים המדדים מגרסה 2 שה-Ops Agent אוסף ממופע SQL Server.

סוג המדד 
סוג, סוג
משאבים במעקב
תוויות
workload.googleapis.com/sqlserver.batch.request.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_compilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_recompilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait_time.avg
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.buffer_cache.hit_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.checkpoint.flush.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.lazy_write.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.life_expectancy
GAUGEINT64
gce_instance
 
workload.googleapis.com/sqlserver.page.operation.rate
GAUGEDOUBLE
gce_instance
type
workload.googleapis.com/sqlserver.page.split.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.transaction.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction.write.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.data.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.wait.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.growth.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.percent_used
GAUGEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.shrink.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.user.connection.count
GAUGEINT64
gce_instance
 

אימות ההגדרה

בקטע הזה מוסבר איך לוודא שהגדרתם נכון את מקלט SQL Server. יכול להיות שיעברו דקה או שתיים עד שהסוכן של Ops יתחיל לאסוף נתוני טלמטריה.

כדי לוודא שמדדי SQL Server נשלחים אל Cloud Monitoring, צריך לבצע את הפעולות הבאות:

  1. נכנסים לדף  Metrics explorer במסוף Google Cloud :

    כניסה אל Metrics Explorer

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.

  2. בסרגל הכלים של החלונית query-builder, לוחצים על הלחצן ששמו  PromQL.
    • למדדים בגרסה 1, מזינים את השאילתה הבאה בעורך ולוחצים על Run query:
      {"agent.googleapis.com/mssql/connections/user", monitored_resource="gce_instance"}
      
    • למדדים בגרסה 2, מזינים את השאילתה הבאה בעורך ולוחצים על Run:
      {"workload.googleapis.com/sqlserver.user.connection.count", monitored_resource="gce_instance"}
      

צפייה בלוח הבקרה

כדי לראות את המדדים של SQL Server, צריך להגדיר תרשים או לוח בקרה. שילוב SQL Server כולל לוח בקרה אחד או יותר. כל לוחות הבקרה מותקנים אוטומטית אחרי שמגדירים את השילוב וסוכן Ops מתחיל לאסוף נתוני מדדים.

אפשר גם לראות תצוגות מקדימות סטטיות של מרכזי בקרה בלי להתקין את האינטגרציה.

כדי לראות מרכז בקרה שהותקן:

  1. במסוף Google Cloud , עוברים לדף  Dashboards:

    מעבר אל מרכזי בקרה

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.

  2. לוחצים על הכרטיסייה רשימת לוחות הבקרה ואז בוחרים בקטגוריה שילובים.
  3. לוחצים על השם של מרכז הבקרה שרוצים להציג.

אם הגדרתם שילוב אבל לוח הבקרה לא הותקן, צריך לבדוק שהסוכן של Ops פועל. אם אין נתוני מדדים לתרשים במרכז הבקרה, ההתקנה של מרכז הבקרה נכשלת. אחרי שה-Ops Agent מתחיל לאסוף מדדים, לוח הבקרה מותקן בשבילכם.

כדי לראות תצוגה מקדימה סטטית של מרכז הבקרה:

  1. נכנסים לדף  Integrations במסוף Google Cloud :

    עוברים אל Integrations

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.

  2. לוחצים על המסנן Compute Engine של פלטפורמת הפריסה.
  3. מאתרים את הרשומה של SQL Server ולוחצים על הצגת פרטים.
  4. לוחצים על הכרטיסייה מרכזי בקרה כדי לראות תצוגה מקדימה סטטית. אם מרכז הבקרה מותקן, אפשר לעבור אליו בלחיצה על View dashboard (הצגת מרכז הבקרה).

מידע נוסף על לוחות בקרה ב-Cloud Monitoring זמין במאמר בנושא לוחות בקרה וטבלאות.

מידע נוסף על השימוש בדף Integrations (שילובים) זמין במאמר ניהול שילובים.

התקנה של כללי מדיניות התראות

מדיניות התראות מורה ל-Cloud Monitoring לשלוח לכם התראה כשמתרחשים תנאים מסוימים. השילוב של SQL Server כולל מדיניות התראות אחת או יותר שתוכלו להשתמש בהן. אפשר לראות ולהתקין את כללי המדיניות האלה להתראות בדף שילובים ב-Monitoring.

כדי לראות את התיאורים של כללי מדיניות ההתראות הזמינים ולהתקין אותם:

  1. נכנסים לדף  Integrations במסוף Google Cloud :

    עוברים אל Integrations

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.

  2. מאתרים את הרשומה של SQL Server ולוחצים על הצגת פרטים.
  3. לוחצים על הכרטיסייה התראות. בכרטיסייה הזו מופיעים תיאורים של כללי מדיניות ההתראות הזמינים, וממשק להתקנתם.
  4. התקנה של כללי מדיניות התראות. כדי שמדיניות ההתראות תדע לאן לשלוח התראות על הפעלת ההתראה, היא צריכה לקבל מכם מידע להתקנה. כדי להתקין מדיניות התראות:
    1. ברשימת מדיניות ההתראות הזמינה, בוחרים את אלה שרוצים להתקין.
    2. בקטע הגדרת התראות, בוחרים ערוץ התראות אחד או יותר. יש לכם אפשרות להשבית את השימוש בערוצי התראות, אבל אם תעשו את זה, מדיניות ההתראות שלכם תופעל בשקט. אפשר לבדוק את הסטטוס שלהם בדף 'מעקב', אבל לא תקבלו התראות.

      מידע נוסף על ערוצי התראות זמין במאמר בנושא ניהול ערוצי התראות.

    3. לוחצים על יצירת מדיניות.

למידע נוסף על מדיניות התראות ב-Cloud Monitoring, אפשר לעיין במאמר מבוא להתראות.

מידע נוסף על השימוש בדף Integrations (שילובים) זמין במאמר ניהול שילובים.

המאמרים הבאים

בסרטון Install the Ops Agent to troubleshoot third-party applications מוסבר איך להשתמש ב-Ansible כדי להתקין את סוכן התפעול, להגדיר אפליקציית צד שלישי ולהתקין לוח בקרה לדוגמה.