אתם צופים במסמכי התיעוד של Apigee Edge.
למעבר אל
מסמכי התיעוד של Apigee X info
תיאור הבעיה
המשתנה המותאם אישית שנוצר באמצעות המדיניות StatisticsCollector לא מופיע בקטע Custom Dimensions (מאפיינים מותאמים אישית) בדוחות בהתאמה אישית של Analytics בממשק המשתמש החדש של Edge.
הודעות שגיאה
לא נמצאו שגיאות.
גורמים אפשריים
בטבלה הבאה מפורטות הסיבות האפשריות לבעיה הזו:
| סיבה | עבור |
|---|---|
| משתנה מותאם אישית שלא תואם להנחיות הסטנדרטיות | משתמשי Edge Private Cloud ו-Edge Public Cloud |
| אין תנועה ב-proxy ל-API שמטמיע את המדיניות StatisticsCollector | משתמשי Edge Private Cloud ו-Edge Public Cloud |
| המשתנה המותאם אישית לא נדחף לשרת Postgres | משתמשי Edge Private Cloud |
כדי לראות פתרונות אפשריים לסיבה מסוימת, לוחצים על הקישור בטבלה.
המשתנה המותאם אישית לא עומד בהנחיות הרגילות
אבחון
אם שם המשתנה המותאם אישית שמוגדר במדיניות StatisticsCollector לא תואם להנחיות הרגילות (ראו פתרון), הוא לא יופיע בדוחות בהתאמה אישית.
בקטע הקוד הבא, בשם המשתנה "מזהה מוצר" יש רווח, ולכן הוא לא יופיע במאפיין המותאם אישית בדוח בהתאמה אישית.
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
רזולוציה
שמות של משתנים בהתאמה אישית שמשמשים במדיניות StatisticsCollector בתוך שרת ה-proxy של ה-API צריכים לעמוד בהנחיות הבאות:
- השמות יכולים לכלול את התווים [a-z], [0-9] ו-'_'.
- השמות לא יכולים לכלול רווחים. לדוגמה, בקוד לדוגמה שמוצג למעלה, צריך לשנות את שם המשתנה ל-product_id.
- אין חשיבות לאותיות רישיות או קטנות.
- אסור להשתמש במילות מפתח שמורות שמפורטות בטבלה בקישור הבא. לדוגמה, אי אפשר להשתמש במילה user. מידע נוסף זמין במאמר מילות מפתח ב-SQL.
אם הבעיה נמשכת, צריך לעבור אל אין תעבורת נתונים ב-proxy ל-API שמטמיע את מדיניות StatisticsCollector.
אין תנועה ב-proxy ל-API שמטמיע את מדיניות StatisticsCollector
אבחון
אם אין תנועה ב-proxy ל-API שמטמיע את המדיניות StatisticsCollector, המשתנה המותאם אישית לא יופיע בדוחות בהתאמה אישית.
רזולוציה
שולחים כמה קריאות ל-proxy ל-API שמטמיע את מדיניות StatisticsCollector.
מחכים זמן מה ובודקים אם המשתנים המותאמים אישית מופיעים במאפיינים המותאמים אישית בדוח בהתאמה אישית.
אם הבעיה נמשכת, עוברים לקטע המשתנה המותאם אישית לא נשלח לשרת Postgres.
המשתנה המותאם אישית לא נשלח לשרת Postgres
אבחון
כשיוצרים משתנה מותאם אישית ב-proxy ל-API ומבצעים קריאות ל-API, המשתנה נשמר קודם בזיכרון של מעבד הבקשות. לאחר מכן, מעבד הבקשות שולח את המידע על המשתנה החדש ל-ZooKeeper, ששולח אותו לשרת Postgres כדי להוסיף אותו כעמודה במסד הנתונים של Postgres.
לפעמים, יכול להיות שההתראה מ-ZooKeeper לא תגיע לשרת Postgres בגלל בעיות ברשת. בגלל השגיאה הזו, יכול להיות שהמשתנה המותאם אישית לא יופיע בדוח המותאם אישית.
כדי לזהות איפה המשתנה המותאם אישית חסר:
- מריצים את הפקודה הבאה כדי ליצור את עץ ZooKeeper:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- מחפשים את המשתנה המותאם אישית בפלט של עץ ZooKeeper.
- אם המשתנה המותאם אישית קיים בעץ ZooKeeper, מריצים את הפקודות הבאות כדי לבדוק אם המשתנה המותאם אישית נוסף למסד הנתונים של Postgres:
- בצומת Postgres, מתחברים ל-PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- מריצים את שאילתת ה-SQL הבאה:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- בצומת Postgres, מתחברים ל-PostgreSQL:
- סביר מאוד להניח שתראו שעמודת המשתנה המותאם אישית חסרה בטבלת העובדות, וזו הסיבה שהיא לא מופיעה במאפיינים המותאמים אישית.
רזולוציה
פתרון מס' 1: הפעלה מחדש של שרת Postgres
- מפעילים מחדש את שרת Postgres כדי לאלץ אותו לקרוא את כל המידע שרלוונטי ל-Analytics מ-Zookeeper:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
אם הבעיה נמשכת, נסו את פתרון מס' 2.
פתרון מס' 2: הפעלת המאפיין forceonboard
כדי להפעיל את המאפיין forceonboard:
- יוצרים קובץ
/opt/apigee/customer/application/postgres-server.propertiesבמכונת השרת של Postgres, אם הוא עדיין לא קיים. - מוסיפים את השורה הבאה לקובץ:
conf_pg-agent_forceonboard=true
- כדי לוודא שהקובץ הזה נמצא בבעלות של Apigee, משתמשים בפקודה הבאה:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- מפעילים מחדש את שרת Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- אם יש לכם יותר משרת Postgres אחד, חזרו על השלבים שלמעלה בכל שרתי Postgres.
- מבטלים את הפריסה של ה-proxy ל-API שמשתמש במדיניות StatisticsCollector, ופורסים אותו מחדש.
- מריצים את הקריאות ל-API.
- בודקים אם המשתנים המותאמים אישית מופיעים במאפיינים המותאמים אישית בדוח בהתאמה אישית.
אם הבעיה נמשכת, פנו לתמיכה של Apigee Edge.