במאמר הזה מתוארת ההגדרה והשימוש במקלט מדדים של סוכן תפעול, שבו אפשר להשתמש כדי לאסוף מדדים מ-Prometheus ב-Compute Engine. במסמך הזה מובאת גם דוגמה שאפשר להשתמש בה כדי לנסות את המקלט.
משתמשים ב-Google Kubernetes Engine יכולים לאסוף מדדים של Prometheus באמצעות השירות המנוהל של Google Cloud ל-Prometheus. מקלט Prometheus של סוכן התפעול מעניק למשתמשי Compute Engine את אותה היכולת.
אתם יכולים להשתמש בכל הכלים ש-Cloud Monitoring מספק, כולל PromQL, כדי להציג ולנתח את הנתונים שנאספים על ידי מקלט Prometheus. לדוגמה, אפשר להשתמש ב-Metrics Explorer, כפי שמתואר במאמר מסוףGoogle Cloud ל-Monitoring, כדי להריץ שאילתות על הנתונים. אפשר גם ליצור לוחות בקרה ומדיניות התראות ב-Cloud Monitoring כדי לעקוב אחרי מדדי Prometheus. מומלץ להשתמש ב-PromQL כשפת השאילתות למדדי Prometheus.
אפשר גם לראות את מדדי Prometheus בממשקים מחוץ ל-Cloud Monitoring, כמו ממשק המשתמש של Prometheus ו-Grafana.
בחירת המקלט המתאים
לפני שמחליטים להשתמש ב-Prometheus receiver, צריך לבדוק אם כבר קיימת אינטגרציה של סוכן תפעול לאפליקציה שבה משתמשים. מידע על השילובים הקיימים עם סוכן תפעול זמין במאמר מעקב אחרי אפליקציות של צד שלישי. אם יש שילוב קיים, מומלץ להשתמש בו. מידע נוסף זמין במאמר בנושא בחירת אינטגרציה קיימת.
מומלץ להשתמש ב-Ops Agent Prometheus receiver אם התנאים הבאים מתקיימים:
יש לכם ניסיון בשימוש ב-Prometheus, אתם מסתמכים על התקן של Prometheus ואתם מבינים איך גורמים כמו מרווח גירוד וקרדינליות יכולים להשפיע על העלויות. מידע נוסף זמין במאמר בנושא בחירת מקלט Prometheus.
התוכנה שאתם מנטרים לא נכללת כבר בסט של שילובי סוכן תפעול קיימים.
שילובים קיימים
סוכן תפעול מספק שילובים למספר אפליקציות של צד שלישי. השילובים האלה מספקים לכם את היתרונות הבאים:
- קבוצה של
workload.googleapis.comמדדים שנבחרו לאפליקציה - לוח בקרה להצגת המדדים באופן חזותי.
המדדים שמועברים באמצעות שילוב קיים כפופים לתמחור מבוסס-בייט עבור מדדים שנאספים על ידי סוכן. למידע על התמחור הזה, אפשר לעיין במאמר תמחור של Google Cloud Observability. מספר המדדים והסוגים שלהם ידוע מראש, ואפשר להשתמש במידע הזה כדי להעריך את העלויות.
לדוגמה, אם אתם משתמשים בשילוב של Apache Web Server (httpd), סוכן תפעול אוסף חמישה מדדים סקלריים, וכל נקודה על הגרף נחשבת כ-8 בייט. אם משאירים את תדירות הדגימה שמוגדרת כברירת מחדל ב-Ops Agent, שהיא 60 שניות, מספר הבייטים שנקלטים ביום הוא 57,600 כפול מספר המארחים:
- 8 (בייטים) * 1,440 (דקות ביום) * 5 (מדדים) * n (מארחים), או
- 57,600 * n (מארחים)
למידע נוסף על חישוב העלויות המשוערות, אפשר לעיין בדוגמאות לתמחור על סמך נפח הנתונים שהועברו.
מקלט Prometheus
כשמשתמשים בסוכן תפעול כדי לאסוף מדדי Prometheus, התנאים הבאים חלים:
מספר המדדים והעוצמה (cardinality) שלהם שמופקים מהאפליקציה שלכם הם בשליטתכם. אין קבוצה של מדדים שנאספו במיוחד. כמות הנתונים שאתם מעבירים נקבעת לפי ההגדרה של אפליקציית Prometheus ומקלט Prometheus של סוכן תפעול.
המדדים מוזנים ל-Cloud Monitoring בתור
prometheus.googleapis.comמדדים. כשמייבאים את המדדים האלה ל-Cloud Monitoring, הם מסווגים כסוג של מדדים מותאמים אישית, והם כפופים למכסות ולמגבלות של מדדים מותאמים אישית.אתם צריכים לעצב וליצור את כל לוחות הבקרה של Cloud Monitoring שאתם צריכים, על סמך קבוצת המדדים שאתם מטמיעים ועל סמך הצרכים העסקיים שלכם. מידע על יצירת מרכזי בקרה זמין במאמר מרכזי בקרה ותרשימים.
התמחור של הטמעת מדדים מבוסס על מספר הדגימות שהוטמעו. כדי להעריך את העלויות שלכם כשמשתמשים ב-Prometheus receiver, צריך לקבוע את מספר הדגימות שסביר שתאספו במהלך מחזור חיוב. האומדן מבוסס על הגורמים הבאים:
- מספר המדדים הסקלריים; כל ערך הוא דוגמה אחת
- מספר מדדי ההתפלגות; כל היסטוגרמה נספרת כ-(2 + מספר הדליים בהיסטוגרמה) דגימות
- תדירות הדגימה של כל מדד
- מספר המארחים שמהם נדגמים המדדים
למידע נוסף על תמחור, אפשר לעיין במאמר תמחור של Google Cloud Observability. דוגמאות מופיעות במאמר דוגמאות לתמחור על סמך דגימות שהועלו.
דרישות מוקדמות
כדי לאסוף מדדים של Prometheus באמצעות מקלט Prometheus, צריך להתקין את סוכן תפעול בגרסה 2.25.0 ואילך.
ה-receiver של סוכן תפעול דורש נקודת קצה שפולטת מדדי Prometheus. לכן, האפליקציה שלכם צריכה לספק נקודת קצה כזו ישירות או להשתמש בספרייה או בכלי לייצוא של Prometheus כדי לחשוף נקודת קצה. הרבה ספריות ומסגרות שפות כמו Spring ו-DropWizard, או אפליקציות כמו StatsD, DogStatsD ו-Graphite, שפולטות מדדים שאינם מדדי Prometheus, יכולות להשתמש בספריות לקוח או בייצואנים של Prometheus כדי לפלוט מדדים בסגנון Prometheus. לדוגמה, כדי לשלוח מדדים של Prometheus:
- משתמשי Spring יכולים להשתמש בספרייה Spring Metrics.
- משתמשי StatsD יכולים להשתמש בחבילה
statsd_exporter. - משתמשי Graphite יכולים להשתמש בחבילה
graphite_exporter.
כשמדדי Prometheus מופקים על ידי אפליקציה, ישירות או באמצעות ספרייה או כלי לייצוא, אפשר לאסוף את המדדים באמצעות סוכן תפעול שהוגדר עם מקלט Prometheus.
הגדרת סוכן התפעול
מודל ההגדרות של סוכן תפעול כולל בדרך כלל את ההגדרות הבאות:
- מקבלים, שקובעים אילו מדדים נאספים.
- מעבדים, שמתארים איך סוכן התפעול יכול לשנות את המדדים.
- צינורות, שמקשרים בין מקלטים ומעבדים לשירות.
ההגדרה להטמעת מדדים של Prometheus שונה מעט: אין מעבדים.
הגדרות למדדים של Prometheus
ההגדרה של סוכן תפעול להוספת מדדים של Prometheus שונה מההגדרה הרגילה באופן הבא:
לא יוצרים מעבד Ops Agent למדדי Prometheus. רכיב Prometheus receiver תומך כמעט בכל אפשרויות ההגדרה שצוינו במפרט
scrape_configשל Prometheus, כולל אפשרויות של relabeling.במקום להשתמש במעבד סוכן תפעול, כל עיבוד המדדים מתבצע באמצעות הקטעים
relabel_configsו-metric_relabel_configsבקובץ ההגדרות של Scape, כפי שמצוין ב-Prometheus receiver. מידע נוסף זמין במאמר שינוי התוויות: שינוי הנתונים שמתבצעת לגביהם פעולת גירוד.אתם מגדירים את צינור עיבוד הנתונים של Prometheus רק במונחים של מקלט Prometheus. לא מציינים מעבדים. בנוסף, אי אפשר להשתמש בצינור ב-Prometheus במקבלי נתונים שאינם Prometheus עבור מדדי Prometheus.
רוב ההגדרות של המקלט הן האפשרויות של scrape-config. כדי שההסבר יהיה תמציתי, לא נכללות כאן האפשרויות האלה. בהמשך מוצגת המבנה של הגדרת Ops Agent שמשתמשת ב-Prometheus receiver. אתם מציינים את הערכים של RECEIVER_ID ושל PIPELINE_ID.
metrics:
receivers:
RECEIVER_ID:
type: prometheus
config:
scrape_configs:
[... omitted for brevity ...]
service:
pipelines:
PIPELINE_ID:
receivers: [RECEIVER_ID]
בקטע הבא מוסבר על Prometheus receiver. דוגמה פונקציונלית של מקלט וצינור זמינה במאמר הוספת המקלט וצינור הנתונים של סוכן תפעול.
מקלט Prometheus
כדי לציין נמען למדדים של Prometheus, יוצרים מקלט מדדים מסוג prometheus ומציינים קבוצה של אפשרויות scrape_config.
הנמען תומך בכל האפשרויות של Prometheus
scrape_config, מלבד האפשרויות הבאות:
- הקטעים של גילוי השירות,
*_sd_config. - ההגדרה
honor_labels.
לכן, אפשר להעתיק הגדרות גירוד קיימות ולהשתמש בהן ב-סוכן תפעול עם שינויים קלים או ללא שינויים בכלל.
המבנה המלא של Prometheus receiver מוצג בהמשך:
metrics:
receivers:
prom_application:
type: prometheus
config:
scrape_configs:
- job_name: 'STRING' # must be unique across all Prometheus receivers
scrape_interval: # duration, like 10m or 15s
scrape_timeout: # duration, like 10m or 15s
metrics_path: # resource path for metrics, default = /metrics
honor_timestamps: # boolean, default = false
scheme: # http or https, default = http
params:
- STRING: STRING
basic_auth:
username: STRING
password: SECRET
password_file: STRING
authorization:
type: STRING # default = Bearer
credentials: SECRET
credentials_file: FILENAME
oauth2: OAUTH2 # See Prometheus oauth2
follow_redirects: # boolean, default = true
enable_http2: # boolean, default = true
tls_config: TLS_CONFIG # See Prometheus tls_config
proxy_url: STRING
static_configs:
STATIC_CONFIG # See Prometheus static_config
relabel_configs:
RELABEL_CONFIG # See Prometheus relabel_config
metric_relabel_configs:
METRIC_RELABEL_CONFIGS # See Prometheus metric_relabel_configs
דוגמאות להגדרות של שינוי תוויות מופיעות במאמר הגדרות נוספות של מקלט.
דוגמה: הגדרת סוכן תפעול ל-Prometheus
בקטע הזה מוצגת דוגמה להגדרה של סוכן תפעול לאיסוף מדדים של Prometheus מאפליקציה. בדוגמה הזו נעשה שימוש ב-JSON Exporter (json_exporter) שסופק על ידי קהילת Prometheus, שחושף מדדים של Prometheus ביציאה 7979.
כדי להגדיר את הדוגמה, צריך את המשאבים הבאים, שאולי תצטרכו להתקין:
gitcurlmakepython3- שפת Go, גרסה 1.19 ואילך
יצירה או הגדרה של האפליקציה
כדי לקבל ולהפעיל את הכלי לייצוא JSON, פועלים לפי השלבים הבאים:
משכפלים את מאגר
json_exporterומחלצים את הכלי לייצוא על ידי הרצת הפקודות הבאות:git clone https://github.com/prometheus-community/json_exporter.git cd json_exporter git checkout v0.5.0
מריצים את הפקודה הבאה כדי ליצור את כלי הייצוא:
make build
מפעילים את שרת ה-HTTP של Python באמצעות הפקודה הבאה:
python3 -m http.server 8000 &
מריצים את הפקודה הבאה כדי להפעיל את הכלי JSON Exporter:
./json_exporter --config.file examples/config.yml &
מריצים שאילתה על JSON Exporter כדי לוודא שהוא פועל ומציג מדדים ביציאה 7979:
curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/data.json"
אם השאילתה הצליחה, הפלט ייראה כך:
# HELP example_global_value Example of a top-level global value scrape in the json # TYPE example_global_value untyped example_global_value{environment="beta",location="planet-mars"} 1234 # HELP example_value_active Example of sub-level value scrapes from a json # TYPE example_value_active untyped example_value_active{environment="beta",id="id-A"} 1 example_value_active{environment="beta",id="id-C"} 1 # HELP example_value_boolean Example of sub-level value scrapes from a json # TYPE example_value_boolean untyped example_value_boolean{environment="beta",id="id-A"} 1 example_value_boolean{environment="beta",id="id-C"} 0 # HELP example_value_count Example of sub-level value scrapes from a json # TYPE example_value_count untyped example_value_count{environment="beta",id="id-A"} 1 example_value_count{environment="beta",id="id-C"} 3בפלט הזה, המחרוזות כמו
example_value_activeהן שמות המדדים, עם תוויות וערכים בסוגריים מסולסלים. ערך הנתונים מופיע אחרי התווית שהוגדרה.
הוספת צינור ורכיב לקליטת נתונים של Ops Agent
כדי להגדיר את סוכן התפעול כך שיקבל מדדים מאפליקציית JSON Exporter, צריך לשנות את ההגדרה של הסוכן כדי להוסיף צינור ומקלט של Prometheus. כדי להשתמש בדוגמה של JSON Exporter, מבצעים את השלבים הבאים:
עורכים את קובץ התצורה של סוכן תפעול,
/etc/google-cloud-ops-agent/config.yaml, ומוסיפים את רשומות ה-receiver וה-pipeline הבאות של Prometheus:metrics: receivers: prometheus: type: prometheus config: scrape_configs: - job_name: 'json_exporter' scrape_interval: 10s metrics_path: /probe params: module: [default] target: [http://localhost:8000/examples/data.json] static_configs: - targets: ['localhost:7979'] service: pipelines: prometheus_pipeline: receivers: - prometheusאם כבר יש לכם רשומות הגדרה אחרות בקובץ הזה, מוסיפים את מקלט Prometheus ואת צינור הנתונים לרשומות הקיימות של
metricsושלservice. מידע נוסף זמין במאמר בנושא הגדרות של מדדים.דוגמאות להגדרות של שינוי תוויות ב-receiver מופיעות במאמר הגדרות נוספות של receiver.
הפעלה מחדש של סוכן התפעול
כדי להחיל את שינויי ההגדרות, צריך להפעיל מחדש את סוכן התפעול.
LINUX
כדי להפעיל מחדש את הסוכן, מריצים את הפקודה הבאה במופע:
sudo service google-cloud-ops-agent restart
כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
sudo systemctl status google-cloud-ops-agent"*"
Windows
מתחברים למופע באמצעות RDP או כלי דומה ומתחברים ל-Windows.
פותחים טרמינל ב-PowerShell עם הרשאות אדמין. לשם כך, לוחצים לחיצה ימנית על סמל PowerShell ובוחרים באפשרות הפעלה כמנהל מערכת.
כדי להפעיל מחדש את הסוכן, מריצים את פקודת PowerShell הבאה:
Restart-Service google-cloud-ops-agent -Force
כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
Get-Service google-cloud-ops-agent*
מדדי Prometheus ב-Cloud Monitoring
אפשר להשתמש בכלים שמוצעים על ידי Cloud Monitoring עם הנתונים שנאספים על ידי Prometheus receiver. לדוגמה, אפשר ליצור תרשים של נתונים באמצעות Metrics Explorer, כפי שמתואר במאמר בנושא מסוףGoogle Cloud ל-Monitoring. בקטעים הבאים מפורטים כלי השאילתות שזמינים ב-Cloud Monitoring עם Metrics Explorer:
אתם יכולים ליצור לוחות בקרה ומדיניות התראות ב-Cloud Monitoring עבור המדדים שלכם. מידע על מרכזי בקרה ועל סוגי התרשימים שאפשר להשתמש בהם זמין במאמר מרכזי בקרה ותרשימים. מידע על מדיניות התראות מופיע במאמר שימוש במדיניות התראות.
אפשר גם לראות את המדדים בממשקים אחרים, כמו ממשק המשתמש של Prometheus ו-Grafana. מידע על הגדרת הממשקים האלה זמין בקטעים הבאים במאמרי העזרה בנושא השירות המנוהל של Google Cloud ל-Prometheus:
שימוש ב-PromQL
PromQL היא שפת השאילתות המומלצת למדדים שמועברים באמצעות מקלט Prometheus.
הדרך הפשוטה ביותר לוודא שהנתונים שלכם מ-Prometheus נקלטים היא באמצעות הדף Metrics Explorer ב-Cloud Monitoring במסוף Google Cloud :
-
במסוף Google Cloud , עוברים לדף leaderboard Metrics explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו הוא code MQL או code PromQL.
מוודאים שהאפשרות PromQL נבחרה במתג שפה. המתג לשפה נמצא באותו סרגל כלים שבו אפשר לעצב את השאילתה.
מזינים את השאילתה הבאה בעורך ולוחצים על Run query:
up
אם הנתונים שלכם מוזנים, יופיע תרשים כמו זה:
אם אתם מריצים את הדוגמה של JSON Exporter, תוכלו גם להריץ שאילתות כמו הבאות:
כדי לשלוח שאילתה לגבי כל הנתונים של מדד ספציפי שיוצא, לפי שם, לדוגמה:
example_value_count
בדוגמה הבאה מוצג תרשים של
example_value_count, כולל תוויות שהוגדרו על ידי האפליקציה JSON Exporter ותוויות שנוספו על ידי Ops Agent:
שליחת שאילתות לגבי נתונים של מדד שיוצא ממרווח שמות ספציפי. הערך של התווית
namespaceהוא מזהה המופע של Compute Engine, מספר ארוך כמו5671897148133813325, שמוקצה למכונה הווירטואלית. דוגמה לשאילתה:example_value_count{namespace="INSTANCE_ID"}שאילתת נתונים שתואמים לביטוי רגולרי ספציפי. ה-JSON Exporter פולט מדדים עם תווית
idשמקבלת ערכים כמוid-A,id-B,id-C. כדי לסנן את כל המדדים עם תוויתidשתואמת לתבנית הזו, משתמשים בשאילתה הבאה:example_value_count{id=~"id.*"}
מידע נוסף על השימוש ב-PromQL ב-Metrics Explorer ובטבלאות של Cloud Monitoring זמין במאמר PromQL ב-Cloud Monitoring.
הצגת דפוסי שימוש וביצועים ואבחון במדדים ב-Cloud Monitoring
בדף Metrics Management ב-Cloud Monitoring יש מידע שיכול לעזור לכם לשלוט בסכום שאתם מוציאים על מדדים שניתנים לחיוב, בלי לפגוע ביכולת הצפייה. בדף Metrics Management מופיע המידע הבא:
- נפחי ההטמעה לחיוב על בסיס בייט ועל בסיס דגימה, בדומיינים של מדדים ובמדדים נפרדים.
- נתונים על תוויות ועוצמה של מדדים.
- מספר הקריאות לכל מדד.
- שימוש במדדים במדיניות התראות ובמרכזי בקרה בהתאמה אישית.
- שיעור השגיאות בכתיבת מדדים.
אפשר גם להשתמש בדף ניהול מדדים כדי להחריג מדדים לא נחוצים, וכך לבטל את העלות של ההטמעה שלהם.
כדי להציג את הדף ניהול מדדים:
-
נכנסים לדף Metrics management במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים, בוחרים את חלון הזמן. כברירת מחדל, בדף ניהול מדדים מוצג מידע על המדדים שנאספו ביום הקודם.
מידע נוסף על הדף ניהול מדדים זמין במאמר איך רואים ומנהלים את השימוש במדדים.
משאב prometheus_target
ב-Cloud Monitoring, נתוני סדרות זמן נכתבים לפי סוג של משאב במעקב. במדדים של Prometheus, סוג המשאב במעקב הוא prometheus_target. כדי לעקוב אחרי שאילתות של מדדי Prometheus שלא נכתבו ב-PromQL, צריך לציין את סוג המשאב הזה.
למשאב prometheus_target יש את התוויות הבאות, שאפשר להשתמש בהן כדי לסנן ולשנות את הנתונים שנשלחו בשאילתה:
-
project_id: המזהה של Google Cloud הפרויקט, כמוmy-project, שבו פועל סוכן התפעול. -
location: האזור Google Cloud או אזור AWS שבו פועל סוכן התפעול; לדוגמה,us-east1-a(Google Cloud) אוaws:us-east-1a(AWS). -
cluster: תמיד__gce__למדדי Prometheus שנאספים באמצעות סוכן תפעול. -
namespace: מזהה המכונה של Compute Engine שבה פועל סוכן תפעול. -
job: הערך של השדהjob_nameבתצורת המקלט. -
instance: התווית של מופע היעד של Prometheus, שנלקחת מההגדרה של מקבל הנתונים. ברירת המחדל היא היעד.
הערכים של התוויות האלה מוגדרים במהלך האיסוף. הערכים של התוויות namespace, location ו-cluster הם קבועים. אם המדדים שחולצו מהאפליקציה כוללים גם את התוויות האלה, סוכן תפעול מוסיף את המחרוזת exported_ כקידומת לתוויות שחולצו.
שינוי התוויות: שינוי הנתונים שמועברים
אפשר להשתמש בשינוי התוויות כדי לשנות את קבוצת התוויות של יעד הגירוד או את המדדים שלו לפני שהיעד נסרק. אם יש כמה שלבים בהגדרת תיוג מחדש, הם מוחלים לפי הסדר שבו הם מופיעים בקובץ התצורה.
סוכן תפעול יוצר קבוצה של תוויות מטא (תוויות שמתחילות במחרוזת __meta_). תוויות המטא האלה מתעדות מידע על מכונת Compute Engine שבה פועל סוכן תפעול. תוויות עם הקידומת __, כולל תוויות המטא, זמינות רק במהלך שינוי התיוג. אפשר להשתמש בתוויות חדשות כדי לתעד את הערכים של התוויות האלה בתוויות שנסרקות.
התווית החדשה של המדד חלה על דוגמאות, והיא השלב האחרון לפני ההטמעה. אפשר להשתמש בתוויות חדשות למדדים כדי להשמיט סדרות זמן שלא צריך להוסיף למערכת. השמטת סדרות זמן כאלה מצמצמת את מספר הדגימות שנוספות למערכת, וכך יכולה להוזיל את העלויות.
מידע נוסף על שינוי תוויות זמין במאמרי העזרה של Prometheus בנושא relabel_config ו-metric_relabel_configs.
תוויות מטא של Compute Engine שזמינות במהלך שינוי התוויות
כשסוכן התפעול (Ops Agent) מבצע גירוד של מדדים, הוא כולל קבוצה של תוויות מטא שהערכים שלהן מבוססים על ההגדרה של המכונה הווירטואלית ב-Compute Engine שבה הסוכן פועל. אתם יכולים להשתמש בתוויות האלה ובקטע relabel_configs של Prometheus receiver כדי להוסיף מטא נתונים נוספים למדדים לגבי המכונה הווירטואלית שממנה הם נאספו. דוגמה מופיעה במאמר בנושא הגדרות נוספות של מקלט.
התוויות הבאות של מטא זמינות ביעדים לשימוש בקטע relabel_configs:
-
__meta_gce_instance_id: המזהה המספרי של מכונת Compute Engine (מקומית) -
__meta_gce_instance_name: השם של מכונת Compute Engine (מקומית). סוכן תפעול ממקם את הערך הזה באופן אוטומטי בתוויתinstance_nameשניתנת לשינוי במדדים. __meta_gce_machine_type: כתובת URL מלאה או חלקית של סוג המכונה של המופע. סוכן תפעול מציב את הערך הזה באופן אוטומטי בתוויתmachine_typeשניתנת לשינוי במדדים.-
__meta_gce_metadata_NAME: כל פריט מטא-נתונים של המופע -
__meta_gce_network: כתובת ה-URL של הרשת של המכונה -
__meta_gce_private_ip: כתובת ה-IP הפרטית של המכונה -
__meta_gce_interface_ipv4_NAME: כתובת IPv4 של כל ממשק עם שם -
__meta_gce_project: Google Cloud הפרויקט שבו המופע פועל (מקומי) -
__meta_gce_public_ip: כתובת ה-IP הציבורית של המכונה, אם קיימת -
__meta_gce_tags: רשימה מופרדת בפסיקים של תגי מופעים -
__meta_gce_zone: כתובת ה-URL של אזור Compute Engine שבו המכונה פועלת
הערכים של התוויות האלה מוגדרים כשה-Ops Agent מתחיל לפעול. אם משנים את הערכים, צריך להפעיל מחדש את סוכן התפעול כדי לרענן את הערכים.
הגדרות נוספות של הנמען
בקטע הזה מופיעות דוגמאות לשימוש בקטעים relabel_configs ו-metric_relabel_configs של מקלט Prometheus כדי לשנות את המספר והמבנה של המדדים שנקלטים. בקטע הזה יש גם גרסה שונה של המקלט לדוגמה של JSON Exporter שמשתמשת באפשרויות של שינוי התוויות.
הוספת מטא-נתונים של מכונה וירטואלית
אפשר להשתמש בקטע relabel_configs כדי להוסיף תוויות למדדים.
לדוגמה, בקטע הבא נעשה שימוש בתווית מטא, __meta_gce_zone, שסופקה על ידי Ops Agent כדי ליצור תווית מדד, zone, שנשמרת אחרי שינוי התווית, כי ל-zone אין את הקידומת __.
רשימת תוויות המטא הזמינות מופיעה במאמר תוויות מטא של Compute Engine שזמינות במהלך שינוי התוויות. חלק מתוויות המטא מסומנות מחדש בשבילכם על ידי הגדרת ברירת המחדל של סוכן תפעול.
relabel_configs:
- source_labels: [__meta_gce_zone]
regex: '(.+)'
replacement: '${1}'
target_label: zone
מקלט Prometheus שמוצג בדוגמה: הגדרת סוכן תפעול ל-Prometheus כולל את התוספת של התווית הזו.
הסרת מדדים
אפשר להשתמש בקטע metrics_relabel_configs כדי להשמיט מדדים שלא רוצים להוסיף למאגר. התבנית הזו שימושית לצמצום העלויות.
לדוגמה, אפשר להשתמש בתבנית הבאה כדי להשמיט כל מדד עם
שמות שתואמים ל-METRIC_NAME_REGEX_1 או ל-METRIC_NAME_REGEX_2:
metric_relabel_configs:
- source_labels: [ __name__ ]
regex: 'METRIC_NAME_REGEX_1'
action: drop
- source_labels: [ __name__ ]
regex: 'METRIC_NAME_REGEX_2'
action: drop
הוספת תוויות סטטיות
אפשר להשתמש בקטע metrics_relabel_configs כדי להוסיף תוויות סטטיות לכל המדדים שנקלטים על ידי מקלט Prometheus. אפשר להשתמש בדפוס הבא כדי להוסיף את התוויות staticLabel1 ו-staticLabel2 לכל המדדים שנוספו:
metric_relabel_configs:
- source_labels: [ __address__ ]
action: replace
replacement: 'STATIC_VALUE_1'
target_label: staticLabel1
- source_labels: [ __address__ ]
action: replace
replacement: 'STATIC_VALUE_2'
target_label: staticLabel2
בדוגמה הבאה של JSON Exporter נעשה שימוש בדפוסי ההגדרה האלה כדי לבצע את הפעולות הבאות:
- מגדירים את התווית
zoneמהערך של תווית המטא__meta_gce_zoneשסופקה על ידי Ops Agent. - מבטלים את המדד
example_global_valueשל הכלי לייצוא. - מוסיפים את התווית
staticLabelעם הערך 'ערך סטטי' לכל המדדים שנאספים.
metrics:
receivers:
prometheus:
type: prometheus
config:
scrape_configs:
- job_name: 'json_exporter'
scrape_interval: 10s
metrics_path: /probe
params:
module: [default]
target: [http://localhost:8000/examples/data.json]
static_configs:
- targets: ['localhost:7979']
relabel_configs:
- source_labels: [__meta_gce_zone]
regex: '(.+)'
replacement: '${1}'
target_label: zone
metric_relabel_configs:
- source_labels: [ __name__ ]
regex: 'example_global_value'
action: drop
- source_labels: [ __address__ ]
action: replace
replacement: 'A static value'
target_label: staticLabel