בדף הזה נסביר איך משתמשים ב-Service Infrastructure כדי לאפשר לשירותים מנוהלים ליצור נתוני מעקב ולשלוח אותם לפרויקטים של בעלי השירות המנוהל ושל צרכני השירות. באמצעות Cloud Monitoring אתם יכולים לראות את נתוני הביצועים, את זמן הפעולה התקינה ואת התקינות הכוללת של השירותים המנוהלים.
המדדים יתקבלו ב-Service Control API מהיומנים, יקובצו ויועברו ל-Cloud Logging. מערכת Cloud Monitoring מטמיעה את המדדים האלה ומפיקה תובנות באמצעות לוחות בקרה, תרשימים והתראות.
באמצעות Cloud Monitoring השירות המנוהל יכול ליצור נתוני מעקב שישמשו אתכם כמפתחים, ואילו ב-Service Control API אפשר ליצור נתוני מעקב שנועדו למשתמשים שלכם. כך המשתמשים יוכלו להבין ולנתח את השימוש שלהם בשירות המנוהל.
הערה: המדריך הזה מיועד למעקב אחר מדדים שמוגדרים על ידי השירותים המנוהלים. לא ניתן לדווח על מדדים מותאמים אישית באמצעות Service Control API. כדי לדווח על מדדים מותאמים אישית, תוכלו להיעזר במדריך של Monitoring.
הגדרת המעקב
לפני שאתם שולחים את נתוני המעקב ל-Service Control API, אתם צריכים לציין שלושה קטעי מידע שונים בהגדרות השירות:
משאבים במעקב: משאב במעקב מייצג ישות בענן שמייצרת נתוני מעקב. כדי להגדיר משאב במעקב בהגדרות השירות, עיינו במפרט הטכני ב-monitored_resource.proto. אנחנו מאוד ממליצים להשתמש באותו משאב במעקב גם למעקב וגם לרישום ביומן.
מדדים: אתם יכולים לדווח על מדד אחד או יותר. כל מדד מייצג מצב אחד, שהערך שלו נמצא במעקב לאורך זמן. כדי להגדיר את המדד, עיינו במפרט הטכני ב-metric.proto.
הגדרות למעקב: ההגדרות האלה מאפשרות לכם לציין את המדדים שמשויכים לכל משאב שבמעקב, ואת הפרויקט של הבעלים של השירות המנוהל או של צרכן השירות, שאליו צריך לשלוח את כל המדדים. לפרטים נוספים עיינו ב-monitoring.proto.
בדוגמה הבאה של הגדרות השירות, מגדירים את המשאב שבמעקב ואת המדד.
# The definition of the monitored resource to be used.
monitored_resources:
- type: library.appspot.com/Branch
description: A library branch.
display_name: Library Branch
launch_stage: ALPHA
labels:
- key: resource_container
description: The Google Cloud resource container (ie. project id) for
the branch.
- key: location
description: The Google Cloud region the branch is located.
- key: branch_id
description: The ID of the branch.
# The definition of the metrics to be used.
metrics:
- name: library.appspot.com/book/num_overdue
display_name: Books Overdue
description: The current number of overdue books.
launch_stage: ALPHA
metric_kind: GAUGE
value_type: INT64
unit: 1
- name: library.googleapis.com/book/returned_count
display_name: Books Returned
description: The count of books that have been returned.
launch_stage: ALPHA
metric_kind: DELTA
value_type: INT64
unit: 1
# The monitoring configuration.
monitoring:
producer_destinations:
- monitored_resource: library.appspot.com/Branch
metrics:
- library.googleapis.com/book/returned_count
consumer_destinations:
- monitored_resource: library.appspot.com/Branch
metrics:
- library.appspot.com/book/num_overdue
אחרי שאתם מאשרים את ההגדרות האלה, אתם צריכים לדחוף את הגדרות השירות ל-Service Management API. תוכלו להיעזר בהוראות לניהול הגדרות השירות ולניהול השקות של שירותים כדי לקבוע את ההגדרות של המשאבים שבמעקב ב-Cloud Monitoring.
דיווח על מדדים
אחרי דחיפת הגדרות השירות, תוכלו להפעיל את Service Control API כדי לדווח על מדדים. בדוגמה הבאה משתמשים בפקודה gcurl כדי להדגים את ההפעלה. למידע על הגדרת הממשק, קראו את המאמר תחילת השימוש ב-Service Control API.
gcurl -d "{
'operations': [ {
'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
'operationName': 'Return books',
'consumerId': 'projects/library-consumer',
'startTime': '`date +%FT%T%:z`',
'endTime': '`date +%FT%T%:z --date="5 seconds"`',
'labels': {
'location': 'us-east1',
'branch_id': 'my-test-library-branch'
},
'metricValueSets': [ {
'metricName': 'library.googleapis.com/book/returned_count',
'metricValues': [ { 'int64Value': '23' } ]
} ]
} ]
}" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report