একাধিক axgroup কনফিগার করা থাকলে কাস্টম ডাইমেনশন দেখা যায় না

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

সমস্যার উপসর্গ

পরিসংখ্যান সংগ্রহকারী নীতি ব্যবহার করে তৈরি করা কাস্টম ভেরিয়েবল নতুন Edge UI-তে Analytics কাস্টম রিপোর্টের কাস্টম ডাইমেনশনের মধ্যে দেখা যাচ্ছে না।

ত্রুটি বার্তা

প্রতিটি সংস্থা/পরিবেশের কম্বিনেশনের জন্য রিস্টার্ট করার পরে 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//environments//properties না থাকলে, কাস্টম ডাইমেনশন তৈরি করা যাবে না। Edge Private Cloud ব্যবহারকারী

কারণ: সংস্থা ও পরিবেশের কম্বিনেশনের জন্য ZooKeeper প্রপার্টি পাথ নেই

ডায়াগনসিস

অ্যানালিটিক্স API চালু করুন বিকল্পের মাধ্যমে কোনও সংস্থা-পরিবেশের কম্বিনেশনের জন্য অ্যানালিটিক্স চালু করা হয়, যা ZooKeeper ট্রিতে /organizations//environments//properties পপুলেট করে। এই 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-সার্ভার 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 সার্ভারের তথ্য মুছে অন্য গ্রুপে সব স্কোপ (সংস্থা, এনভায়রনমেন্টের কম্বিনেশন) অ্যাসাইন করা। এটি করতে, এইসব ধাপ অনুসরণ করুন:

  1. অ্যানালিটিক্স গ্রুপে অ্যানালিটিক্স কম্পোনেন্ট যোগ করা এবং মুছে ফেলা-তে দেওয়া নির্দেশাবলী ব্যবহার করে দুটি axgroup-এর একটি থেকে postgres সার্ভার কম্পোনেন্ট সরান। আপনি যদি শুধুমাত্র নন-প্রোডাকশন স্কোপের ক্ষেত্রে সমস্যা দেখতে পান, তাহলে axgroup বেছে নিন যার এই এক্সারসাইজের জন্য কোনও প্রোডাকশন স্কোপ নেই। অন্যথায়, সবচেয়ে কম সংখ্যক স্কোপ সহ axgroup বেছে নিন।
  2. 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'
    
  3. অ্যানালিটিক্স API চালু করুন বিকল্প ব্যবহার করে অ্যানালিটিক্স চালু করুন।
  4. 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
    
  5. সমস্যার মেসেজ বিভাগে উপরে দেওয়া সমস্যাটি Postgres সার্ভারের লগ ফাইলে আর দেখা যাচ্ছে না /opt/apigee/var/log/edge-postgres-server/logs/system.log তা যাচাই করুন।
  6. কাস্টম ডাইমেনশন New Edge UI-তে দেখা যাচ্ছে কিনা তা কনফার্ম করুন।

সমস্যাটি থেকে গেলে, ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে বিকল্পে যান।

ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে

আগের নির্দেশাবলী অনুসরণ করার পরেও সমস্যা থেকে গেলে, নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন। Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করে তাদের সাথে এগুলি শেয়ার করুন:

  1. লেটেস্ট রিস্টার্টের সময় থেকে edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log।
  2. নিম্নলিখিত Management API কলের আউটপুট:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. নিম্নলিখিত কমান্ড ব্যবহার করে ZooKeeper ট্রি-এর আউটপুট পাওয়া গেছে:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt