एक से ज़्यादा ऐक्सग्रुप कॉन्फ़िगर करने पर कस्टम डाइमेंशन नहीं दिख रहे हैं

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

पर क्लिक करें.

समस्या का ब्यौरा

Statistics Collector policy का इस्तेमाल करके बनाया गया कस्टम वैरिएबल, Edge यूज़र इंटरफ़ेस (यूआई) में 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 भर जाता है. इस एपीआई के काम न करने पर, 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 का इस्तेमाल करते थे. यह देखने के लिए कि कितने Analytics ग्रुप मौजूद हैं, यह एपीआई कॉल करें:

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"

अगर यह एपीआई कई ग्रुप दिखाता है, तो हो सकता है कि इसकी वजह से समस्या आ रही हो. यहां दिए गए उदाहरण में देखें कि दो ग्रुप मौजूद हैं. इनमें सिर्फ़ हाइफ़न का अंतर है: 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 के यूयूआईडी की तुलना करके यह पता लगाया गया है कि वे एक जैसे हैं या नहीं:

{  "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 सर्वर के एक ही सेट को दो axgroups को असाइन नहीं किया जा सकता. समस्या को हल करने का सबसे तेज़ तरीका यह है कि किसी एक axgroup से postgres सर्वर की जानकारी मिटा दी जाए. साथ ही, सभी स्कोप (संगठन, एनवायरमेंट के कॉम्बिनेशन) को दूसरे ग्रुप को असाइन कर दिया जाए. इसके लिए, यह तरीका अपनाएं:

  1. ऐनलिटिक्स ग्रुप में ऐनलिटिक्स कॉम्पोनेंट जोड़ना और मिटाना में दिए गए निर्देशों का इस्तेमाल करके, दो में से किसी एक axgroup से postgres सर्वर कॉम्पोनेंट हटाएं. अगर आपको सिर्फ़ नॉन-प्रोडक्शन स्कोप से जुड़ी समस्याएं दिख रही हैं, तो उस axgroup को चुनें जिसमें इस गतिविधि के लिए कोई प्रोडक्शन स्कोप नहीं है. इसके अलावा, कम से कम स्कोप वाला axgroup चुनें.
  2. उन सभी स्कोप को axgroup से हटाएं जिनमें अब कोई पोस्टग्रेस सर्वर नहीं है. साथ ही, उन स्कोप को भी हटाएं जिनके 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. Enable analytics API का इस्तेमाल करके, Analytics चालू करें.
  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 के यूज़र इंटरफ़ेस में दिख रहे हैं या नहीं.

अगर समस्या बनी रहती है, तो गड़बड़ी की जानकारी इकट्ठा करना पर जाएं.

गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है

अगर पिछले निर्देशों का पालन करने के बाद भी समस्या बनी रहती है, तो कृपया डाइग्नोस्टिक्स से जुड़ी यह जानकारी इकट्ठा करें. इनसे संपर्क करें और इन्हें 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