This is a translation of the original English documentation page. Help us make it better.

12. ביטויים רגולריים

סקירה כללית

Perl Compatible רגיל ביטויים (PCRE, PCRE2) נתמכים ב- Zabbix.

ישנן שתי דרכים להשתמש בביטויים רגולריים ב- Zabbix:

  • הזנה ידנית של ביטוי רגולרי
  • שימוש בביטוי רגולרי גלובלי שנוצר ב- Zabbix

ביטויים רגולריים

אתה יכול להזין באופן ידני ביטוי רגולרי במקומות נתמכים. הערה שהביטוי לא יתחיל ב-@ כי הסמל הזה משמש ב Zabbix להפניה לביטויים רגולריים גלובליים.

::: הערה אזהרה אפשר להיגמר מהמחסנית בעת שימוש ברגיל ביטויים. ראה את איש ה-pcrestack עמוד למידע נוסף מֵידָע. :::

שים לב שבהתאמה מרובת שורות, העוגנים ^ ו-$ תואמים ב- התחלה/סוף של כל שורה בהתאמה, במקום ההתחלה/סוף של את כל המחרוזת.

ביטויים רגולריים גלובליים

ישנו עורך מתקדם ליצירה ובדיקה רגילה מורכבת ביטויים בחזית Zabbix.

ברגע שביטוי רגולרי נוצר בצורה זו, ניתן להשתמש בו ב מספר מקומות בחזית על ידי הפניה לשמו, עם קידומת @, לדוגמה, @mycustomregexp.

כדי ליצור ביטוי רגולרי גלובלי:

  • עבור אל: ניהול → כללי
  • בחר ביטויים רגולריים מהתפריט הנפתח
  • לחץ על ביטוי רגולרי חדש

הכרטיסייה ביטויים מאפשרת להגדיר את שם הביטוי הרגולרי ו להוסיף ביטויי משנה.

כל שדות הקלט החובה מסומנים בכוכבית אדומה.

|פרמטר|<|תיאור| |-|--------|---------------------------------------- ----| |שם|<|הגדר את שם הביטוי הרגולרי. כל תווי Unicode מותרים.| |ביטויים|<|לחץ על הוסף בבלוק הביטויים כדי להוסיף תת-ביטוי חדש.| | |סוג ביטוי|בחר סוג ביטוי:
מחרוזת תווים כלולה - התאם למחרוזת המשנה
כל מחרוזת תווים כלולה - התאם מחרוזת משנה כלשהי מרשימה מופרדת. הרשימה המופרדת כוללת פסיק (,), נקודה (.) או קו נטוי קדימה (/).
מחרוזת תווים אינה כלולה - התאימו לכל מחרוזת מלבד המחרוזת המשנה
התוצאה היא TRUE* * - התאמה לביטוי הרגולרי
התוצאה היא FALSE** - אין התאמה לביטוי הרגולרי| |^|ביטוי|הזן מחרוזת משנה/ביטוי רגולרי.| |מפריד|<|פסיק (,), נקודה (.) או קו נטוי קדימה (/) להפרדת מחרוזות טקסט בביטוי רגולרי. פרמטר זה פעיל רק כאשר נבחר סוג הביטוי "כל מחרוזת תווים כלולה".| |תלוי רישיות|<|תיבת סימון כדי לציין אם ביטוי רגולרי רגיש לאותיות רישיות של אותיות.|

קו נטוי קדימה (/) בביטוי מטופל באופן מילולי, ולא תוחם. כך ניתן לשמור ביטויים המכילים א סלאש, ללא שגיאות.

::: שימו לב חשוב שם ביטוי רגולרי מותאם אישית ב- Zabbix עשוי מכילים פסיקים, רווחים וכו'. במקרים שבהם זה עלול להוביל פרשנות שגויה בעת הפניה (לדוגמה, פסיק ב- פרמטר של מפתח פריט) ניתן לרשום את כל ההפניה במרכאות כמו זה: "@הביטוי הרגולרי המותאם אישית שלי למטרה1, תכלית2".
אסור לצטט שמות של ביטויים רגולריים במיקומים אחרים (עבור לדוגמה, במאפייני כלל LLD). :::

בלשונית בדיקה הביטוי הרגולרי וביטויי המשנה שלו יכולים להיות נבדק על ידי מתן מחרוזת בדיקה.

התוצאות מציגות את הסטטוס של כל תת-ביטוי וסך הכל מותאם אישית מצב ביטוי.

סטטוס ביטוי מותאם אישית כולל מוגדר כתוצאה משולבת. אם מספר ביטויי משנה מוגדרים Zabbix משתמשת AND אופרטור לוגי ל לחשב תוצאה משולבת. זה אומר שאם לפחות תוצאה אחת היא לא נכון לתוצאה משולבת יש גם סטטוס שקר.

ברירת מחדל לביטויים רגולריים גלובליים

Zabbix מגיע עם מספר ביטויים רגולריים גלובליים כברירת מחדל מערך הנתונים.

שם ביטוי התאמות
מערכות קבצים לגילוי ^(btrfs\|ext2\|ext3\|ext4\|jfs\|reiser\|xfs\|ffs\|ufs\|jfs\|jfs2\|vxfs\|hfs\| refs\|apfs\|ntfs\|fat32\|zfs)$ "btrfs" או "ext2" או "ext3" או "ext4" או "jfs" או "reiser" או "xfs" או "ffs" או " ufs" או "jfs" או "jfs2" או "vxfs" או "hfs" או "refs" או "apfs" או "ntfs" או "fat32" או "zfs"
ממשקי רשת לגילוי ^Software Loopback Interface מחרוזות המתחילות ב-"Software Loopback Interface".
^lo$ "lo"
^(In)?[Ll]oop[Bb]ack[0-9._]*$ מחרוזות שמתחילות באופן אופציונלי ב-"In", ואז יש "L" או "l", ואז "oop", לאחר מכן "B" או "b", ולאחר מכן "ack", שלאחריו ניתן לבוא באופן אופציונלי בכל מספר של ספרות, נקודות או קווים תחתונים.
^NULL[0-9.]*$ מחרוזות המתחילות ב-"NULL" אופציונלי ואחריהן כל מספר של ספרות או נקודות.
^[Ll]o[0-9.]*$ מחרוזות המתחילות ב-"Lo" או "lo" ובאופן אופציונלי ואחריהן כל מספר של ספרות או נקודות.
^[Ss]ystem$ "מערכת" או "מערכת"
^Nu[0-9.]*$ מחרוזות המתחילות ב-"Nu" אופציונלי ואחריהן כל מספר של ספרות או נקודות.
התקני אחסון לגילוי SNMP ^(זיכרון פיזי\|זיכרון וירטואלי\|מאגרי זיכרון\|זיכרון במטמון\|החלפת שטח)$ "זיכרון פיזי" או "זיכרון וירטואלי" או "מאגרי זיכרון" או " זיכרון במטמון" או "החלף שטח"
שמות שירות Windows לגילוי ^(MMCSS\|gupdate\|SysmonLog\|clr_optimization_v2.0.50727_32\|clr_optimization_v4.0.30319_32)$ "MMCSS" או "gupdate" או "SysmonLog" או "Strings like" clr_optimization_v2.0.50727_32" ו-"clr_optimization_v4.0.30319_32" כאשר במקום נקודות ניתן לשים כל תו מלבד שורה חדשה.
מצבי הפעלה של שירות Windows לגילוי ^(automatic\|automatic delayed)$ "automatic" או "automatic delayed"

דוגמאות

דוגמה 1

שימוש בביטוי הבא בגילוי ברמה נמוכה לגילוי מסדי נתונים מלבד מסד נתונים עם שם ספציפי:

 ^TESTDATABASE$

regexp_expr_2.png

נבחר סוג ביטוי: "התוצאה היא FALSE". לא תואם שם, המכיל מחרוזת "TESTDATABASE".

דוגמה עם שינוי ביטוי רגולרי מוטבע

שימוש בביטוי הרגולרי הבא כולל משנה מוטבע (?i) כדי להתאים את התווים "שגיאה":

 (?i) שגיאה

regexp_expr_3a.png

נבחר סוג ביטוי: "התוצאה היא אמת". תווים "שגיאה" הם תואם.

דוגמה נוספת עם שינוי ביטוי רגולרי מוטבע

שימוש בביטוי הרגולרי הבא כולל מספר מוטבע משנה כדי להתאים את התווים לאחר שורה ספציפית:

 (?<=מתאים (?i)everything(?-i) אחרי שורה זו\n)(?sx).*# אנו מוסיפים את s modifier כדי לאפשר . להתאים תווים בשורה חדשה

regexp_expr_4_new.png

סוג הביטוי הנבחר: "התוצאה היא TRUE". תווים אחרי ספציפי הקו מותאמים.

::: שימו לב חשוב לא ניתן לציין את השינוי g בתור. ה רשימה של מתקנים זמינים ניתן למצוא ב-pcresyntax man דף. ל מידע נוסף על תחביר PCRE נא עיין ב-PCRE HTML תיעוד.

:::

תמיכה בביטויים רגילים לפי מיקום

|מיקום|<|ביטוי רגולרי|ביטוי רגולרי גלובלי|התאמה מרובת שורות|הערות| |-|--------|--------|--------|--------|------ --------------| |פריטי סוכן|<|<|<|<|<| |<|eventlog[]|Yes|Yes|Yes|regexp, severity, source, eventid פרמטרים| ||log[]||||regexp פרמטר| ||log.count[]||||^| ||logrt[]||Yes/No|^|regexp פרמטר תומך בשניהם, file_regexp פרמטר תומך בביטויים לא גלובליים בלבד| ||logrt.count[]||||^ ||proc.cpu.util[]||No|No|פרמטר cmdline| ||proc.mem[]||||^| ||proc.num[]||||^| ||חיישן[]||||התקן וחיישן פרמטרים ב-Linux 2.4| ||system.hw.macaddr[]||||פרמטר ממשק| ||system.sw.packages[]||||'packageפרמטר| |^|vfs.dir.count\[\]|^|^|^|regex_incl,regex_excl,regex_excl_dirפרמטרים| |^|vfs.dir.size\[\]|^|^|^|regex_incl,regex_excl,regex_excl_dirפרמטרים| |^|vfs.file.regexp\[\]|^|^|כן|פרמטרregexp| |^|vfs.file.regmatch\[\]|^|^|^|^| |^|web.page.regexp\[\]|^|^|^|^| |**[מלכודות SNMP](/manual/config/items/itemtypes/snmptrap)**|<|<|<|<|<| |<|snmptrap\[\]|כן|כן|לא|פרמטרregexp| |**[פריט ערך preprocessing](/manual/config/items/item#item_value_preprocessing)**|<|כן|לא|לא|פרמטרpattern| |**[פונקציות לטריגרים/פריטים מחושבים](/manual/appendix/functions)**|<|<|<|<|<| |<|count()|Yes|Yes|Yes|patternפרמטר אם פרמטרoperatorהוא *regexp* או *iregexp*| |<|countunique()|כן|כן|^|^| |<|find()|כן|כן|^|^| |^|logeventid()|Yes|Yes|No|פרמטרpattern| |^|logsource()|^|^|^|^| |**[גילוי ברמה נמוכה](/manual/discovery/low_level_discovery#discovery_rule_filter)**|<|<|<|<|<| |<|מסננים|כן|כן|לא|*שדה ביטוי רגולרי*| |^|עוקף|כן|לא|^|ב*התאמות*, *לא תואם* אפשרויות לתנאי *תפעול*| |**[תנאי פעולה](/manual/config/notifications/action/conditions)**|<|כן|לא|לא|ב*התאמות*, *לא תואם* אפשרויות עבור *שם מארח* ומטא נתונים של מארח * תנאי רישום אוטומטי| |**[ניטור אינטרנט](/manual/web_monitoring#configuring_a_web_scenario)**|<|כן|לא|כן|*משתנים* עם קידומת **regex:**
*שדה*מחרוזת נדרשת*| |**[הקשר מאקרו משתמש](/manual/config/macros/user_macros#user_macro_context)**|<|כן|לא|לא|בהקשר מאקרו עם קידומת **regex:**| |**[פונקציות מאקרו](/manual/config/macros/macro_functions)**|<|<|<|<|<| |<|regsub()|כן|לא|לא|פרמטר
pattern| |^|iregsub()|^|^|^|^| |**[מיפוי סמלים](/manual/web_interface/frontend_sections/administration/general#icon_mapping)**|<|כן|כן|לא|*שדה ביטוי*| |**[מיפוי ערך](/manual/config/items/mapping#configuration)**|<|כן|לא|לא|*שדה ערך* אם סוג המיפוי הואregexp`|