כרגע מוצג התיעוד של 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.
שם השדה | תיאור השדה | |
---|---|---|
יעד הקובץ המקומי. (רק לפריסות של ענן פרטי יש תמיכה ברישום קבצים ב-Edge). במאמר מיקום של קובצי יומן ב-Edge for Private Cloud אפשר לקרוא איפה נשמרים הקבצים. |
Message |
יוצרים את ההודעה שתישלח לקובץ היומן, ומשלבים טקסט עם משתנים כדי לתעד את המידע הרצוי. להצגת טעימות. |
FileName |
השם של קובץ היומן שבו ההודעה נרשמת. | |
FileRotationOptions |
||
rotateFileOnStartup |
מאפיין. הערכים התקינים: אם המדיניות מוגדרת כ-True, קובץ היומן יעבור רוטציה בכל פעם שמנוע ההודעות יופעל מחדש. |
|
FileRotationType |
מציינת את מדיניות הרוטציה (size או
time ) של קובץ יומן. |
|
MaxFileSizeInMB |
(בעת בחירה ב-size כסוג הסבב)
ההגדרה מציינת את הגודל של קובץ יומן שגורם לשרת להעביר הודעות יומן לקובץ נפרד. אחרי שקובץ היומן יגיע לגודל שצוין, השרת ישנה את השם של
קובץ היומן הנוכחי. |
|
RotationFrequency |
(כשבוחרים את time כסוג הסבב)
ההגדרה הזאת קובעת את משך הזמן בדקות שגורם לשרת להעביר הודעות יומן לקובץ נפרד. לאחר שיחלוף המרווח שצוין, השם של קובץ היומן הנוכחי ישתנה. |
|
MaxFilesToRetain |
ההגדרה הזאת קובעת את מספר הקבצים המקסימלי לשמירה בהקשר של הגדרות הסבב. ערך ברירת המחדל הוא 8. אם מציינים אפס (0), קובצי יומן נשמרים ללא הגבלת זמן, אבל בכפוף להגדרות סבב הקבצים, למרות שאף אחד מהקבצים לא נמחק ולא משנה את השם שלהם. לכן, כדי להימנע משגיאות עתידיות של מילוי דיסק, צריך להגדיר ערך גדול מאפס או להטמיע מערכת אוטומטית רגילה של מחיקה או העברה לארכיון של קובצי יומן ישנים שנשמרו. |
|
BufferMessage |
אם סטרימינג של HTTP מופעל בשרת ה-Proxy, הודעות הבקשה/תגובה לא נשמרות במאגר נתונים זמני. כדי לתעד תוכן שדורש ניתוח של הודעת הזרימה, צריך להגדיר את BufferMessage כ-TRUE. כדי לראות דוגמה, אפשר לעיין בכרטיסייה לדוגמה 'מופעל סטרימינג'. ברירת מחדל: false |
|
יעד ל-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 |
אופציונלי, אבל כדי להשתמש ב-Loggly צריך להפעיל את הרכיב הזה מאפשר לך לשלוט בפורמט של תוכן שנוצר על ידי Apigee שמצורף מראש להודעה. אם המדיניות מוגדרת כ-True, הודעת ה-Syslog מתווספת למספר קבוע של תווים, כך שניתן לסנן את המידע הזה מהודעות. דוגמה לפורמט הקבוע:
המידע שנוצר על ידי Apigee כולל:
אם המדיניות מוגדרת כ-False (ברירת המחדל), ההודעה לא תתווסף בהתחלה בתווים הקבועים האלה. |
|
PayloadOnly |
הרכיב הזה מגדיר את הפורמט של הודעות שנוצרו על ידי Apigee כך שיכללו רק את הגוף של הודעת ה-Syslog, ללא התווים בתחילת המספר שצוינו ב-FormatMessage. אם לא כוללים את הרכיב הזה או משאירים אותו ריק, ערך ברירת המחדל הוא למידע נוסף, אפשר לקרוא את המאמר FormatMessage. |
|
DateFormat |
אפשרות. מחרוזת של תבנית עיצוב שתשמש לעיצוב חותמת הזמן עבור כל הודעת יומן.
כברירת מחדל, ב-Apigee נעשה שימוש בערך |
|
SSLInfo |
מאפשר לך לתעד הודעות באמצעות SSL/TLS. יש להשתמש עם
רכיב המשנה אם לא כוללים את הרכיב הזה או משאירים אותו ריק, ערך ברירת המחדל הוא False (לא TLS/SSL). <SSLInfo> <Enabled>true</Enabled> </SSLInfo> ניתן להגדיר את התג <SSLInfo> בדיוק כמו שמגדירים ב-TargetEndpoint, כולל הפעלה של TLS/SSL דו-כיווני, כפי שמתואר בחומר העזר בנושא הגדרת API של שרת proxy. יש תמיכה רק בפרוטוקול TCP. |
|
logLevel |
אפשרות. ערכים חוקיים: הגדרת רמה ספציפית של מידע שתיכלל ביומן ההודעות. כשמשתמשים ברכיב |
סכימות
הערות שימוש
כשמצרפים מדיניות MessageLogging לזרימה של שרת proxy של API, כדאי למקם אותה בתגובת ProxyEndpoint, בתהליך מיוחד שנקרא PostClientFlow. ה-PostClientFlow מופעל אחרי שהתגובה נשלחת ללקוח המבקש. כך אפשר להבטיח שכל המדדים זמינים לרישום ביומן. לפרטים על השימוש ב-PostClientFlow, אפשר לעיין בחומר עזר בנושא תצורה של שרת proxy ל-API.
PostClientFlow הוא מיוחד בשתי דרכים:
- היא בוצעה רק כחלק מתהליך התגובה.
- זהו התהליך היחיד שמתבצע אחרי ששרת ה-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
כך משנים את הפורמט:
- פותחים את הקובץ message-processor.properties בכלי עריכה. אם הקובץ לא קיים, יוצרים אותו:
> vi /opt/apigee/customer/application/message-processor.properties - מגדירים את המאפיינים הרצויים:
conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ - שומרים את השינויים.
- מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש מסוג 'apigee':
> chown apigee:apigee /opt/apigee/customer/application/message-processor.properties - מפעילים מחדש את מעבד ההודעות של 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}
.
כדי להגדיר מאפיינים אלה:
- פותחים את הקובץ message-processor.properties בכלי עריכה. אם הקובץ לא קיים, יוצרים אותו:
> vi /opt/apigee/customer/application/message-processor.properties - מגדירים את המאפיינים באופן הרצוי:
conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages - שומרים את השינויים.
- מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש מסוג 'apigee':
> chown apigee:apigee /opt/apigee/customer/application/message-processor.properties - מפעילים מחדש את רכיב 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 במדיניות הזו בהתאם.
למידע על הגדרת ניהול יומנים של צד שלישי, אפשר לעיין במסמכים הבאים:
- Splunk (בוחרים את גרסת המוצר)
אפשר גם לעיין בפוסט הזה של קהילת Apigee: https://community.apigee.com/content/kbentry/13298/log-messages-into-splunk.html -
Sumo
Logic
- כדאי גם לעיין בפוסט הזה של קהילת Apigee: https://community.apigee.com/Questions/5226/setting-up-logging-with-sumo-logic- which-host-shou.html
- לצפייה בדוגמה מלאה לשימוש ב-Sumo Logic כשירות הרישום ביומן, עיינו בפוסט הבא בקהילת Apigee. הפתרון משתמש במדיניות JavaScript אחת כדי לשלוח בקשות HTTP POST אל Sumo Logic HTTP Source Collector: https://community.apigee.com/articles/32286/logging-to-sumo-logic-using-javascript-and-http.html
- Loggly
כשמשתמשים ב-Loggly,<FormatMessage>true</FormatMessage>
נדרש במדיניות כצאצא של הרכיב<Syslog>
.
בנוסף, כדאי לעיין בפוסט הזה של קהילת Apigee למידע נוסף על התחברות הודעות ל-Loggly: https://community.apigee.com/content/kbentry/14798/log-messages-into-loggly.html
הפניה לשגיאות
בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.
שגיאות בזמן ריצה
השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.
קוד שגיאה | סטטוס HTTP | סיבה |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | הצגת מחרוזת השגיאה. |
שגיאות בפריסה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.
שם השגיאה | סיבה | תיקון |
---|---|---|
InvalidProtocol |
הפריסה של מדיניות MessageLogging יכולה להיכשל עם השגיאה הזו אם הפרוטוקול
שצוין בתוך האלמנט <Protocol> לא חוקי. הפרוטוקולים החוקיים הם TCP ו-UDP.
לשליחת הודעות Syslog באמצעות TLS/SSL, יש תמיכה ב-TCP בלבד. |
build |
InvalidPort |
הפריסה של מדיניות MessageLogging יכולה להיכשל עם השגיאה הזו אם מספר היציאה לא מצוין בתוך הרכיב <Port> או אם הוא לא חוקי. מספר היציאה חייב להיות מספר שלם וגדול מאפס. |
build |
משתני שבר
המשתנים האלה מוגדרים כשמתרחשת שגיאה בזמן הריצה. אפשר לקרוא מידע נוסף במאמר מה צריך לדעת על שגיאות מדיניות.
משתנים | מיקום | דוגמה |
---|---|---|
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
נושאים קשורים
- משתנים שנחשפים על ידי Edge: הפניה למשתנים