מדיניות שירות העברת הודעות

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מה

אחת הדרכים הטובות ביותר לאתר בעיות בסביבת זמן הריצה של ה-API היא לרשום הודעות. אפשר לצרף מדיניות MessageLogging ולהגדיר אותה ב-API כדי לרשום הודעות מותאמות אישית בדיסק מקומי (Edge for Private Cloud בלבד) או ב-Syslog.

טעימות

Syslog

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <DateFormat>yyyy-MM-dd'T'HH:mm:ss.SSSZ</DateFormat>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>

שימוש נפוץ במדיניות MessageLogging הוא התחברות לחשבון Syslog. כאשר הוא מוגדר לשימוש ב-Syslog, שרת proxy של API יעביר את הודעות היומן מ-Apigee Edge לשרת Syslog מרוחק. צריך להיות לך כבר שרת Syslog זמין. אם לא, תוכלו למצוא שירותי ניהול יומנים ציבוריים, כמו Splunk, Sumo Logic ו-Loggly. איך מגדירים שירותי ניהול יומנים של צד שלישי?

לדוגמה, נניח שאתם צריכים לרשום מידע לגבי כל הודעת בקשה שה-API שלכם מקבל מאפליקציות לצרכנים. הערך 3f509b58 מייצג ערך מפתח שספציפי לשירות הלוגרי. אם יש לכם חשבון Loggly, מחליפים את המפתח Loggly. הודעת היומן שתיווצר תאוכלס בארבעה ערכים: הארגון, שרת ה-API של ה-API ושם הסביבה המשויכים לטרנזקציה, יחד עם הערך של פרמטר השאילתה בהודעת הבקשה.

אם יש לכם Edge לפריסה של ענן פרטי, אפשר גם לכתוב הודעות יומן בקובץ.

Syslog ב-TLS/SSL

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>6514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <SSLInfo>
        <Enabled>true</Enabled>
    </SSLInfo>
    <DateFormat>yyMMdd-HH:mm:ss.SSS</DateFormat>
  </Syslog>
  <logLevel>WARN</logLevel>
</MessageLogging>

אפשר לשלוח הודעות לספקי צד שלישי של רישום הודעות באמצעות TLS/SSL על ידי הוספת הבלוק <SSLInfo>.

סבב קבצים: גודל

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
      <FileName>test.log</FileName>
      <FileRotationOptions rotateFileOnStartup="true">
        <FileRotationType>SIZE</FileRotationType>
        <MaxFileSizeInMB>10</MaxFileSizeInMB>
        <MaxFilesToRetain>10</MaxFilesToRetain>
      </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

סבב קבצים על סמך גודל הקובץ.

סיבוב קבצים: זמן

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME</FileRotationType>
      <RotationFrequency unit="minute">10</RotationFrequency>
      <MaxFilesToRetain>10</MaxFilesToRetain>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

סבב קבצים בהתאם לזמן.

סבב קבצים: זמן וגודל

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME_SIZE</FileRotationType>
      <MaxFileSizeInMB>10</MaxFileSizeInMB>
      <MaxFilesToRetain>10</MaxFilesToRetain>
      <RotationFrequency unit="minute">10</RotationFrequency>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

סבב קבצים על סמך שעה וגודל.

תומך בשידור

<MessageLogging name="LogPolicy">
  <File>
  ....
  ....
  </File>
  <BufferMessage>true</BufferMessage>
</MessageLogging>

רישום הודעות מותאם לשידור


הפניה לרכיב

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

שם השדה תיאור השדה

File

יעד הקובץ המקומי. (רק לפריסות של ענן פרטי יש תמיכה ברישום קבצים ב-Edge). במאמר מיקום של קובצי יומן ב-Edge for Private Cloud אפשר לקרוא איפה נשמרים הקבצים.

Message יוצרים את ההודעה שתישלח לקובץ היומן, ומשלבים טקסט עם משתנים כדי לתעד את המידע הרצוי. להצגת טעימות.
FileName השם של קובץ היומן שבו ההודעה נרשמת.
FileRotationOptions
rotateFileOnStartup

מאפיין. הערכים התקינים: true/false

אם המדיניות מוגדרת כ-True, קובץ היומן יעבור רוטציה בכל פעם שמנוע ההודעות יופעל מחדש.

FileRotationType מציינת את מדיניות הרוטציה (size או time) של קובץ יומן.
MaxFileSizeInMB (בעת בחירה ב-size כסוג הסבב) ההגדרה מציינת את הגודל של קובץ יומן שגורם לשרת להעביר הודעות יומן לקובץ נפרד. אחרי שקובץ היומן יגיע לגודל שצוין, השרת ישנה את השם של קובץ היומן הנוכחי.
RotationFrequency (כשבוחרים את time כסוג הסבב) ההגדרה הזאת קובעת את משך הזמן בדקות שגורם לשרת להעביר הודעות יומן לקובץ נפרד. לאחר שיחלוף המרווח שצוין, השם של קובץ היומן הנוכחי ישתנה.
MaxFilesToRetain

ההגדרה הזאת קובעת את מספר הקבצים המקסימלי לשמירה בהקשר של הגדרות הסבב. ערך ברירת המחדל הוא 8.

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

BufferMessage

אם סטרימינג של HTTP מופעל בשרת ה-Proxy, הודעות הבקשה/תגובה לא נשמרות במאגר נתונים זמני. כדי לתעד תוכן שדורש ניתוח של הודעת הזרימה, צריך להגדיר את BufferMessage כ-TRUE. כדי לראות דוגמה, אפשר לעיין בכרטיסייה לדוגמה 'מופעל סטרימינג'. ברירת מחדל: false

Syslog

יעד ל-Syslog. כדי לשלוח syslog ל-Splunk, ל-Sumo Logic או ל-Loggly, קראו את המאמר הגדרה של שירותי ניהול יומנים של צד שלישי.

Message

בנה את ההודעה שתישלח אל ה-Syslog, תוך שילוב טקסט עם משתנים כדי לתעד את המידע הרצוי. להצגת טעימות.

הערה: משתני תגובה לא יהיו זמינים ב-PostClientFlow אחרי תהליך שגיאה. אפשר להשתמש במשתנים של הודעות כדי לתעד פרטי תגובות במקרים של שגיאות ובעיות בהצלחה. ראו גם הערות שימוש.

Host שם המארח או כתובת ה-IP של השרת שאליו יש לשלוח את Syslog. אם לא כוללים את הרכיב הזה, ברירת המחדל היא localhost.
Port היציאה שבה מופעל ה-Syslog. אם לא כוללים את הרכיב הזה, ברירת המחדל היא 514.
Protocol TCP או UDP (ברירת מחדל). אמנם UDP טוב יותר, אך פרוטוקול TCP מבטיח את המסירה של יומן ההודעות לשרת ה-Syslog. לשליחת הודעות Syslog באמצעות TLS/SSL, יש תמיכה רק ב-TCP.
FormatMessage

true או false (ברירת המחדל)

אופציונלי, אבל כדי להשתמש ב-Loggly צריך להפעיל את <FormatMessage>true</FormatMessage>.

הרכיב הזה מאפשר לך לשלוט בפורמט של תוכן שנוצר על ידי Apigee שמצורף מראש להודעה. אם המדיניות מוגדרת כ-True, הודעת ה-Syslog מתווספת למספר קבוע של תווים, כך שניתן לסנן את המידע הזה מהודעות. דוגמה לפורמט הקבוע:

<14>1 2023-03-20T09:24:39.039+0000 e49cd3a9-4cf6-48a7-abb9-7ftfe4d97d00 Apigee-Edge - - - Message starts here

המידע שנוצר על ידי Apigee כולל:

  • <14> – ציון עדיפות (ניתן לעיין ב-Syslog Protocol) על סמך רמת היומן ורמת המתקן של ההודעה.
  • 1 - גרסת ה-Syslog הנוכחית.
  • תאריך עם קיזוז לפי שעון UTC (UTC = 0000+).
  • UUID של מעבד ההודעות.
  • "Apigee-Edge - - "

אם המדיניות מוגדרת כ-False (ברירת המחדל), ההודעה לא תתווסף בהתחלה בתווים הקבועים האלה.

PayloadOnly

true או false (ברירת המחדל)

הרכיב הזה מגדיר את הפורמט של הודעות שנוצרו על ידי Apigee כך שיכללו רק את הגוף של הודעת ה-Syslog, ללא התווים בתחילת המספר שצוינו ב-FormatMessage.

אם לא כוללים את הרכיב הזה או משאירים אותו ריק, ערך ברירת המחדל הוא false.

למידע נוסף, אפשר לקרוא את המאמר FormatMessage.

DateFormat

אפשרות.

מחרוזת של תבנית עיצוב שתשמש לעיצוב חותמת הזמן עבור כל הודעת יומן. כברירת מחדל, ב-Apigee נעשה שימוש בערך yyyy-MM-dd'T'HH:mm:ss.SSSZ. ההתנהגות של תבנית זו מתוארת בתיעוד של מחלקה SimpleDateFormat של Java.

SSLInfo

מאפשר לך לתעד הודעות באמצעות SSL/TLS. יש להשתמש עם רכיב המשנה <Enabled>true</Enabled>.

אם לא כוללים את הרכיב הזה או משאירים אותו ריק, ערך ברירת המחדל הוא False (לא TLS/SSL).

<SSLInfo>
    <Enabled>true</Enabled>
</SSLInfo>

ניתן להגדיר את התג <SSLInfo> בדיוק כמו שמגדירים ב-TargetEndpoint, כולל הפעלה של TLS/SSL דו-כיווני, כפי שמתואר בחומר העזר בנושא הגדרת API של שרת proxy. יש תמיכה רק בפרוטוקול TCP.

logLevel

אפשרות.

ערכים חוקיים: INFO (ברירת המחדל), ALERT, WARN, ERROR

הגדרת רמה ספציפית של מידע שתיכלל ביומן ההודעות.

כשמשתמשים ברכיב FormatMessage (הגדרת הערך True), ההגדרה logLevel משפיעה על ציון העדיפות המחושב (המספר שבתוך הסוגריים הזוויתיים) במידע שנוצר על ידי Apigee שמצורף להודעה מראש.

סכימות


הערות שימוש

כשמצרפים מדיניות MessageLogging לזרימה של שרת proxy של API, כדאי למקם אותה בתגובת ProxyEndpoint, בתהליך מיוחד שנקרא PostClientFlow. ה-PostClientFlow מופעל אחרי שהתגובה נשלחת ללקוח המבקש. כך אפשר להבטיח שכל המדדים זמינים לרישום ביומן. לפרטים על השימוש ב-PostClientFlow, אפשר לעיין בחומר עזר בנושא תצורה של שרת proxy ל-API.

PostClientFlow הוא מיוחד בשתי דרכים:

  1. היא בוצעה רק כחלק מתהליך התגובה.
  2. זהו התהליך היחיד שמתבצע אחרי ששרת ה-proxy נכנס למצב שגיאה.

מאחר שהיא מתבצעת בין אם שרת ה-Proxy הצליח או נכשל, אפשר להציב את מדיניות MessageLogging ב-PostClientFlow ולהבטיח שהיא תפעל תמיד.

תמונת המעקב הבאה מציגה מדיניות MessageLogging שמופעלת כחלק מ-PostClientFlow, לאחר הפעלת ברירת המחדל של DefaultFaultRule:

בדוגמה הזו, המדיניות 'אימות מפתח API' גרמה לתקלה בגלל מפתח לא תקין.

למטה מוצגת ההגדרה של ProxyEndpoint שכוללת את PostClientFlow:

<ProxyEndpoint name="default">
  ...
  <PostClientFlow>
    <Response>
      <Step>
        <Name>Message-Logging-1</Name>
      </Step>
    </Response>
  </PostClientFlow>
  ...
</ProxyEndpoint>

Edge רושמת ביומן הודעות כטקסט פשוט. ניתן להגדיר רישום ביומן כך שיכלול משתנים כמו התאריך והשעה שבהם הבקשה או התגובה התקבלה, זהות המשתמש בבקשה, כתובת ה-IP של המקור שממנו נשלחה הבקשה וכו'. ההודעות ביומן Edge מופיעות באופן אסינכרוני, כלומר לא מוסיפים ל-API את זמן האחזור שעלול להיגרם כתוצאה מחסימת נכסי יתרונות מרכזיים.

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

אם קצב הכתיבה למאגר הנתונים הזמני גדל מעבר לקצב הקריאה, החריגה מהמאגר הזמני והרישום ייכשלו. במקרה כזה, יכול להיות שבקובץ היומן תופיע הודעה שכוללת את הפרטים הבאים:

Log message size exceeded. Increase the max message size setting

אם נתקלתם בבעיה הזו ב-Edge for Private Cloud 4.15.07 וגרסאות קודמות, תצטרכו לאתר את הקובץ message-logging.properties ולהשתמש בפתרון הבא:

מגדילים את המאפיין max.log.message.size.in.kb (ערך ברירת המחדל הוא 128KB) בקובץ message-logging.properties.

ב-Edge for Private Cloud 4.16.01 ואילך, צריך להגדיר את המאפיין conf_message-logging_max.log.message.size.in.kb בקובץ /opt/apigee/customer/application/message-processor.properties ולהפעיל מחדש את מעבד ההודעות.

הערה: המשתנים של הודעות התגובה ב-Edge לא זמינים בתהליך השגיאה. המשתנים האלה גם לא זמינים ב-PostClientFlow אם התהליך הקודם היה 'תהליך השגיאה'. אם רוצים לתעד פרטי תגובות מ-PostClientFlow, צריך להשתמש באובייקט message. אפשר להשתמש באובייקט הזה כדי לקבל כותרות ומידע אחר מהתגובה, גם אם הייתה שגיאה וגם אם לא. לפרטים נוספים ולעיון בדוגמה, אפשר לקרוא את המאמר משתני הודעה.

שליטה בחותמת הזמן של הודעות היומן ב-Edge לענן פרטי

כברירת מחדל, הפורמט של חותמת הזמן בכל הודעות היומן הוא:

yyyy-MM-dd'T'HH:mm:ss.SSSZ

אפשר לבטל את ברירת המחדל הזו ברמת המערכת עבור יעדי Syslog באמצעות הרכיב DateFormat. ההתנהגות של התבנית הזו מתוארת במסמכי התיעוד של מחלקה SimpleDateFormat של Java. לפי ההגדרה הזו, yyyy יוחלף בשנה בת 4 ספרות, MM יוחלף במספר חודש בן 2 ספרות וכן הלאה. הפורמט שלמעלה עשוי ליצור מחרוזת מהטופס הבא:

2022-09-28T22:38:11.721+0000

כדי לשלוט בפורמט הזה, אפשר להשתמש במאפיין conf_system_apigee.syslogger.dateFormat במעבד ההודעות של Edge. לדוגמה, אם רוצים לשנות את הפורמט של ההודעה לפורמט:

yy/MM/dd'T'HH:mm:ss.SSSZ

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

22/09/28T22:38:11.721+0000

כך משנים את הפורמט:

  1. פותחים את הקובץ message-processor.properties בכלי עריכה. אם הקובץ לא קיים, יוצרים אותו:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. מגדירים את המאפיינים הרצויים:
    conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ
  3. שומרים את השינויים.
  4. מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש מסוג 'apigee':
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. מפעילים מחדש את מעבד ההודעות של Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor

רישום מיקום של קבצים ב-Edge לענן פרטי

Edge for Private Cloud 4.16.01 ואילך

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

/opt/apigee/var/log/edge-message-processor/messagelogging/org_name/environment/api_proxy_name/revision/logging_policy_name/

אפשר לשנות את מיקום ברירת המחדל של היומן על ידי שינוי המאפיינים בקובץ message-logging.properties במעבדי ההודעות:

  • bin_setenv_data_dir - מגדיר את נתיב הבסיס לאחסון קובצי יומן. לדוגמה, bin_setenv_data_dir=/opt/apigee/var/log
  • conf_message-logging_log.root.dir - אם מגדירים אותו לנתיב יחסי, כמו conf/message-logging.properties+log.root.dir=custom/folder/, the path is appended to the bin_setenv_data_dir location.

    אם מגדירים אותו כנתיב מוחלט, כמו conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages, יומני ההודעות יישמרו ב-/opt/apigee/var/log/messages/messagelog/. לנתיב מוחלט יש עדיפות על פני bin_setenv_data_dir.

    שימו לב שצריך להפנות לנכס כ-conf/message-logging.properties+log.root.dir כי היא מסומנת כברירת מחדל עם הערות. למידע נוסף, אפשר לקרוא את המאמר הגדרת אסימון שמקבל תגובה כרגע.

כדי לאחסן קובצי יומן במבנה שטוח כדי שכל קובצי היומן ישויכו לאותה ספרייה, צריך להגדיר את הערך conf/message-logging.properties+enable.flat.directory.structure כ-true בקובץ message-logging.properties. ההודעות מאוחסנות בספרייה שצוינה על ידי המאפיינים שלמעלה, ושמות הקבצים מופיעים בצורה של {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.

כדי להגדיר מאפיינים אלה:

  1. פותחים את הקובץ message-processor.properties בכלי עריכה. אם הקובץ לא קיים, יוצרים אותו:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. מגדירים את המאפיינים באופן הרצוי:
    conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages
  3. שומרים את השינויים.
  4. מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש מסוג 'apigee':
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. מפעילים מחדש את רכיב Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor מחדש

Edge לענן פרטי מגרסה 4.15.07 ומטה

כברירת מחדל, יומני ההודעות ממוקמים במיקום הבא במעבדי ההודעות:

/opt/apigee4/var/log/apigee/message-processor/messagelog/{org}/{environment}/{api_proxy_name}/{revision}/{logging_policy_name}/

אפשר לשנות את מיקום ברירת המחדל של היומן באמצעות שינוי המאפיינים הבאים בקובץ message-logging.properties במעבדי ההודעות:

  • data.dir - מגדיר את נתיב הבסיס לאחסון קובצי היומן. לדוגמה, data.dir=/opt/apigee4/var/log
  • log.root.dir - אם מגדירים אותה לנתיב יחסי, כמו log.root.dir=custom/folder/, הנתיב מצורף למיקום data.dir.

לדוגמה, השילוב של שני המאפיינים יגדיר את ספריית הרישום ביומן באופן הבא: /opt/apigee4/var/log/custom/folder/messagelog/ (חשוב לזכור ש- /messagelog מתווסף באופן אוטומטי).

אם מגדירים זאת לנתיב מוחלט, כמו log.root.dir=/opt/apigee4/var/log/messages, יומני ההודעות יישמרו ב-/opt/apigee4/var/log/messages/messagelog/. נתיב מוחלט ב-log.root.dir מקבל עדיפות על פני data.dir.

כדי לאחסן קובצי יומן במבנה שטוח כך שכל קובצי היומן ישויכו לאותה ספרייה, צריך להגדיר את הערך של enable.flat.directory.structure כ-true בקובץ message-logging.properties במעבדי הודעות. ההודעות מאוחסנות בספרייה שצוינה במאפיינים שלמעלה, ושמות הקבצים מופיעים בצורה של {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.

ערכי ברירת מחדל למשתנים בתבנית של הודעה

אפשר לציין ערכי ברירת מחדל לכל משתנה בתבנית ההודעה בנפרד. לדוגמה, אם לא ניתן לפענח את המשתנה request.header.id, הערך שלו יוחלף בערך unknown.

<Message>This is a test message. id = {request.header.id:unknown}</Message>

אפשר לציין ערך ברירת מחדל משותף לכל המשתנים שלא נפתרו על ידי הגדרת המאפיין defaultVariableValue ברכיב Message:

<Message defaultVariableValue="unknown">This is a test message. id = {request.header.id}</Message>

הגדרה של שירותי ניהול יומנים של צד שלישי

המדיניות של MessageLogging מאפשרת לשלוח הודעות Syslog לשירותי ניהול יומנים של צד שלישי, כמו Splunk, Sumo Logic ו-Loggly. אם רוצים לשלוח Syslog לאחד מהשירותים האלה, צריך לעיין בתיעוד של השירות כדי להגדיר את המארח, היציאה והפרוטוקול של השירות ולהגדיר את רכיב ה-Syslog במדיניות הזו בהתאם.

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

הפניה לשגיאות

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP סיבה
steps.messagelogging.StepDefinitionExecutionFailed 500 הצגת מחרוזת השגיאה.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidProtocol הפריסה של מדיניות MessageLogging יכולה להיכשל עם השגיאה הזו אם הפרוטוקול שצוין בתוך האלמנט <Protocol> לא חוקי. הפרוטוקולים החוקיים הם TCP ו-UDP. לשליחת הודעות Syslog באמצעות TLS/SSL, יש תמיכה ב-TCP בלבד.
InvalidPort הפריסה של מדיניות MessageLogging יכולה להיכשל עם השגיאה הזו אם מספר היציאה לא מצוין בתוך הרכיב <Port> או אם הוא לא חוקי. מספר היציאה חייב להיות מספר שלם וגדול מאפס.

משתני שבר

המשתנים האלה מוגדרים כשמתרחשת שגיאה בזמן הריצה. אפשר לקרוא מידע נוסף במאמר מה צריך לדעת על שגיאות מדיניות.

משתנים מיקום דוגמה
fault.name="fault_name" fault_name הוא שם התקלה, כפי שמפורט בטבלה שגיאות זמן ריצה שלמעלה. שם הטעות הוא החלק האחרון בקוד השגיאה. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. messagelogging.ML-LogMessages.failed = true

דוגמה לשגיאה

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

דוגמה לכלל שגיאה

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>


משתני זרימה

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

  • messagelogging.failed
  • messagelogging.{stepdefinition-name}.failed

נושאים קשורים