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

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

תיאור הבעיה

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

הודעות שגיאה

לא זוהו שגיאות.

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

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

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

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

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

אבחון

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

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

  <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 Key Words.

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

אין תנועה בשרת proxy ל-API שמיישמים את המדיניות 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. מחפשים את המשתנה המותאם אישית בפלט של עץ גן החיות.
  3. אם המשתנה המותאם אישית קיים בעץ של ZoneKeeper, מריצים את הפונקציה הפקודות הבאות כדי לבדוק אם המשתנה המותאם אישית התווסף ל-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 כדי לאלץ אותו לקרוא את כל המידע הרלוונטי עבור ניתוח נתונים מ-Zokeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

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

פתרון 2: מפעילים את לוח הזמנים של המאפיין

כדי להפעיל את נכס 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 שמשתמש ב-StatisticsCollector המדיניות בנושא
  7. מריצים את הקריאות ל-API.
  8. בודקים אם המשתנים המותאמים אישית מופיעים במאפיינים המותאמים אישית בקטע 'בהתאמה אישית' דיווח.

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