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

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

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

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

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

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

/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

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

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