आपको Apigee Edge से जुड़ा दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. info
समस्या का ब्यौरा
StatisticsCollector नीति का इस्तेमाल करके बनाया गया कस्टम वैरिएबल, New Edge यूज़र इंटरफ़ेस (यूआई) में Analytics की कस्टम रिपोर्ट में कस्टम डाइमेंशन के तौर पर नहीं दिखता.
गड़बड़ी के मैसेज
कोई गड़बड़ी नहीं मिली.
संभावित कारण
इस टेबल में, इस समस्या की संभावित वजहें दी गई हैं:
| वजह | इसके लिए: |
|---|---|
| कस्टम वैरिएबल, स्टैंडर्ड दिशा-निर्देशों का पालन नहीं कर रहा है | Edge Private और Public Cloud के उपयोगकर्ता |
| StatisticsCollector नीति लागू करने वाले एपीआई प्रॉक्सी पर कोई ट्रैफ़िक नहीं है | Edge Private और Public Cloud के उपयोगकर्ता |
| कस्टम वैरिएबल को Postgres सर्वर पर पुश नहीं किया गया | Edge Private Cloud के उपयोगकर्ता |
समस्या की वजह के संभावित समाधान देखने के लिए, टेबल में मौजूद किसी लिंक पर क्लिक करें.
कस्टम वैरिएबल, स्टैंडर्ड दिशा-निर्देशों का पालन नहीं कर रहा है
संक्रमण की जांच
अगर StatisticsCollector नीति में इस्तेमाल किया गया कस्टम वैरिएबल का नाम, स्टैंडर्ड दिशा-निर्देशों का पालन नहीं करता है ( समस्या हल करना देखें), तो यह कस्टम रिपोर्ट में नहीं दिखेगा.
नीचे दिए गए कोड स्निपेट से पता चलता है कि वैरिएबल के नाम "product id" में स्पेस है. इसलिए, यह कस्टम रिपोर्ट में कस्टम डाइमेंशन के तौर पर नहीं दिखेगा.
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
रिज़ॉल्यूशन
एपीआई प्रॉक्सी में StatisticsCollector नीति में इस्तेमाल किए गए कस्टम वैरिएबल के नाम, इन दिशा-निर्देशों के मुताबिक होने चाहिए:
- नामों में [a-z][0-9] और '_' शामिल हो सकते हैं.
- नामों में स्पेस नहीं होना चाहिए. उदाहरण के लिए, ऊपर दिखाए गए कोड सैंपल में, वैरिएबल का नाम बदलकर "product_id" किया जाना चाहिए.
- केस को अनदेखा किया जाता है.
- यहां दिए गए लिंक पर मौजूद टेबल में दिए गए रिज़र्व कीवर्ड इस्तेमाल करने की अनुमति नहीं है. उदाहरण के लिए, "user" की अनुमति नहीं है. ज़्यादा जानकारी के लिए, SQL कीवर्ड देखें.
अगर समस्या बनी रहती है, तो StatisticsCollector नीति लागू करने वाले एपीआई प्रॉक्सी पर कोई ट्रैफ़िक नहीं है पर जाएं.
StatisticsCollector नीति लागू करने वाले एपीआई प्रॉक्सी पर कोई ट्रैफ़िक नहीं है
संक्रमण की जांच
अगर StatisticsCollector नीति को लागू करने वाले एपीआई प्रॉक्सी पर कोई ट्रैफ़िक नहीं है, तो कस्टम वैरिएबल, कस्टम रिपोर्ट में नहीं दिखेगा.
रिज़ॉल्यूशन
StatisticsCollector नीति लागू करने वाले एपीआई प्रॉक्सी को कुछ कॉल करें.
कुछ समय इंतज़ार करें. इसके बाद, देखें कि कस्टम रिपोर्ट में कस्टम डाइमेंशन में कस्टम वैरिएबल दिख रहे हैं या नहीं.
अगर समस्या बनी रहती है, तो कस्टम वैरिएबल को Postgres सर्वर पर पुश नहीं किया गया पर जाएं.
कस्टम वैरिएबल को Postgres सर्वर पर पुश नहीं किया गया
संक्रमण की जांच
जब एपीआई प्रॉक्सी में कोई कस्टम वैरिएबल बनाया जाता है और एपीआई कॉल किए जाते हैं, तो वैरिएबल सबसे पहले मैसेज प्रोसेसर की मेमोरी में सेव होता है. इसके बाद, Message Processor, नए वैरिएबल की जानकारी ZooKeeper को भेजता है. ZooKeeper, इस जानकारी को Postgres सर्वर को भेजता है, ताकि इसे Postgres डेटाबेस में कॉलम के तौर पर जोड़ा जा सके.
कभी-कभी, नेटवर्क की समस्याओं की वजह से, ZooKeeper से मिलने वाली सूचना Postgres सर्वर तक नहीं पहुंच पाती. इस गड़बड़ी की वजह से, हो सकता है कि कस्टम वैरिएबल, कस्टम रिपोर्ट में न दिखे.
कस्टम वैरिएबल कहां मौजूद नहीं है, यह पता लगाने के लिए:
- इस कमांड का इस्तेमाल करके, ZooKeeper ट्री जनरेट करें:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- ZooKeeper ट्री आउटपुट में कस्टम वैरिएबल खोजें.
- अगर कस्टम वैरिएबल, ZooKeeper ट्री में मौजूद है, तो यह देखने के लिए कि कस्टम वैरिएबल को Postgres डेटाबेस में जोड़ा गया है या नहीं, ये कमांड चलाएं:
- Postgres नोड पर, PostgreSQL में लॉग इन करें:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- यह एसक्यूएल क्वेरी चलाएं:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- Postgres नोड पर, PostgreSQL में लॉग इन करें:
- इस बात की काफ़ी संभावना है कि आपको फ़ैक्ट टेबल में कस्टम वैरिएबल कॉलम न दिखे. इस वजह से, यह कस्टम डाइमेंशन में नहीं दिखता.
रिज़ॉल्यूशन
पहला समाधान: Postgres सर्वर को रीस्टार्ट करें
- Postgres सर्वर को रीस्टार्ट करें, ताकि वह Zookeeper से Analytics से जुड़ी सारी जानकारी पढ़ सके:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
अगर समस्या बनी रहती है, तो दूसरा तरीका आज़माएं.
दूसरा समाधान: forceonboard प्रॉपर्टी को चालू करना
forceonboard प्रॉपर्टी को चालू करने के लिए, यह तरीका अपनाएं:
- अगर Postgres सर्वर मशीन पर
/opt/apigee/customer/application/postgres-server.propertiesफ़ाइल मौजूद नहीं है, तो उसे बनाएं. - इस फ़ाइल में यह लाइन जोड़ें:
conf_pg-agent_forceonboard=true
- पक्का करें कि इस फ़ाइल का मालिकाना हक Apigee के पास हो. इसके लिए, इस कमांड का इस्तेमाल करें:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Postgres सर्वर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- अगर आपके पास एक से ज़्यादा Postgres सर्वर हैं, तो ऊपर दिया गया तरीका सभी Postgres सर्वर पर दोहराएं.
- StatisticsCollector नीति का इस्तेमाल करने वाले एपीआई प्रॉक्सी को अनडिप्ल और डिप्लॉय करें.
- एपीआई कॉल चलाएं.
- देखें कि कस्टम रिपोर्ट में कस्टम डाइमेंशन में कस्टम वैरिएबल दिख रहे हैं या नहीं.
अगर समस्या बनी रहती है, तो Apigee Edge की सहायता टीम से संपर्क करें.