ফাইলে অ্যানালিটিক্স ডেটা লেখা

ডিফল্ট হিসেবে, মেসেজ প্রসেসর দ্বারা সংগৃহীত অ্যানালিটিক্স ডেটা প্রসেস করার জন্য Qpid এবং Postgres-এ আপলোড করা হয়। তারপর আপনি Edge UI-তে অ্যানালিটিক্স ডেটা দেখতে পারবেন।

এছাড়াও, আপনি ডিস্কে অ্যানালিটিক্স ডেটা লেখার জন্য মেসেজ প্রসেসর কনফিগার করতে পারেন। তারপর, আপনি বিশ্লেষণের জন্য নিজের অ্যানালিটিক্স সিস্টেমে সেই ডেটা আপলোড করতে পারবেন। যেমন, আপনি 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 ডিরেক্টরি থেকে ডেটা আনজিপ করুন।

কনফিগারেশন প্রপার্টি

ডিস্কে অ্যানালিটিক্স ডেটা লেখার জন্য মেসেজ প্রসেসর কনফিগার করতে নিম্নলিখিত প্রপার্টি ব্যবহার করুন। এইসব প্রপার্টি ঐচ্ছিক:

প্রপার্টি বিবরণ
conf_analytics_analytics.saveToDisk

ডিস্ক ফাইলে অ্যানালিটিক্স ডেটা লেখার জন্য মেসেজ প্রসেসর কনফিগার করতে true-এ সেট করুন।

ডিফল্ট ভ্যালু হল false।

conf_analytics_analytics.sendToQueue

Qpid/Postgres-এ ডেটা আপলোড করার জন্য মেসেজ প্রসেসর কনফিগার করতে true-এ সেট করুন। Qpid/Postgres-এ অ্যানালিটিক্স ডেটা লেখা বন্ধ করতে false-এ সেট করুন।

ডিফল্ট ভ্যালু হল 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. axgroup-001 অ্যানালিটিক্স গ্রুপের জন্য 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

    ডিফল্ট হিসেবে, অ্যানালিটিক্স গ্রুপের নাম হল 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. সব মেসেজ প্রসেসরের জন্য এই ধাপগুলি আবার করুন।