במאמר הזה נסביר איך להתקין את Agent for Compute Workloads במופעים של Compute Engine, ואיך להגדיר את הסוכן להתחבר לעומס עבודה של Redis שפועל במופעים האלה של Compute.
אחרי שמתקינים ומגדירים את הסוכן, הוא אוסף מדדים מעומס העבודה של Redis וממופעי החישוב הבסיסיים ושולח אותם אל כלי לניהול עומס העבודה. לאחר מכן תוכלו להשתמש בהערכה של כלי לניהול עומס העבודה כדי לסרוק את עומסי העבודה של Redis ולחפש חריגות מהשיטות המומלצות לתצורות של תשתית, מערכת הפעלה ועומס עבודה.
לפני שמתחילים
לפני שמתקינים ומגדירים את Agent for Compute Workloads, צריך לוודא שמתקיימות הדרישות המוקדמות הבאות:
- פרסתם עומס עבודה של Redis במכונה וירטואלית אחת או יותר.
- בדקתם את האזורים הנתמכים שבהם אפשר ליצור הערכות של כלי לניהול עומס העבודה.
- האדמין הקצה לכם תפקידי IAM שנדרשים ליצירה ולהרצה של הערכות בכלי לניהול עומס העבודה.
- הקציתם את התפקידים הנדרשים ב-IAM לסוכן.
- הפעלתם גישה לממשקי Cloud API.
התפקידים שצריך ב-IAM עבור הסוכן
ה-Agent for Compute Workloads משתמש בחשבון השירות שמצורף למופע המחשוב לצורך אימות ולגישה למשאבי Google Cloud .
כדי לשפר את האבטחה, מומלץ להשתמש בחשבון שירות למטרה אחת במקום להשתמש בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine.
כדי לוודא שלחשבון השירות יש את ההרשאות הנדרשות כדי לאפשר לסוכן של Compute Workloads לבצע אימות מול משאבים שלGoogle Cloud ולגשת אליהם Google Cloud , צריך לבקש מהאדמין להקצות לחשבון השירות את תפקידי ה-IAM הבאים בפרויקט:
-
איסוף מדדים ממכונת החישוב:
Compute Viewer (
roles/compute.viewer) -
כתיבת נתונים למחסן הנתונים של Workload Manager:
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter) -
שליחת יומני סוכנים אל Cloud Logging:
Logs Writer (
roles/logging.logWriter) -
אם אתם משתמשים ב-Secret Manager כדי לאחסן את הסיסמה להתחברות למופע Redis:
Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שהאדמין גם יוכל לתת לחשבון השירות את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפעלת גישה לממשקי Cloud API
Compute Engine ממליץ להגדיר את המכונות כך שיאפשרו את כל היקפי הגישה לכל ממשקי Cloud API, ולהשתמש רק בהרשאות IAM של חשבון השירות של המכונה כדי לשלוט בגישה למשאביGoogle Cloud . מידע נוסף זמין במאמר יצירת מכונה וירטואלית שמשתמשת בחשבון שירות שמנוהל על ידי משתמש.
אם מגבילים את הגישה ל-Cloud APIs, ל-Agent for Compute Workloads נדרשות לפחות הרשאות הגישה הבאות ל-Cloud APIs במכונת המארח של Compute:
https://www.googleapis.com/auth/cloud-platform
מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש בהיקפים.
אם אתם מריצים עומס עבודה של Redis על מופע Compute שאין לו כתובת IP חיצונית, אתם צריכים להפעיל גישה פרטית ל-Google ברשת המשנה של המופע, כדי שה-Agent for Compute Workloads יוכל לגשת ל-Google APIs ולשירותים של Google. מידע על הפעלת גישה פרטית ל-Google זמין במאמר הגדרת גישה פרטית ל-Google.
התקנה והגדרה של הסוכן באמצעות מנהל החבילות
בקטע הזה מוסבר איך להתקין את Agent for Compute Workloads במכונת ה-Compute ולהגדיר אותו להתחבר למכונת Redis באמצעות מנהל חבילות.
כדי להתקין את Agent for Compute Workloads, מבצעים את השלבים הבאים:
RHEL
ב-Red Hat Enterprise Linux (RHEL), מתקינים את Agent for Compute Workloads באמצעות פקודת ניהול החבילות yum. הפקודה הזו מבצעת את הפעולות הבאות:
- הורדה של הגרסה העדכנית ביותר של הסוכן.
- יוצרת שירות
systemdלסוכן, בשםgoogle-cloud-workload-agent. - הפעלת השירות
google-cloud-workload-agentוהתחלת השימוש בו.
כדי להתקין ולהגדיר את Agent for Compute Workloads במופע Compute שמבוסס על RHEL, פועלים לפי השלבים הבאים:
יוצרים חיבור SSH למכונת Compute.
בטרמינל, מתקינים את הסוכן:
sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM [google-cloud-workload-agent] name=Google Cloud Agent for Compute Workloads baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-workload-agentפותחים את קובץ ההגדרות של הסוכן:
/etc/google-cloud-workload-agent/configuration.jsonמציינים ערכים לכל פרמטרי החובה, כפי שמתואר במאמר בנושא פרמטרים של הגדרות.
שמירת קובץ ההגדרות
כדי שהשינויים ייכנסו לתוקף, צריך להפעיל מחדש את הסוכן.
SLES
ב-SUSE Linux Enterprise Server (SLES), מתקינים את Agent for Compute Workloads באמצעות פקודת ניהול החבילות zypper. הפקודה הזו מבצעת את הפעולות הבאות:
- הורדה של הגרסה העדכנית ביותר של הסוכן.
- יוצרת שירות
systemdלסוכן, בשםgoogle-cloud-workload-agent. - הפעלת השירות
google-cloud-workload-agentוהתחלת השימוש בו.
כדי להתקין ולהגדיר את Agent for Compute Workloads במופע של מחשוב מבוסס SLES, מבצעים את השלבים הבאים:
יוצרים חיבור SSH למכונת Compute.
בטרמינל, מתקינים את הסוכן:
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch google-cloud-workload-agent sudo zypper install google-cloud-workload-agentפותחים את קובץ ההגדרות של הסוכן:
/etc/google-cloud-workload-agent/configuration.jsonמציינים ערכים לכל פרמטרי החובה, כפי שמתואר במאמר בנושא פרמטרים של הגדרות.
שמירת קובץ ההגדרות
כדי שהשינויים ייכנסו לתוקף, צריך להפעיל מחדש את הסוכן.
Debian
ב-Debian, מתקינים את Agent for Compute Workloads באמצעות הפקודה apt לניהול חבילות. הפקודה הזו מבצעת את המשימות הבאות:
- מוריד את הגרסה האחרונה של הסוכן.
- יוצרת שירות
systemdלסוכן, בשםgoogle-cloud-workload-agent. - הפעלת השירות
google-cloud-workload-agentוהתחלת השימוש בו.
כדי להתקין ולהגדיר את Agent for Compute Workloads במופע Compute מבוסס Debian, מבצעים את השלבים הבאים:
יוצרים חיבור SSH למכונת Compute.
בטרמינל, מתקינים את הסוכן:
echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list sudo apt-get update sudo apt-get install google-cloud-workload-agentפותחים את קובץ ההגדרות של הסוכן:
/etc/google-cloud-workload-agent/configuration.jsonמציינים ערכים לכל פרמטרי החובה, כפי שמתואר במאמר בנושא פרמטרים של הגדרות.
שמירת קובץ ההגדרות
כדי שהשינויים ייכנסו לתוקף, צריך להפעיל מחדש את הסוכן.
Windows
ב-Windows, מתקינים את Agent for Compute Workloads באמצעות פקודת ניהול החבילות googet. הפקודה הזו מבצעת את המשימות הבאות:
- מוריד את הגרסה האחרונה של הסוכן.
- יוצר שירות Windows בשם
google-cloud-workload-agent. - יוצר משימה מתוזמנת שפועלת כל דקה כדי לבדוק אם השירות פועל, ואם צריך, מפעיל מחדש את השירות.
כדי להתקין ולהגדיר את Agent for Compute Workloads במכונת חישוב מבוססת Windows, מבצעים את השלבים הבאים:
יוצרים חיבור למכונה לחישוב באמצעות RDP.
מידע נוסף זמין במאמר איך מתחברים למכונות וירטואליות של Windows באמצעות RDP.
אדמינים צריכים להריץ את הפקודות הבאות מ-PowerShell:
googet addrepo google-cloud-workload-agent https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64 googet install google-cloud-workload-agentפותחים את קובץ ההגדרות של הסוכן:
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.jsonמציינים ערכים לכל פרמטרי החובה, כפי שמתואר במאמר בנושא פרמטרים של הגדרות.
שמירת קובץ ההגדרות
כדי שהשינויים ייכנסו לתוקף, צריך להפעיל מחדש את הסוכן.
התקנה וניהול של הסוכן בצי של מכונות וירטואליות באמצעות VM Extension Manager
הגדרת VM Extension Manager
כדי להגדיר את VM Extension Manager, מבצעים את השלבים הבאים:
- במסמכי התיעוד של VM Extension Manager, קוראים את הקטע לפני שמתחילים.
מגדירים את תפקידי ה-IAM שדרושים ליצירה ולניהול של מדיניות VM Extension Manager. למידע נוסף, תוכלו לקרוא את המאמרים הבאים:
התקנת הסוכן בצי של מכונות וירטואליות
כדי להתקין את הגרסה העדכנית של Agent for Compute Workloads בצי מכונות ה-VM באזור ספציפי באמצעות מדיניות של VM Extension Manager, צריך לבצע את השלבים הבאים:
המסוף
נכנסים לדף VM extension policies במסוף Google Cloud .
לוחצים על יצירת מדיניות לגבי תוספים.
בשדה Name, מזינים שם למדיניות.
אופציונלי: בשדה תיאור, מזינים תיאור למדיניות.
בשדה עדיפות, מציינים מספר עדיפות כדי לפתור סתירות בין כללי מדיניות. מספרים נמוכים יותר מציינים עדיפות גבוהה יותר. ערך ברירת המחדל הוא
1000.ברשימות Region ו-Zone, בוחרים את התחום שבו רוצים להחיל את המדיניות הזו.
בקטע תוספים, לוחצים על הוספת תוסף ומבצעים את הפעולות הבאות:
- ברשימה Extension (תוסף), בוחרים באפשרות Google Cloud's Extension for Compute Workloads (התוסף של Google Cloud לעומסי עבודה של מחשוב).
משאירים את השדה Version (גרסה) ריק.
ההגדרה הזו מכוונת את המדיניות להתקין את הגרסה האחרונה של Agent for Compute Workloads.
בשדה Configuration file content (תוכן קובץ התצורה), מזינים את ההגדרות שרוצים להחיל על הסוכן.
מידע על פרמטרי ההגדרה שנתמכים על ידי הסוכן עבור עומס העבודה של Redis זמין במאמר בנושא פרמטרי הגדרה.
לוחצים על סיום.
אופציונלי: כדי להגביל את הפריסה של המדיניות למכונות הווירטואליות הנדרשות, מבצעים את הפעולות הבאות:
- לוחצים על הוספת תוויות וכוללים את התוויות שמזהות את מכונות ה-VM הנדרשות.
- לוחצים על סיום.
לוחצים על יצירה.
gcloud
gcloud compute zone-vm-extension-policies create POLICY_NAME \ --zone=ZONE \ --extensions=google-cloud-workload-extension \ --config-from-file=google-cloud-workload-extension=CONFIG_FILE_PATH \ [--description="DESCRIPTION" \] [--inclusion-labels=KEY_1=VALUE_1 \] [--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \] [--priority=PRIORITY]
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: שם למדיניות של תוסף ה-VM.הפקודה תיכשל אם כבר קיימת מדיניות באזור עם השם שצוין.
ZONE: האזור שבו רוצים להחיל את המדיניות הזו.
CONFIG_FILE_PATH: הנתיב המקומי לקובץ ה-JSON שמכיל את ההגדרות של Agent for Compute Workloads (הסוכן לעומסי עבודה של מחשוב) כדי להתחבר לעומס העבודה של Redis.- לחלופין, כדי לספק את התצורה כמחרוזת מוטבעת, משתמשים בדגל
--configבמקום בדגל--config-from-file. לדוגמה:--config=google-cloud-workload-extension="CONFIG". לפי ההמלצה שלGoogle Cloud , כדאי להשתמש ב---config-from-file. - אפשר להשתמש ב-
--config-from-fileאו ב---config, אבל לא בשניהם באותה פקודה. - מידע על פרמטרי ההגדרה שנתמכים על ידי הסוכן עבור עומס העבודה של Redis זמין במאמר בנושא פרמטרי הגדרה.
- לחלופין, כדי לספק את התצורה כמחרוזת מוטבעת, משתמשים בדגל
DESCRIPTION: תיאור אופציונלי של המדיניות.
KEY_1=VALUE_1: רשימה מופרדת בפסיקים של צמדי מפתח/ערך שמגדירים את התוויות שבהן המדיניות ממקדת מכונות וירטואליות.- כדי שמדיניות תכוון למכונה וירטואלית, המכונה הווירטואלית צריכה לכלול את כל התוויות שצוינו.
- אם מציינים את
--inclusion-labelsכמה פעמים, המדיניות מטרגטת מכונות וירטואליות שתואמות לכל אחד מהסלקטורים שצוינו (לוגיקתOR). אם משמיטים את הדגל הזה, המדיניות מטרגטת את כל המכונות הווירטואליות באזור שצוין.
PRIORITY: מספר שלם מ-0עד65535שמגדיר את העדיפות של המדיניות. מספרים נמוכים יותר מציינים עדיפות גבוהה יותר. ערך ברירת המחדל הוא1000.
לדוגמה:
הפקודה הבאה יוצרת מדיניות בשם test-agent-policy בפרויקטGoogle Cloud בשם test-project, שמתקינה את הגרסה האחרונה של Agent for Compute Workloads בכל המכונות הווירטואליות שנפרסו באזור us-centrail-f.
ההגדרה שצוינה ב-agent-config.json מוחלת על הסוכן.
gcloud compute zone-vm-extension-policies create test-agent-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=google-cloud-workload-extension \ --config-file-path=google-cloud-workload-extension="/usr/agent-config.json"
אימות ההתקנה של הנציג
כדי לוודא שהסוכן פועל כמצופה, מבצעים את השלבים הבאים:
RHEL
יוצרים חיבור SSH למכונת Compute.
בודקים את הסטטוס של חבילת הסוכן:
systemctl status google-cloud-workload-agentאם חבילת הסוכן פועלת כמצופה, הפלט יכיל את הערך
active (running). לדוגמה:google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
SLES
יוצרים חיבור SSH למכונת Compute.
בודקים את הסטטוס של חבילת הסוכן:
systemctl status google-cloud-workload-agentאם חבילת הסוכן פועלת כמצופה, הפלט יכיל את הערך
active (running). לדוגמה:google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Debian
יוצרים חיבור SSH למכונת Compute.
בודקים את הסטטוס של חבילת הסוכן:
systemctl status google-cloud-workload-agentאם חבילת הסוכן פועלת כמצופה, הפלט יכיל את הערך
active (running). לדוגמה:google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Windows
יוצרים חיבור למכונה לחישוב באמצעות RDP.
מידע נוסף זמין במאמר איך מתחברים למכונות וירטואליות של Windows באמצעות RDP.
אדמינים צריכים להריץ את הפקודה הבאה מ-PowerShell:
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Statusאם הסוכן פועל כמצופה, הסטטוס שיוצג הוא
Running.
קובץ תצורה לדוגמה
ההגדרה הבאה מאפשרת ל-Agent for Compute Workloads להתחבר למופע Redis. לצורך אימות, נעשה שימוש בסוד של Secret Manager, שמאוחסן באותו פרויקט של Google Cloud שבו פועל מופע Redis.
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"redis_configuration": {
"enabled": true,
"connection_parameters": {
"username": "db_user_name",
"secret": {
"secret_name": "db_pwd_secret_name",
"project_id": ""
},
"host": "localhost",
"port": 1433
}
}
}
פרמטרים להגדרה
בטבלה הבאה מפורטים פרמטרי ההגדרה של Agent for Compute Workloads שתומך בהערכות של עומסי עבודה של Redis:
| פרמטרים | |
|---|---|
log_level |
כדי להגדיר את רמת הרישום ביומן של הסוכן, מגדירים את הערך הנדרש. אלה רמות היומן הזמינות:
רמת ברירת המחדל של היומן היא |
log_to_cloud |
כדי להפנות את היומנים של הסוכן אל Cloud Logging, מציינים את |
agent_properties.log_usage_metrics |
כדי להפעיל את הרישום ביומן של מדדי תקינות הסוכן, מגדירים את הערך ל-
|
common_discovery.collection_frequency |
מציינים את התדירות בשניות שבה מופעל שירות גילוי עומסי העבודה של הסוכן. ערך ברירת המחדל הוא מוודאים שהערך של הפרמטר הזה מסתיים באות |
redis_configuration.enabled
|
כדי לאפשר לסוכן לאסוף מדדים ממופע Redis, מגדירים את הערך ל- |
redis_configuration.connection_parameters.username |
מציינים את חשבון המשתמש שבו הסוכן משתמש כדי לשלוח שאילתות למופע Redis. |
redis_configuration.connection_parameters.password |
מציינים את הסיסמה בטקסט פשוט לחשבון המשתמש שבו הסוכן משתמש כדי לשלוח שאילתה למופע Redis. במקום לציין סיסמה בטקסט פשוט, מומלץ להשתמש בפרמטרים לצורך אימות, הסוכן משתמש בסדר העדיפות הבא: אם מצוין, קבוצת הפרמטרים |
redis_configuration.connection_parameters.secret.secret_name |
זה שינוי אופציונלי. כדי לספק בצורה מאובטחת את הסיסמה לחשבון המשתמש שהסוכן משתמש בו כדי לשלוח שאילתות למופע Redis, מציינים את השם של הסוד ב-Secret Manager שמכיל את הסיסמה. לצורך אימות, הסוכן משתמש בסדר העדיפות הבא: אם מצוין, קבוצת הפרמטרים |
redis_configuration.connection_parameters.secret.project_id |
זה שינוי אופציונלי. כדי להשתמש בפרמטר אם הסוד וכוח העבודה נמצאים באותו Google Cloud פרויקט,
צריך להגדיר את הערך של הפרמטר הזה כמחרוזת ריקה ( |
redis_configuration.connection_parameters.host |
מציינים את שם המארח של Redis. |
redis_configuration.connection_parameters.port |
מציינים את היציאה שבה מופע Redis מקבל שאילתות. |