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

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

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

आंकड़े कलेक्टर नीति का इस्तेमाल करके बनाया गया कस्टम वैरिएबल, Edge यूज़र इंटरफ़ेस (यूआई) में Analytics की कस्टम रिपोर्ट में कस्टम डाइमेंशन में नहीं दिखता है.

गड़बड़ी संदेश

हर संगठन/एनवायरमेंट कॉम्बिनेशन के लिए रीस्टार्ट होने पर, Edge-postgres-सर्वर सिस्टम लॉग में यह गड़बड़ी दिखेगी, जिसमें पाथ मौजूद नहीं होगा:

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

संभावित वजहें

वजह ब्यौरा समस्या हल करने के निर्देश इनके लिए लागू होते हैं
संगठन और पर्यावरण के कॉम्बिनेशन के लिए, ज़ूकीपर प्रॉपर्टी पाथ मौजूद नहीं है. चिड़ियाघर का पाथ /organizations//environments//properties मौजूद न होने पर, कस्टम डाइमेंशन नहीं बनाए जा सकते. Edge के प्राइवेट क्लाउड उपयोगकर्ता

वजह: संगठन और एनवायरमेंट के कॉम्बिनेशन के लिए, ZoomKeeper प्रॉपर्टी पाथ मौजूद नहीं है

संक्रमण की जांच

Analytics को संगठन-एनवायरमेंट के कॉम्बिनेशन के लिए, Analytics API चालू करें की मदद से चालू किया जाता है. इससे, ज़ूकीपर ट्री में /organizations//environments//properties की जानकारी अपने-आप भर जाती है. इस एपीआई के काम न करने पर, Edge-postgres-सर्वर कॉम्पोनेंट कस्टम डाइमेंशन नहीं बना सकता. साथ ही, इसके 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

आम तौर पर ऐसा तब होता है, जब किसी संगठन को शामिल किया गया हो. यह तब हुआ, जब आंकड़ों के एक से ज़्यादा ग्रुप मौजूद थे और उन्होंने एक ही पोस्टग्रेस सर्वर यूयूआईडी का इस्तेमाल किया था. आंकड़ों के कितने ग्रुप मौजूद हैं, यह देखने के लिए यह एपीआई कॉल चलाएं:

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 के लिए कॉन्फ़िगर किया गया पोस्टgres-सर्वर यूयूआईडी एक ही हो. इसे जल्दी से तय करने का तरीका यह है कि इसे चलाएं:

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "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 को असाइन नहीं किया जा सकता. इसका समाधान करने का सबसे तेज़ तरीका है, पोस्टग्रेस सर्वर की जानकारी को एक ऐक्सग्रुप से मिटाना और दूसरे ग्रुप को सभी स्कोप (संगठन, एनवायरमेंट के कॉम्बिनेशन) असाइन करना. ऐसा करने के लिए, यह तरीका अपनाएं:

  1. Analytics ग्रुप में Analytics कॉम्पोनेंट को जोड़ना और मिटाना में दिए गए निर्देशों का इस्तेमाल करके, दो ऐक्सग्रुप में से किसी एक से पोस्टग्रेस सर्वर कॉम्पोनेंट हटाएं. अगर आपको सिर्फ़ नॉन-प्रोडक्शन स्कोप में समस्याएं आ रही हैं, तो ऐसा ऐक्सग्रुप चुनें जिसमें इस एक्सरसाइज़ के लिए प्रोडक्शन का कोई स्कोप न हो. अगर ऐसा नहीं है, तो स्कोप की कम से कम संख्या वाला ऐक्सग्रुप चुनें.
  2. उस ऐक्सग्रुप से सभी स्कोप हटा दें जिनमें अब कोई पोस्टगर सर्वर नहीं है. साथ ही, वे स्कोप जिनके लिए आपको उनके ऐक्सग्रुप में कस्टम डाइमेंशन की समस्या दिख रही है. मान लें कि ऊपर दिए गए उदाहरण में 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. Analytics एपीआई चालू करें का इस्तेमाल करके, Analytics को चालू करें.
  4. नीचे दिए गए निर्देशों का इस्तेमाल करके, Postgres मास्टर नोड और इंस्टॉल किए गए सभी Edge-qpid-सर्वर कॉम्पोनेंट को रीस्टार्ट करें:
     /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. हाल ही में रीस्टार्ट होने के समय से /opt/apigee/var/log/edge-postgres-server/logs/system.log वाला Edge-postgres-सर्वर.
  2. इस मैनेजमेंट एपीआई कॉल का आउटपुट:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. इस कमांड का इस्तेमाल करके हासिल किया गया, ज़ूKeeper ट्री का आउटपुट:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt