আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
লক্ষণ
Statistics Collector পলিসি ব্যবহার করে তৈরি করা কাস্টম ভেরিয়েবলটি Edge UI-এর Analytics Custom Reports-এর Custom Dimensions-এর অধীনে দেখা যাচ্ছে না।
ত্রুটি বার্তা
যেসব অর্গানাইজেশন/এনভায়রনমেন্ট কম্বিনেশনে পাথটি অনুপস্থিত থাকবে, সেগুলোর প্রতিটির ক্ষেত্রে রিস্টার্ট করার পর edge-postgres-server সিস্টেম লগে নিম্নলিখিত এররটি দেখা যাবে:
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
সম্ভাব্য কারণসমূহ
| কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য |
|---|---|---|
| সংস্থা এবং পরিবেশের সংমিশ্রণের জন্য Zookeeper প্রোপার্টিজ পাথটি অনুপস্থিত। | যখন ZooKeeper পথ /organizations/ অনুপস্থিত থাকায় কাস্টম ডাইমেনশন তৈরি করা যাচ্ছে না। | এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা |
কারণ: সংস্থা এবং পরিবেশের সংমিশ্রণের জন্য ZooKeeper প্রোপার্টিজ পাথ অনুপস্থিত।
রোগ নির্ণয়
‘Enable analytics API’-এর মাধ্যমে একটি সংস্থা-পরিবেশ সমন্বয়ের জন্য অ্যানালিটিক্স সক্রিয় করা হয়, যা /organizations/ ফোল্ডারটিকে ডেটা দিয়ে পূর্ণ করে। /organizations/ ZooKeeper ট্রি-তে /organizations/ । যখন এই API ব্যর্থ হয়, তখন edge-postgres-server কম্পোনেন্টটি কাস্টম ডাইমেনশন তৈরি করতে পারে না এবং এর system.log-এ নিম্নলিখিত ত্রুটিটি দেখা যাবে:
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
সাধারণত এমনটা ঘটে যখন কোনো সংস্থাকে এমন সময়ে অনবোর্ড করা হয়, যখন একই postgres-server UUID ব্যবহারকারী একাধিক অ্যানালিটিক্স গ্রুপ বিদ্যমান থাকে। কতগুলো অ্যানালিটিক্স গ্রুপ আছে তা পরীক্ষা করতে, নিম্নলিখিত API কলটি চালান:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
যদি এই API একাধিক গ্রুপ রিটার্ন করে, তাহলে সম্ভবত এটিই সমস্যার কারণ। নিচের উদাহরণে লক্ষ্য করুন, এখানে দুটি গ্রুপ রয়েছে, যেগুলোকে শুধু একটি হাইফেন দিয়ে আলাদা করা হয়েছে: axgroup-001 এবং axgroup001।
[ {
"name" : "axgroup-001",
"properties" : {
},
"scopes" : [ "VALIDATE~test" ],
"uuids" : {
"qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]
},
"consumer-groups" : [ {
"name" : "consumer-group-001",
"consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
"properties" : {
}
} ],
"data-processors" : {
}
}, {
"name" : "axgroup001",
"properties" : {
},
"scopes" : [ "example~prod" ],
"uuids" : {
"qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]
},
"consumer-groups" : [ {
"name" : "consumer-group-001",
"consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
"properties" : {
}
} ],
"data-processors" : {
}বিশেষত, সমস্যাটি দেখা দেয় যদি প্রতিটি axgroup-এর জন্য কনফিগার করা postgres-server UUID একই হয়। এটি দ্রুত নির্ধারণ করার একটি উপায় হলো নিম্নলিখিত কমান্ডটি চালানো:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
নিম্নলিখিত নমুনা আউটপুটটি postgres-server UUID-গুলো একই কিনা তা দ্রুত তুলনা করে নির্ধারণ করে:
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ],
"uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]--
"name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ],
"uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],সমাধান
একই PostgreSQL সার্ভার সেট দুটি axgroup- এ বরাদ্দ করা যায় না। এর দ্রুততম সমাধান হলো একটি axgroup থেকে postgres সার্ভারের তথ্য মুছে ফেলা এবং সমস্ত স্কোপ (অর্গানাইজেশন, এনভায়রনমেন্ট কম্বিনেশন) অন্য গ্রুপে বরাদ্দ করা। এটি করতে, এই ধাপগুলো অনুসরণ করুন:
- "Adding and deleting analytics components in analytics groups" -এর নির্দেশাবলী অনুসরণ করে দুটি axgroup-এর মধ্যে যেকোনো একটি থেকে postgres সার্ভার কম্পোনেন্টগুলো সরিয়ে ফেলুন। যদি আপনি শুধুমাত্র নন-প্রোডাকশন স্কোপ নিয়ে সমস্যা দেখতে পান, তাহলে এই অনুশীলনের জন্য সেই axgroup-টি বেছে নিন যেটিতে কোনো প্রোডাকশন স্কোপ নেই। অন্যথায়, সবচেয়ে কম সংখ্যক স্কোপযুক্ত axgroup-টি বেছে নিন।
- যে axgroup-টিতে আর কোনো postgres সার্ভার নেই, এবং যেগুলোর ক্ষেত্রে আপনি কাস্টম ডাইমেনশন সমস্যাটি দেখতে পাচ্ছেন, সেই axgroup থেকে সমস্ত স্কোপ সরিয়ে ফেলুন। উপরের উদাহরণ থেকে
axgroup-001কে যদি আপনি ব্যবহার করতে চান, তাহলে myorg অর্গানাইজেশন এবং prod এনভায়রনমেন্টের জন্য স্কোপটি সরাতে আপনাকে নিম্নলিখিতটি ব্যবহার করতে হবে:curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- অ্যানালিটিক্স এপিআই (API) ব্যবহার করে অ্যানালিটিক্স সক্রিয় করুন।
- নিম্নলিখিত কমান্ডগুলি ব্যবহার করে postgres মাস্টার নোডে edge-postgres-server কম্পোনেন্ট এবং আপনার ইনস্টল করা সমস্ত edge-qpid-server কম্পোনেন্ট পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- যাচাই করুন যে উপরের 'ত্রুটির বার্তা' বিভাগে প্রদত্ত ত্রুটিটি Postgres সার্ভারের লগ ফাইল
/opt/apigee/var/log/edge-postgres-server/logs/system.logএ আর দেখা যাচ্ছে না। - কাস্টম ডাইমেনশনগুলো Edge UI-তে দেখা যাচ্ছে কিনা তা নিশ্চিত করুন।
যদি সমস্যাটি অব্যাহত থাকে, তাহলে অবশ্যই ডায়াগনস্টিক তথ্য সংগ্রহ করুন -এ যান।
রোগ নির্ণয়ের তথ্য অবশ্যই সংগ্রহ করতে হবে
পূর্ববর্তী নির্দেশাবলী অনুসরণ করার পরেও যদি সমস্যাটি থেকে যায়, তাহলে অনুগ্রহ করে নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন। Apigee Edge Support-এর সাথে যোগাযোগ করুন এবং সেগুলি তাদের সাথে শেয়ার করুন:
- সর্বশেষ রিস্টার্টের সময়কার edge-postgres-server-এর
/opt/apigee/var/log/edge-postgres-server/logs/system.logফাইলটি। - নিম্নলিখিত ম্যানেজমেন্ট এপিআই কলটির আউটপুট:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- নিম্নলিখিত কমান্ড ব্যবহার করে ZooKeeper ট্রি-এর আউটপুট পাওয়া গেছে:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt