Zabbix יכול לבצע שאילתות על מדדים שנחשפו בפורמט קו פרומתאוס.
נדרשים שני שלבים כדי להתחיל באיסוף נתוני פרומתאוס:
https://<prometheus host>/metrics
ישנן שתי אפשרויות עיבוד מקדים של נתוני פרומתאוס:
עיבוד בכמות גדולה נתמך עבור פריטים תלויים. כדי לאפשר אחסון במטמון ואינדקס, העיבוד המקדים של תבנית פרומתאוס חייב להיות שלב העיבוד המקדים הראשון. כאשר דפוס פרומתאוס הוא שלב העיבוד המקדים הראשון אז הפרומתאוס המנתח הנתונים מאוחסנים במטמון ומוסיפים לאינדקס על ידי התנאי <label>==<value>
הראשון ב- דפוס פרומתאוס שלב עיבוד מקדים. מטמון זה נעשה שימוש חוזר בעת עיבוד פריטים תלויים אחרים באצווה זו. לביצועים מיטביים, התווית הראשונה צריך להיות זה עם הכי הרבה ערכים שונים.
אם יש לבצע עיבוד מקדים אחר לפני השלב הראשון, זה צריך להיות הועבר לפריט הראשי או לפריט תלוי חדש שישמש כ פריט המאסטר עבור הפריטים התלויים.
בתנאי שהגדרת את פריט המאסטר של HTTP, עליך ליצור א פריט תלוי כי משתמש בשלב עיבוד מקדים של פרומתאוס:
הפרמטרים הבאים ספציפיים לאפשרות העיבוד המקדים של תבנית פרומתאוס:
פרמטר | תיאור | דוגמאות |
---|---|---|
דפוס | כדי להגדיר את דפוס הנתונים הנדרש, תוכל להשתמש בשפת שאילתה הדומה לשפת השאילתה של פרומתאוס (ראה טבלת השוואה), למשל: <metric name> - בחר לפי שם המדד {__name__="<שם המדד>"} - בחר לפי שם המדד {__name__=~"<regex>"} - בחר לפי שם מדד התואם לביטוי רגולרי {<label name>="<label value>",...} - בחר לפי שם תווית {<label name>=~"<regex>" ,...} - בחר לפי שם תווית התואם לביטוי רגולרי {__name__=~".*"}==<value> - בחר לפי ערך מטרי או שילוב של האמור לעיל: <metric name>{<label1 name>="<label1 value>",<label2 name>=~"<regex>",...}==<value> ערך התווית יכול להיות כל רצף של תווי UTF-8, אך יש להזין את התווים האחוריים, המירכאות הכפולות והזנת השורה בתור \\ , \" ו-\n בהתאמה; תווים אחרים יהיו לא ניתן לברוח. |
wmi_os_physical_memory_free_bytes cpu_usage_system{cpu="cpu-total"} cpu_usage_system{cpu= ~".*"} cpu_usage_system{cpu="cpu-total",host=~".*"} wmi_service_state{name=" dhcp"}==1 wmi_os_timezone{timezone=~".*"}==1 |
עיבוד תוצאות | ציין אם להחזיר את הערך, את התווית או להחיל את הפונקציה המתאימה (אם התבנית תואמת למספר שורות ויש לצבור את התוצאה): ערך - החזר ערך מטרי (שגיאה אם מספר שורות תואמו) תווית - ערך החזרה של התווית שצוינה בשדה תווית (שגיאה אם מספר מדדים מתאימים) סכום - החזרת סכום הערכים<br >דקה - החזר את הערך המינימלי מקסימום - החזר את הערך המקסימלי ממוצע - החזר את הערך הממוצע ספירה - החזר את הספירה של ערכים שדה זה זמין רק עבור האפשרות תבנית פרומתאוס. |
ראה גם דוגמאות לשימוש בפרמטרים למטה. |
פלט | הגדר שם תווית (אופציונלי). במקרה זה מוחזר הערך המתאים לשם התווית. שדה זה זמין רק עבור האפשרות תבנית פרומתאוס, אם 'תווית' נבחרה בשדה עיבוד תוצאות. |
דוגמאות לשימוש בפרמטרים
/var/db
מ:
node_disk_usage_bytes{path="/var/cache"} 2.1766144e+09
node_disk_usage_bytes{path="/var/db"} 20480
node_disk_usage_bytes{path="/var/dpkg"} 8192
node_disk_usage_bytes{path="/var/empty"} 4096
השתמש בפרמטרים הבאים:
node_disk_usage_bytes{path="/var/db"}
node_disk_usage_bytes
:node_disk_usage_bytes
elasticsearch_cluster_health_status{cluster="elasticsearch",color="green"} 1
elasticsearch_cluster_health_status{cluster="elasticsearch",color="red"} 0
elasticsearch_cluster_health_status{cluster="elasticsearch",color="yellow"} 0
השתמש בפרמטרים הבאים:
elasticsearch_cluster_health_status {cluster="elasticsearch"} == 1
המסנן (מבוסס על הערך המספרי '1') יתאים לשורה המתאימה, בעוד שהתווית תתאים להחזיר את תיאור המצב הבריאותי (כרגע 'ירוק'; אך ייתכן גם 'אדום' או 'צהוב').
ניתן להשתמש בנתונים מ-Prometheus לגילוי ברמה נמוכה. במקרה הזה יש צורך בנתונים בפורמט JSON וב-Prometheus ל-JSON אפשרות עיבוד מקדים תחזיר בדיוק את זה.
לפרטים נוספים, ראה גילוי באמצעות פרומתאוס data.
הטבלה הבאה מפרטת את ההבדלים והדמיון בין PromQL ושפת שאילתות לעיבוד מקדים של Zabbix Prometheus.
בורר וקטור מיידי של PromQL | עיבוד מקדים של Zabbix Prometheus | |
---|---|---|
הבדלים | ||
יעד שאילתה | שרת פרומתאוס | טקסט רגיל בפורמט תערוכת פרומתאוס |
מחזירה | וקטור מיידי | ערך מדד או תווית (תבנית Prometheus) מערך של מדדים עבור ערך בודד ב-JSON (Prometheus ל-JSON) |
אופרטורים תואמים תווית | =, !=, =~, !~ | =, !=, = ~, !~ |
ביטוי רגולרי בשימוש בהתאמת שם תווית או מדד | RE2 | PCRE |
אופרטורים להשוואה | ראה רשימה | רק == (שווה) נתמך לסינון ערכים |
דמיון | ||
בחירה לפי שם המדד השווה למחרוזת | <שם המדד> או {__name__="<שם המדד>"} | <שם המדד> או {__name__="<metric שם>"} |
בחירה לפי שם מדד התואם לביטוי רגולרי | {__name__=~"<regex>"} | {__name__=~"<regex>"} |
בחירה לפי ערך <תווית> השווה למחרוזת | {<שם תווית>="<ערך תווית>",...} | {<שם תווית>="<ערך תווית>",...} |
בחירה לפי ערך <שם תווית> התואם לביטוי רגולרי | {<שם תווית>=~"<regex>",...} | {<שם תווית>=~"<regex>",...} |
בחירה לפי ערך השווה למחרוזת | {__name__=~".*"} == <ערך> | {__name__=~".*"} == <ערך> |