किसी फ़ाइल में आंकड़े का डेटा लिखना

डिफ़ॉल्ट रूप से, Message प्रोसेसर से इकट्ठा किया गया आंकड़ों का डेटा, Qpid और Postgres पर प्रोसेस करने के लिए अपलोड किया जाता है. इसके बाद, Edge यूज़र इंटरफ़ेस (यूआई) में आंकड़ों का डेटा देखा जा सकता है.

वैकल्पिक रूप से, डिस्क पर आंकड़ों का डेटा लिखने के लिए मैसेज प्रोसेसर को कॉन्फ़िगर किया जा सकता है. इसके बाद, उस डेटा को विश्लेषण के लिए अपने Analytics सिस्टम में अपलोड किया जा सकता है. उदाहरण के लिए, डेटा को 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 /tmp से मौजूद डायरेक्ट्री और इसमें मौजूद .gz फ़ाइल को uploadToCloud मैसेज प्रोसेसर कॉन्फ़िगरेशन प्रॉपर्टी की सेटिंग के आधार पर, इनमें से किसी एक डायरेक्ट्री में ले जाता है:

  • uploadToCloud = false: फ़ाइलें /opt/apigee/var/log/edge-message-processor/ax/staging में ले जाई गईं
  • uploadToCloud = true: (डिफ़ॉल्ट): फ़ाइलें /opt/apigee/var/log/edge-message-processor/ax/failed में ट्रांसफ़र हो जाएंगी

Analytics की डेटा फ़ाइलें पाने के लिए, /staging या /failed डायरेक्ट्री से डेटा को अनज़िप करें.

कॉन्फ़िगरेशन प्रॉपर्टी

डिस्क पर Analytics डेटा लिखने के लिए मैसेज प्रोसेसर को कॉन्फ़िगर करने के लिए नीचे दी गई प्रॉपर्टी का इस्तेमाल करें. ये सभी प्रॉपर्टी ज़रूरी नहीं हैं:

प्रॉपर्टी ब्यौरा
conf_analytics_analytics.saveToDisk

डिस्क फ़ाइलों में आंकड़ों का डेटा लिखने के लिए, मैसेज प्रोसेसर को कॉन्फ़िगर करने के लिए, true पर सेट करें.

डिफ़ॉल्ट वैल्यू false है.

conf_analytics_analytics.sendToQueue

मैसेज प्रोसेसर को कॉन्फ़िगर करने के लिए, true पर सेट करें और डेटा को Qpid/Postgres पर अपलोड करें. Qpid/Postgres के लिए Analytics डेटा को लिखने की सुविधा बंद करने के लिए false पर सेट करें.

डिफ़ॉल्ट वैल्यू true है.

conf_analytics_analytics.baseDataDirectoryPath

वह बेस पाथ बताता है जहां Analytics की डेटा फ़ाइलें लिखी जाती हैं.

डिफ़ॉल्ट वैल्यू /opt/apigee/var/log/edge-message-processor/ax. है

conf_analytics_analytics.allocatedDiskSpaceInMBytes

यह Analytics फ़ाइलों के लिए बांटे गए, मेगाबाइट में डिस्क स्पेस की जानकारी देता है.

डिफ़ॉल्ट वैल्यू 3072 है. अगर Analytics डेटा फ़ाइलों के लिए डिस्क में तय सीमा से ज़्यादा स्टोरेज का इस्तेमाल किया जाता है, तो मैसेज प्रोसेसर, आंकड़ों को सेव करना बंद कर देता है. साथ ही, अपनी लॉग फ़ाइलों में गड़बड़ी का मैसेज लिखता है.

conf_analytics_analytics.uploadToCloud

यह नीति Analytics फ़ाइलों की आखिरी जगह को कंट्रोल करती है.

  • false: फ़ाइलें /opt/apigee/var/log/edge-message-processor/ax/staging में ले जाई गईं
  • true (डिफ़ॉल्ट): फ़ाइलें /opt/apigee/var/log/edge-message-processor/ax/failed में ट्रांसफ़र हो जाएंगी

ध्यान दें: इस प्रॉपर्टी को uploadToCloud कहा जाता है, लेकिन क्लाउड पर कोई भी डेटा अपलोड नहीं किया जाता. सभी Analytics डेटा आपके इंस्टॉलेशन के लिए स्थानीय रहता है.

इन प्रॉपर्टी को सेट करने के लिए:

  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. axgroup-001 Analytics ग्रुप के लिए, consumer-type प्रॉपर्टी की वैल्यू को ax पर सेट करें:

    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

    डिफ़ॉल्ट रूप से, Analytics ग्रुप का नाम axgroup-001 होता है. Edge इंस्टॉल करने की कॉन्फ़िगरेशन फ़ाइल में, AXGROUP प्रॉपर्टी का इस्तेमाल करके Analytics ग्रुप का नाम सेट किया जा सकता है. अगर आपको Analytics ग्रुप के नाम के बारे में जानकारी नहीं है, तो उसे दिखाने के लिए मैनेजमेंट सर्वर नोड पर नीचे दिया गया कमांड चलाएं:

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

    यह निर्देश, name फ़ील्ड में Analytics ग्रुप का नाम दिखाता है.

  6. मैसेज प्रोसेसर को रीस्टार्ट करें:

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

    रीस्टार्ट होने के बाद, Message प्रोसेसर डेटा फ़ाइलों में आंकड़ों का डेटा लिखता है.

  7. सभी मैसेज प्रोसेसर के लिए यह तरीका दोहराएं.