כתיבת נתוני ניתוח בקובץ

כברירת מחדל, נתוני ניתוח הנתונים שנאספים על ידי מעבד ההודעות מועלים ל-Qpid ול-Postgres לעיבוד. לאחר מכן אפשר להציג את ניתוח הנתונים בממשק המשתמש של Edge.

לחלופין, אפשר להגדיר את מעבד ההודעות כך שיכתוב ניתוח נתונים בדיסק. לאחר מכן תוכלו להעלות את הנתונים האלה למערכת משלכם לניתוח נתונים, לצורך ניתוח הנתונים. לדוגמה, אפשר להעלות את הנתונים ל-Google Cloud BigQuery. לאחר מכן תוכלו להשתמש ביכולות המתקדמות של השאילתות ולמידת המכונה יכולות של BigQuery ו-TensorFlow לביצוע ניתוח נתונים משלכם.

אפשר גם להשתמש בשתי האפשרויות. כלומר אפשר להעלות את הנתונים מ-Analytics אל Qpid/Postgres ושמירת הנתונים בדיסק.

שמות הקבצים והמיקום שלהם

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

/opt/apigee/var/log/edge-message-processor/ax/tmp

Edge יוצר ספרייה חדשה בקטע /tmp לקובצי הנתונים, במרווחי זמן של דקה אחת. הפורמט של שם הספרייה הוא:

org~env~yyyyMMddhhmmss

לדוגמה:

myorg~prod~20190909163500
myorg~prod~20190909163600

כל ספרייה מכילה קובץ .gz עם קובצי הנתונים הנפרדים של אותו פרק זמן. הפורמט של שם קובץ ה- .gz הוא:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

במרווחי זמן קבועים, Edge מעביר את הספרייה ואת קובץ ה- .gz שהוא מכיל מ-/tmp לאחת מהספריות הבאות, על סמך ההגדרה של uploadToCloud מאפיין תצורה של מעבד הודעות:

  • uploadToCloud = false: הקבצים הועברו אל /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (ברירת מחדל): העברת קבצים אל /opt/apigee/var/log/edge-message-processor/ax/failed

מחלצים את הנתונים מהספרייה /staging או /failed כדי לקבל בקובצי הנתונים של ניתוח הנתונים.

מאפייני ההגדרות האישיות

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

נכס תיאור
conf_analytics_analytics.saveToDisk

צריך להגדיר את הערך true כדי להגדיר את מעבד ההודעות כך שיכתוב ניתוח נתונים בקובצי הדיסק.

ערך ברירת המחדל הוא false.

conf_analytics_analytics.sendToQueue

צריך להגדיר את הערך true כדי להגדיר שמעבד ההודעות יעלה את הנתונים ל-Qpid/Postgres. צריך להגדיר את הערך false כדי להשבית את הכתיבה של נתוני ניתוח הנתונים ב-Qpid/Postgres.

ערך ברירת המחדל הוא true.

conf_analytics_analytics.baseDataDirectoryPath

מציין את הנתיב הבסיסי שבו כתובים קובצי הנתונים של ניתוח הנתונים.

ערך ברירת המחדל הוא /opt/apigee/var/log/edge-message-processor/ax.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

מציין את נפח האחסון שמוקצה לקובצי ניתוח נתונים, ביחידות של מגה-בייט.

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

conf_analytics_analytics.uploadToCloud

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

  • false: הקבצים הועברו אל /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (ברירת מחדל): העברת קבצים אל /opt/apigee/var/log/edge-message-processor/ax/failed

הערה: אף על פי שהנכס הזה נקרא uploadToCloud, אין נתונים יועלו לענן. כל ניתוח הנתונים נשאר מקומי להתקנה.

כדי להגדיר את המאפיינים האלה:

  1. פותחים את הקובץ message-processor.properties בעורך. אם הקובץ לא קיים, יוצרים אותו:

    vi /opt/apigee/customer/application/message-processor.properties
  2. מגדירים את המאפיינים שרוצים:

    # Enable writing analytics data to disk.
    conf_analytics_analytics.saveToDisk=true
    # Disable writing analytics data to Qpid/Postgres.
    conf_analytics_analytics.sendToQueue=false
    
    # Specify base directory for analytics data files.
    conf_analytics_analytics.baseDataDirectoryPath=/opt/apigee/var/smg
    
    # Set the disk space available for analytics files.
    conf_analytics_analytics.allocatedDiskSpaceInMBytes=3072
    # Move final analytics data to files to the /staging directory.
    conf_analytics_analytics.uploadToCloud=false
  3. שומרים את השינויים.
  4. צריך לוודא שקובץ המאפיינים נמצא בבעלות ה-apigee user:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. צריך להגדיר את הערך של המאפיין consumer-type כ-ax עבור קבוצת ניתוח נתונים axgroup-001:

    curl -X POST -H "Content-Type:application/json" \
    "http://ms-ip:8080/v1/analytics/groups/ax/axgroup-001/properties?propName=consumer-type&propValue=ax" \
    -u sysAdminEmail:sysAdminPWord

    כברירת מחדל, השם של קבוצת ניתוח הנתונים הוא axgroup-001. בקובץ התצורה של התקנת Edge, אפשר להגדיר את השם של קבוצת ניתוח הנתונים באמצעות הנכס AXGROUP. אם אתם לא בטוחים מה השמות של קבוצות ניתוח הנתונים, מריצים את הפקודה הבאה בשרת הניהול צומת כדי להציג אותו:

    apigee-adminapi.sh analytics groups list \
      --admin sysAdminEmail --pwd sysAdminPword --host localhost

    הפקודה הזו מחזירה את השם של קבוצת ניתוח הנתונים בשדה name.

  6. מפעילים מחדש את מעבד ההודעות:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

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

  7. חוזרים על השלבים האלה בכל מעבדי ההודעות.