משתנה מותאם אישית לא גלוי בדוחות בהתאמה אישית של ניתוח נתונים

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

תיאור הבעיה

המשתנה המותאם אישית שנוצר באמצעות המדיניות StatussCollector אינו מוצג בקטע Custom Dimensions (מאפיינים מותאמים אישית) בדוחות המותאמים אישית של Analytics בממשק המשתמש של Edge.

הודעות שגיאה

אין שגיאות.

גורמים אפשריים

הטבלה הבאה מפרטת סיבות אפשריות לבעיה הזו:

סיבה עבור
המשתנה המותאם אישית לא תואם להנחיות הרגילות משתמשי Edge פרטיים וציבוריים בענן
אין תנועה בשרת proxy ל-API שמטמיע את המדיניות StatStatsCollector משתמשי Edge פרטיים וציבוריים בענן
משתנה מותאם אישית לא נדחף לשרת Postgres משתמשי ענן פרטי של Edge

ניתן ללחוץ על קישור בטבלה כדי לראות פתרונות אפשריים לבעיה.

המשתנה המותאם אישית לא תואם להנחיות הרגילות

אבחון

אם השם של המשתנה המותאם אישית שמוצג במדיניות StatisticsCollector לא עומד בהנחיות הסטנדרטיות (ראו פתרון), הוא לא יופיע בדוחות בהתאמה אישית.

קטע הקוד הבא מראה שבשם המשתנה "product id" יש רווח, ולכן הוא לא יופיע במאפיין המותאם אישית בדוח המותאם אישית.

  <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".
  • המערכת מתעלמת מהפנייה.
  • מילות מפתח שמורות שרשומות בטבלה שבקישור הבא אינן מותרות. לדוגמה, אסור להשתמש בניסוח 'משתמש'. אפשר לקרוא מידע נוסף במאמר בנושא SQL Key Words.

אם הבעיה נמשכת, ממשיכים לשלב אין תנועה בשרת proxy ל-API שבו מוטמע המדיניות StatStatsCollector.

אין תנועה בשרת proxy ל-API המיישם את המדיניות StatisticsCollector

אבחון

אם אין תנועה בשרת ה-proxy של ה-API שמטמיעה את המדיניות StatisticsCollector, המשתנה המותאם אישית לא יופיע בדוחות המותאמים אישית.

רזולוציה

מבצעים כמה קריאות לשרת ה-proxy של ה-API שמטמיע את המדיניות של StatStatsCollector.

המתינו זמן מה ובודקים אם המשתנים המותאמים אישית מופיעים במאפיינים המותאמים אישית בדוח המותאם אישית.

אם הבעיה נמשכת, ממשיכים למשתנה מותאם אישית שלא נדחף ל-Postgres Server.

המשתנה המותאם אישית לא נדחף לשרת Postgres

אבחון

כשנוצרים משתנה מותאם אישית בשרת ה-API ובקריאות ל-API, המשתנה נשמר קודם בזיכרון במעבד ההודעות. לאחר מכן, השירות Message Processor שולח את המידע על המשתנה החדש ל-ZooKeeper, ושולח אותו לשרת Postgres כדי להוסיף אותו כעמודה במסד הנתונים של Postgres.

לפעמים, ההתראה מ-ZooKeeper לא מגיעה לשרת Postgres עקב בעיות ברשת. בגלל השגיאה הזו, יכול להיות שהמשתנה המותאם אישית לא יופיע בדוח בהתאמה אישית.

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

  1. יוצרים את עץ תצוגות (ZoKeeper) באמצעות הפקודה הבאה:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. מחפשים את המשתנה המותאם אישית בפלט העץ שלzoKeeper.
  3. אם המשתנה המותאם אישית קיים בעץ שלzoKeeper, מריצים את הפקודות הבאות כדי לבדוק אם המשתנה המותאם אישית התווסף למסד הנתונים של Postgres:
    1. בצומת Postgres, מתחברים ל-PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. מריצים את שאילתת ה-SQL הבאה:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. סביר מאוד להניח שהעמודה של המשתנים המותאמים אישית לא תופיע בטבלת העובדות, וזו הסיבה לכך שהיא לא מופיעה בטבלה 'מאפיינים מותאמים אישית'.

רזולוציה

פתרון מס' 1: הפעלה מחדש של שרת Postgres

  1. מפעילים מחדש את שרת Postgres כדי לאלץ אותו לקרוא את כל המידע הרלוונטי ל-Analytics מ-zokeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    אם הבעיה נמשכת, מחילים את פתרון 2.

פתרון מס' 2: הפעלת forceonboard של המאפיין

מפעילים את המאפיין forceonboard לפי השלבים הבאים:

  1. יוצרים קובץ /opt/apigee/customer/application/postgres-server.properties במחשב של שרת Postgres, אם הוא עדיין לא קיים.
  2. מוסיפים את השורה הבאה לקובץ הזה:
    conf_pg-agent_forceonboard=true
  3. מוודאים שהקובץ הזה הוא בבעלות Apigee באמצעות הפקודה הבאה:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. מפעילים מחדש את שרת Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. אם יש לך יותר משרת Postgres, יש לחזור על השלבים שלמעלה בכל שרתי Postgres.
  6. מבטלים את הפריסה ופורסים את שרת ה-proxy של API שמשתמש במדיניות StatStatsCollector.
  7. מריצים את הקריאות ל-API.
  8. כדאי לבדוק אם המשתנים המותאמים אישית מופיעים במאפיינים המותאמים אישית בדוח בהתאמה אישית.

אם הבעיה נמשכת, יש לפנות לתמיכה של Apigee Edge.