בדף הזה מוסבר איך Google Distributed Cloud מתעד סוגים שונים של מידע על הפעולה שלו, ואיך אפשר לראות את המידע הזה. איסוף של סוגים מסוימים של יומנים ומדדים כרוך בחיובים נוספים. מידע נוסף זמין במאמר חיוב על יומנים ומדדים.
הגדרת רישום ביומן ומעקב
לפני שמתחילים לאסוף יומנים ומדדים, צריך לבצע את הפעולות הבאות:
מפעילים את ממשקי ה-API של רישום ביומן באמצעות הפקודות הבאות:
gcloud services enable opsconfigmonitoring.googleapis.com --project PROJECT_ID gcloud services enable logging.googleapis.com --project PROJECT_ID gcloud services enable monitoring.googleapis.com --project PROJECT_ID
מחליפים את
PROJECT_IDבמזהה של פרויקט היעד. Google Cloudמקצים את התפקידים שנדרשים לכתיבת יומנים ומדדים:
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/opsconfigmonitoring.resourceMetadata.writer \ --member "serviceAccount:PROJECT_ID.svc.id.goog[kube-system/metadata-agent]" gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/logging.logWriter \ --member "serviceAccount:PROJECT_ID.svc.id.goog[kube-system/stackdriver-log-forwarder]" gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/monitoring.metricWriter \ --member "serviceAccount:PROJECT_ID.svc.id.goog[kube-system/gke-metrics-agent]"מחליפים את
PROJECT_IDבמזהה של פרויקט היעד. Google Cloud
יומנים
בקטע הזה מפורטים סוגי המשאבים של Cloud Logging שנתמכים ב-Distributed Cloud. כדי לראות את היומנים של Distributed Cloud, משתמשים ב-Logs Explorer במסוף Google Cloud . הרישום ביומן של Distributed Cloud תמיד מופעל.
סוגי המשאבים שמתועדים ב-Distributed Cloud הם משאבי Kubernetes סטנדרטיים:
k8s_containerk8s_node
אפשר גם לתעד ולאחזר יומנים של Distributed Cloud באמצעות Cloud Logging API. מידע על הגדרת מנגנון הרישום ביומן הזה זמין במאמרי העזרה של ספריות הלקוח של Cloud Logging.
מדדים
בקטע הזה מפורטים המדדים של Cloud Monitoring שנתמכים ב-Distributed Cloud. כדי לראות את המדדים של Distributed Cloud, משתמשים בMetrics Explorer בGoogle Cloud מסוף.
מדדים של אשכול Distributed Cloud
במקרים של אשכולות של Distributed Cloud, Distributed Cloud מספק את סוגי המדדים הבאים שנוצרים על ידי צמתי Distributed Cloud:
- מדדי משאבים מספקים מידע על הביצועים של צומת ו-Pod ב-Distributed Cloud, כמו עומס המעבד והשימוש בזיכרון.
- מדדים של אפליקציות במערכת מספקים מידע על עומסי עבודה במערכת Distributed Cloud, כמו
coredns.
רשימה של המדדים האלה מופיעה במאמר מדדים של Google Distributed Cloud ו-Google Distributed Cloud.
Distributed Cloud לא מספק מדדים שנוצרו על ידי מישורי הבקרה של Kubernetes שמשויכים לאשכולות של Distributed Cloud.
מדדי חומרה של Distributed Cloud
Distributed Cloud מספק מדדים לחומרה של Distributed Cloud באמצעות סוגי המשאבים הבאים:
edgecontainer.googleapis.com/Machineedgecontainer.googleapis.com/Rack
Machine מדדי משאבים
Distributed Cloud כותב את מדדי Cloud Monitoring API הבאים עבור המשאב edgecontainer.googleapis.com/Machine:
| מדד | תיאור |
|---|---|
/machine/cpu/total_cores
|
המספר הכולל של ליבות מעבד פיזיות שקיימות במכונה. |
/machine/cpu/usage_time
|
זמן השימוש המצטבר במעבד לכל הליבות במכונה. הסוג יכול להיות
workload (עומסי עבודה של לקוחות)
או system (כל השאר). |
/machine/cpu/utilization
|
אחוז ניצול המעבד במחשב. הטווח הוא 0 עד 1. הסוג יכול להיות
workload (עומסי עבודה של לקוחות)
או system (כל השאר). |
/machine/memory/total_bytes
|
מספר הבייטים של הזיכרון הכולל במכונה. |
/machine/memory/used_bytes
|
מספר הבייטים של הזיכרון שנעשה בו שימוש במכונה. memory_type הוא evictable (ניתן להחזרה על ידי הליבה) או non-evictable (לא ניתן להחזרה). |
/machine/memory/utilization
|
אחוז ניצול הזיכרון במכונה. הטווח הוא 0 עד 1.
memory_type הוא evictable (ניתן להחזרה לשימוש על ידי הליבה) או non-evictable (לא ניתן להחזרה לשימוש). |
/machine/network/up
|
מציין אם ממשק הרשת פועל. כולל כרטיסים ראשיים, כרטיסים משניים ויציאות. |
/machine/network/link_speed
|
מהירות הקישור של כרטיס הרשת הראשי. |
/machine/network/received_bytes_count
|
מספר הבייטים שהתקבלו בכרטיס הרשת הראשי. |
/machine/network/sent_bytes_count
|
מספר הבייטים שנשלחו לכרטיס הרשת הראשי. |
/machine/network/connectivity
|
מציין אם לכרטיס הרשת הראשי יש קישוריות לאינטרנט. |
/machine/disk/total_bytes
|
מספר הבייטים של נפח האחסון הכולל במחשב. |
/machine/disk/used_bytes
|
מספר הבייטים של נפח האחסון בשימוש במחשב. |
/machine/disk/utilization
|
אחוז ניצול שטח האחסון במחשב. הטווח הוא 0 עד 1. |
/machine/restart_count
|
מספר ההפעלות מחדש שהמחשב עבר. |
/machine/uptime
|
זמן הפעולה של המחשב מאז ההפעלה מחדש האחרונה. |
/machine/connected
|
מציין אם המחשב מחובר ל- Google Cloud. |
Rack מדדי משאבים
Distributed Cloud כותב את מדדי Cloud Monitoring API הבאים עבור המשאב edgecontainer.googleapis.com/Rack:
| מדד | תיאור |
|---|---|
/router/bgp_up
|
מציין אם סשן ה-BGP peering בנתב פעיל ותקין.
router_id הוא המזהה של הנתב הספציפי (עד 2 לכל מתלה). |
/router/connected
|
ההגדרה מציינת אם נתב ה-BGP מחובר אל Google Cloud.
router_id הוא המזהה של הנתב הספציפי (עד 2 לכל מתלה). |
ייצוא של יומנים ומדדים של אפליקציות בהתאמה אישית
Distributed Cloud מייצא באופן אוטומטי יומנים של אפליקציות שפועלות בעומסי עבודה (workloads) של Distributed Cloud. כדי לייצא מדדים של אפליקציה שפועלת על עומסי עבודה ב-Distributed Cloud, צריך להוסיף לה הערות כמו שמתואר בקטע הבא.
הוספת הערות לעומס העבודה כדי לאפשר ייצוא של מדדים
כדי להפעיל את איסוף המדדים המותאמים אישית מאפליקציה, מוסיפים את ההערות הבאות למניפסט של השירות או הפריסה של האפליקציה:
prometheus.io/scrape: "true"-
prometheus.io/path: "ENDPOINT_PATH". מחליפים אתENDPOINT_PATHבנתיב המלא לנקודת הקצה של המדדים באפליקציית היעד. -
prometheus.io/port: "PORT_NUMBER": היציאה שבה נקודת הקצה של מדדי האפליקציה מאזינה לחיבורים.
הפעלת אפליקציה לדוגמה
בקטע הזה יוצרים אפליקציה שכותבת יומנים מותאמים אישית וחושפת נקודת קצה של מדד מותאם אישית.
שומרים את המניפסטים הבאים של השירות והפריסה בקובץ בשם
my-app.yaml. שימו לב שהשירות כולל את ההערהprometheus.io/scrape: "true":kind: Service apiVersion: v1 metadata: name: "monitoring-example" namespace: "default" annotations: prometheus.io/scrape: "true" spec: selector: app: "monitoring-example" ports: - name: http port: 9090 --- apiVersion: apps/v1 kind: Deployment metadata: name: "monitoring-example" namespace: "default" labels: app: "monitoring-example" spec: replicas: 1 selector: matchLabels: app: "monitoring-example" template: metadata: labels: app: "monitoring-example" spec: containers: - image: gcr.io/google-samples/prometheus-dummy-exporter:latest name: prometheus-example-exporter imagePullPolicy: Always command: - /bin/sh - -c - ./prometheus-dummy-exporter --metric-name=example_monitoring_up --metric-value=1 --port=9090 resources: requests: cpu: 100mיוצרים את הפריסה ואת השירות:
kubectl --kubeconfig apply -f my-app.yaml
צפייה ביומני האפליקציה
המסוף
נכנסים לדף Logs Explorer במסוף Google Cloud .
לוחצים על Resource.
ברשימה All resource types, בוחרים באפשרות
Kubernetes Container.בשדה שם האשכול, בוחרים את השם של אשכול המשתמשים.
בשדה שם מרחב השמות, בוחרים באפשרות
default.לוחצים על Add (הוספה) ואז על Run query (הפעלת שאילתה).
בקטע Query results אפשר לראות רשומות ביומן מפריסת
monitoring-example. לדוגמה:{ "textPayload": "2020/11/14 01:24:24 Starting to listen on :9090\n", "insertId": "1oa4vhg3qfxidt", "resource": { "type": "k8s_container", "labels": { "pod_name": "monitoring-example-7685d96496-xqfsf", "cluster_name": ..., "namespace_name": "default", "project_id": ..., "location": "us-west1", "container_name": "prometheus-example-exporter" } }, "timestamp": "2020-11-14T01:24:24.358600252Z", "labels": { "k8s-pod/pod-template-hash": "7685d96496", "k8s-pod/app": "monitoring-example" }, "logName": "projects/.../logs/stdout", "receiveTimestamp": "2020-11-14T01:24:39.562864735Z" }
gcloud
משתמשים בפקודה
gcloud logging read:gcloud logging read 'resource.labels.project_id="PROJECT_ID" AND \ resource.type="k8s_container" AND resource.labels.namespace_name="default"'מחליפים את
PROJECT_IDבמזהה הפרויקט.בפלט, אפשר לראות רשומות ביומן מ-
monitoring-exampleDeployment. לדוגמה:insertId: 1oa4vhg3qfxidt labels: k8s-pod/app: monitoring-example k8s- pod/pod-template-hash: 7685d96496 logName: projects/.../logs/stdout receiveTimestamp: '2020-11-14T01:24:39.562864735Z' resource: labels: cluster_name: ... container_name: prometheus-example-exporter location: us-west1 namespace_name: default pod_name: monitoring-example-7685d96496-xqfsf project_id: ... type: k8s_container textPayload: | 2020/11/14 01:24:24 Starting to listen on :9090 timestamp: '2020-11-14T01:24:24.358600252Z'
הצגת מדדי האפליקציה
האפליקציה לדוגמה חושפת מדד מותאם אישית בשם example_monitoring_up.
אפשר לראות את הערכים של המדד הזה במסוף Google Cloud .
נכנסים לדף Metrics explorer במסוף Google Cloud .
בשדה Resource type, בוחרים באפשרות
Kubernetes Pod.בשדה מדד, בוחרים באפשרות
external/prometheus/example_monitoring_up.בתרשים אפשר לראות של-
example_monitoring_upיש ערך חוזר של 1.