একাধিক 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 প্রপার্টি পাথে কিছু তথ্য নেই

ডায়াগনসিস

Analytics API চালু করুন বিকল্পের মাধ্যমে কোনও সংস্থা-পরিবেশের কম্বিনেশনের জন্য Analytics চালু করা হয়, যা 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

সাধারণত, কোনও সংস্থা যখন অনবোর্ড করা হয় তখন এটি ঘটে যখন একাধিক analytics গ্রুপ বিদ্যমান থাকে যা একই 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 সার্ভারের তথ্য মুছে অন্য গ্রুপে সব স্কোপ (সংস্থা, এনভায়রনমেন্টের কম্বিনেশন) অ্যাসাইন করা। এটি করতে, এইসব ধাপ অনুসরণ করুন:

  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. Edge UI-তে কাস্টম ডাইমেনশন দেখা যাচ্ছে কিনা তা কনফার্ম করুন।

সমস্যার সমাধান না হলে, অবশ্যই সংগ্রহ করতে হবে এমন ডায়াগনস্টিক তথ্য দেখুন।

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

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

  1. লেটেস্ট রিস্টার্টের সময় থেকে edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log ।
  2. নিচে উল্লেখ করা ম্যানেজমেন্ট 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