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

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

תיאור הבעיה

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

הודעות שגיאה

לא נצפו שגיאות.

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

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

סיבה עבור
המשתנה המותאם אישית לא עומד בהנחיות התקן משתמשים ב-Edge Private Cloud וב-Edge Public Cloud
אין תעבורה ב-API Proxy שמטמיע את המדיניות StatisticsCollector משתמשים ב-Edge Private Cloud וב-Edge Public Cloud
המשתנה המותאם אישית לא נדחף לשרת Postgres משתמשים ב-Edge Private Cloud

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

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

אבחון

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

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

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

רזולוציה

שמות של משתנים מותאמים אישית שמשמשים במדיניות StatisticsCollector בתוך שרת ה-API proxy צריכים לעמוד בהנחיות הבאות:

  • השמות יכולים לכלול [a-z][0-9] ו-'_'.
  • השמות לא יכולים לכלול רווחים. לדוגמה, בקוד לדוגמה שמוצג למעלה, שם המשתנה צריך להיות product_id.
  • אין חשיבות לאותיות רישיות או קטנות.
  • אסור להשתמש במילות מפתח שמורות שמפורטות בטבלה בקישור הבא. לדוגמה, אי אפשר להשתמש במילה user. מידע נוסף זמין במאמר בנושא מילות מפתח ב-SQL.

אם הבעיה נמשכת, צריך לעבור אל אין תנועה ב-API Proxy שמטמיע את מדיניות StatisticsCollector.

אין תנועה ב-API Proxy שמטמיע את מדיניות StatisticsCollector

אבחון

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

רזולוציה

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

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

אם הבעיה נמשכת, צריך לעבור אל המשתנה המותאם אישית לא נדחף לשרת Postgres.

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

אבחון

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

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

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

  1. מריצים את הפקודה הבאה כדי ליצור את עץ ZooKeeper:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. מחפשים את המשתנה המותאם אישית בפלט של עץ ZooKeeper.
  3. אם המשתנה המותאם אישית קיים בעץ ZooKeeper, מריצים את הפקודות הבאות כדי לבדוק אם המשתנה המותאם אישית נוסף למסד הנתונים של 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 מ-Zookeeper:
    /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. מבטלים את הפריסה של ה-API Proxy שמשתמש במדיניות StatisticsCollector ופורסים אותו מחדש.
  7. מריצים את הקריאות ל-API.
  8. בודקים אם המשתנים המותאמים אישית מופיעים במאפיינים המותאמים אישית בדוח בהתאמה אישית.

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