আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
লক্ষণ
StatisticsCollector পলিসি ব্যবহার করে তৈরি করা কাস্টম ভেরিয়েবলটি Edge UI-এর Analytics Custom Reports-এর Custom Dimensions-এর অধীনে দেখা যাচ্ছে না।
ত্রুটির বার্তা
কোনো ত্রুটি পরিলক্ষিত হয়নি।
সম্ভাব্য কারণসমূহ
নিম্নলিখিত সারণিতে এই সমস্যার সম্ভাব্য কারণগুলো তালিকাভুক্ত করা হলো:
| কারণ | জন্য |
|---|---|
| কাস্টম ভেরিয়েবল আদর্শ নির্দেশিকা মেনে চলছে না | এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীরা |
| StatisticsCollector পলিসি বাস্তবায়নকারী API প্রক্সিতে কোনো ট্র্যাফিক নেই | এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীরা |
| কাস্টম ভেরিয়েবল পোস্টগ্রেস সার্ভারে পুশ করা হয়নি | এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সেই কারণটির সম্ভাব্য সমাধানগুলো দেখতে সারণির একটি লিঙ্কে ক্লিক করুন।
কাস্টম ভেরিয়েবল আদর্শ নির্দেশিকা মেনে চলছে না
রোগ নির্ণয়
StatisticsCollector পলিসিতে ব্যবহৃত কাস্টম ভেরিয়েবলের নামটি যদি স্ট্যান্ডার্ড নির্দেশিকা মেনে না চলে (দেখুন সমাধান ), তাহলে এটি কাস্টম রিপোর্টগুলিতে প্রদর্শিত হবে না।
নিচের কোড স্নিপেটটি দেখাচ্ছে যে, 'product id' ভেরিয়েবল নামে একটি স্পেস থাকায় এটি কাস্টম রিপোর্টের কাস্টম ডাইমেনশনের অধীনে প্রদর্শিত হবে না।
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
সমাধান
এপিআই প্রক্সির মধ্যে StatisticsCollector পলিসিতে ব্যবহৃত কাস্টম ভেরিয়েবলের নামগুলো নিম্নলিখিত নির্দেশিকাগুলো মেনে চলবে:
- নামে [az][0-9] এবং '_' অন্তর্ভুক্ত থাকতে পারে।
- নামে স্পেস থাকতে পারবে না। উদাহরণস্বরূপ, উপরে দেখানো কোড স্যাম্পলে, ভেরিয়েবলের নামটি পরিবর্তন করে "product_id" করতে হবে।
- মামলাটি উপেক্ষা করা হয়েছে।
- নিম্নলিখিত লিঙ্কে দেওয়া সারণিতে তালিকাভুক্ত সংরক্ষিত কীওয়ার্ডগুলি অনুমোদিত নয়। উদাহরণস্বরূপ, "user" অনুমোদিত নয়। আরও তথ্যের জন্য, SQL Key Words দেখুন।
যদি সমস্যাটি অব্যাহত থাকে, তাহলে StatisticsCollector পলিসি বাস্তবায়নকারী API প্রক্সিতে No traffic অপশনটি অনুসরণ করুন।
StatisticsCollector পলিসি বাস্তবায়নকারী API প্রক্সিতে কোনো ট্র্যাফিক নেই
রোগ নির্ণয়
যে এপিআই প্রক্সিটি StatisticsCollector পলিসি প্রয়োগ করে, তাতে যদি কোনো ট্র্যাফিক না থাকে, তাহলে কাস্টম ভেরিয়েবলটি কাস্টম রিপোর্টগুলিতে প্রদর্শিত হবে না।
সমাধান
StatisticsCollector পলিসিটি বাস্তবায়নকারী এপিআই প্রক্সিতে কয়েকটি কল করুন।
কিছুক্ষণ অপেক্ষা করুন এবং কাস্টম রিপোর্টের কাস্টম ডাইমেনশনগুলিতে কাস্টম ভেরিয়েবল(গুলি) দেখা যাচ্ছে কিনা তা পরীক্ষা করুন।
যদি সমস্যাটি অব্যাহত থাকে, তাহলে ‘Custom Variable not pushed to Postgres Server’ অংশে যান।
কাস্টম ভেরিয়েবল পোস্টগ্রেস সার্ভারে পুশ করা হয়নি
রোগ নির্ণয়
যখন এপিআই প্রক্সিতে একটি কাস্টম ভেরিয়েবল তৈরি করা হয় এবং এপিআই কল করা হয়, তখন ভেরিয়েবলটি প্রথমে মেসেজ প্রসেসরের মেমরিতে সংরক্ষিত হয়। এরপর মেসেজ প্রসেসর নতুন ভেরিয়েবলটির তথ্য ZooKeeper-এর কাছে পাঠায়, যা আবার সেটিকে পোস্টগ্রেস সার্ভারে পাঠিয়ে দেয় পোস্টগ্রেস ডেটাবেসে একটি কলাম হিসেবে যুক্ত করার জন্য।
কখনও কখনও নেটওয়ার্ক সমস্যার কারণে ZooKeeper থেকে আসা নোটিফিকেশন Postgres সার্ভারে পৌঁছাতে পারে না। এই ত্রুটির কারণে কাস্টম ভেরিয়েবলটি কাস্টম রিপোর্টে প্রদর্শিত নাও হতে পারে।
কাস্টম ভেরিয়েবলটি কোথায় অনুপস্থিত তা শনাক্ত করতে:
- নিম্নলিখিত কমান্ড ব্যবহার করে ZooKeeper ট্রি তৈরি করুন:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- ZooKeeper ট্রি আউটপুটে কাস্টম ভেরিয়েবলটি অনুসন্ধান করুন।
- যদি কাস্টম ভেরিয়েবলটি ZooKeeper ট্রি-তে বিদ্যমান থাকে, তাহলে কাস্টম ভেরিয়েবলটি Postgres ডেটাবেসে যুক্ত হয়েছে কিনা তা পরীক্ষা করতে নিম্নলিখিত কমান্ডগুলি চালান:
- Postgres নোডে, PostgreSQL-এ লগ ইন করুন:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- নিম্নলিখিত SQL কোয়েরিটি চালান:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- Postgres নোডে, PostgreSQL-এ লগ ইন করুন:
- খুব সম্ভবত আপনি দেখবেন যে ফ্যাক্ট টেবিলে কাস্টম ভেরিয়েবল কলামটি অনুপস্থিত থাকবে, যে কারণে এটি কাস্টম ডাইমেনশনগুলিতে প্রদর্শিত হবে না।
সমাধান
সমাধান #১: পোস্টগ্রেস সার্ভার পুনরায় চালু করুন
- Zookeeper থেকে অ্যানালিটিক্স-সম্পর্কিত সমস্ত তথ্য পড়তে Postgres সার্ভারটি পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
যদি সমস্যাটি অব্যাহত থাকে, তাহলে সমাধান নং ২ প্রয়োগ করুন।
সমাধান #২: `forceonboard` প্রপার্টিটি সক্রিয় করুন।
নিচের ধাপগুলো অনুসরণ করে forceonboard প্রপার্টিটি সক্রিয় করুন:
- পোস্টগ্রেস সার্ভার মেশিনে
/opt/apigee/customer/application/postgres-server.propertiesফাইলটি তৈরি করুন, যদি এটি আগে থেকে বিদ্যমান না থাকে। - এই ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:
conf_pg-agent_forceonboard=true
- নিম্নলিখিত কমান্ডটি ব্যবহার করে নিশ্চিত করুন যে এই ফাইলটির মালিকানা Apigee-এর।
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- পোস্টগ্রেস সার্ভারটি পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- আপনার যদি একাধিক পোস্টগ্রেস সার্ভার থাকে, তাহলে সমস্ত পোস্টগ্রেস সার্ভারে উপরের ধাপগুলো পুনরাবৃত্তি করুন।
- আপনার যে এপিআই প্রক্সিটি StatisticsCollector পলিসি ব্যবহার করে, সেটিকে আনডিপ্লয় এবং ডিপ্লয় করুন।
- এপিআই কলগুলো চালান।
- কাস্টম রিপোর্টের কাস্টম ডাইমেনশনগুলিতে কাস্টম ভেরিয়েবলগুলি দেখা যাচ্ছে কিনা তা পরীক্ষা করুন।
যদি সমস্যাটি অব্যাহত থাকে, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।