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

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

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

אפשר גם להשתמש בשתי האפשרויות. זה אומר שאפשר להעלות את נתוני הניתוח ל-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 כדי לקבל את קובצי הנתונים של Analytics.

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

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

נכס תיאור
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":

    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. אם אתם לא בטוחים מה השמות של קבוצת הניתוח, מריצים את הפקודה הבאה בצומת Management Server כדי להציג אותם:

    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. חוזרים על השלבים האלה לכל מעבדי הבקשות.