Edge को कॉन्फ़िगर करने का तरीका

इंस्टॉल करने के बाद Edge को कॉन्फ़िगर करने के लिए, .properties फ़ाइलों और Edge की सुविधाओं के कॉम्बिनेशन का इस्तेमाल किया जाता है. उदाहरण के लिए, Edge यूज़र इंटरफ़ेस (यूआई) पर TLS/एसएसएल को कॉन्फ़िगर करने के लिए, आपको .properties फ़ाइलों में बदलाव करके ज़रूरी प्रॉपर्टी सेट करनी होंगी. .properties फ़ाइलों में बदलाव करने के लिए, आपको उस Edge कॉम्पोनेंट को रीस्टार्ट करना होगा जिस पर असर हुआ है.

Apigee, .properties फ़ाइलों में कॉन्फ़िगरेशन वाले कोड के तौर पर बदलाव करने की तकनीक है. इसे CwC के नाम से भी जाना जाता है. असल में, कॉन्फ़िगरेशन के साथ कोड एक 'की/वैल्यू लुकअप' टूल है. यह टूल .properties फ़ाइलों की सेटिंग पर आधारित होता है. कॉन्फ़िगरेशन वाले कोड में, कुंजियों को टोकन कहा जाता है. इसलिए, Edge को कॉन्फ़िगर करने के लिए, .properties फ़ाइलों में टोकन सेट किए जाते हैं.

कॉन्फ़िगरेशन के साथ कोड की मदद से, Edge कॉम्पोनेंट, प्रॉडक्ट के साथ शिप की जाने वाली डिफ़ॉल्ट वैल्यू सेट कर पाते हैं. साथ ही, इंस्टॉलेशन टीम, इंस्टॉलेशन की टोपोलॉजी के आधार पर उन सेटिंग को बदल सकती है. इसके बाद, ग्राहक अपनी चुनी गई किसी भी प्रॉपर्टी को बदल सकते हैं.

अगर आपको यह किसी हैरारकी के तौर पर लगता है, तो सेटिंग इस तरह व्यवस्थित की जाती हैं. इसमें, ग्राहक सेटिंग को इंस्टॉलर टीम या Apigee की किसी भी सेटिंग को बदलने की सबसे ज़्यादा प्राथमिकता दी जाती है:

  1. ग्राहक
  2. इंस्टॉलर
  3. कॉम्पोनेंट

किसी टोकन की मौजूदा वैल्यू पता करना

किसी .properties फ़ाइल में किसी टोकन के लिए नई वैल्यू सेट करने से पहले, आपको इस तरीके से उसकी मौजूदा वैल्यू तय करनी चाहिए:

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

जहां component_name, कॉम्पोनेंट का नाम है और token जांच करने के लिए टोकन है.

यह निर्देश, टोकन की मौजूदा वैल्यू का पता लगाने के लिए कॉम्पोनेंट की .properties फ़ाइलों की हैरारकी का इस्तेमाल करता है.

इस उदाहरण में, राऊटर के लिए conf_http_HTTPRequest.line.limit टोकन की मौजूदा वैल्यू की जांच की गई है:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

आपको ऐसा आउटपुट दिखेगा जो कुछ ऐसा दिखेगा:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

अगर टोकन की वैल्यू # से शुरू होती है, तो इसका मतलब है कि उस टोकन की जानकारी दी गई है. आपको इसे बदलने के लिए खास सिंटैक्स का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, ऐसा टोकन सेट करना जिस पर हाल ही में टिप्पणी की गई है को देखें.

अगर आपको टोकन का पूरा नाम नहीं पता है, तो प्रॉपर्टी के नाम या मुख्य शब्द से खोजने के लिए, grep जैसे टूल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, टोकन खोजें देखें.

प्रॉपर्टी फ़ाइलें

कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलों में बदलाव किया जा सकता है. साथ ही, उनमें बदलाव नहीं किया जा सकता. इस सेक्शन में इन फ़ाइलों के बारे में बताया गया है.

ऐसे कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलें जिनमें बदलाव किया जा सकता है

नीचे दी गई टेबल में Apigee कॉम्पोनेंट और उन प्रॉपर्टी फ़ाइलों की सूची दी गई है जिनमें बदलाव करके, उन कॉम्पोनेंट को कॉन्फ़िगर किया जा सकता है:

कॉम्पोनेंट कॉम्पोनेंट का नाम ऐसी कॉन्फ़िगरेशन फ़ाइल जिसमें बदलाव किया जा सके
कसांद्रा apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Apigee एसएसओ (SSO) apigee-sso /opt/apigee/customer/application/sso.properties
मैनेजमेंट सर्वर edge-management-server /opt/apigee/customer/application/management-server.properties
मैसेज प्रोसेसर edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
क्लासिक यूज़र इंटरफ़ेस (यूआई), नए EDGE यूआई पर असर नहीं डालता edge-ui /opt/apigee/customer/application/ui.properties
Edge का यूज़र इंटरफ़ेस (यूआई), सिर्फ़ नया EDGE यूआई है. क्लासिक यूआई पर इसका कोई असर नहीं पड़ता apigee-management-ui लागू नहीं (इंस्टॉलेशन कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Postgres सर्वर edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
PostgreSQL डेटाबेस apigee-postgresql /opt/apigee/customer/application/postgressql.properties
Qpid सर्वर edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
क्विड apigee-qpidd /opt/apigee/customer/application/qpidd.properties
राऊटर edge-router /opt/apigee/customer/application/router.properties
चिड़ियाघर का रखरखाव करने वाला जानवर apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

अगर आपको इनमें से किसी कॉम्पोनेंट कॉन्फ़िगरेशन फ़ाइल में कोई प्रॉपर्टी सेट करनी है, लेकिन वह प्रॉपर्टी मौजूद नहीं है, तो प्रॉपर्टी को ऊपर दी गई जगह पर बनाया जा सकता है.

इसके अलावा, आपको यह पक्का करना होगा कि प्रॉपर्टी फ़ाइल का मालिकाना हक "apigee" उपयोगकर्ता के पास हो:

chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties

ऐसे कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलें जिनमें बदलाव नहीं किया जा सकता

जिन कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलों में बदलाव किया जा सकता है उनके अलावा कुछ ऐसी कॉन्फ़िगरेशन फ़ाइलें भी होती हैं जिनमें बदलाव नहीं किया जा सकता.

जानकारी देने वाली (कोई बदलाव नहीं किया जा सकता) वाली फ़ाइलों में नीचे दी गई चीज़ें शामिल हैं:

मालिक फ़ाइल का नाम या डायरेक्ट्री
इंस्टॉल करना
/opt/apigee/token
कॉम्पोनेंट
/opt/apigee/component_name/conf

जहां component_name कॉम्पोनेंट की पहचान करता है. आपको ये वैल्यू दिख सकती हैं:

  • apigee-cassandra (कैसंड्रा)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL डेटाबेस)
  • apigee-qpidd (सवाल और जवाब)
  • apigee-sso (Edge एसएसओ)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (मैनेजमेंट सर्वर)
  • edge-management-ui (नया Edge यूज़र इंटरफ़ेस (यूआई))
  • edge-message-processor (मैसेज प्रोसेस करने वाला)
  • edge-postgres-server (पोस्टग्रेस सर्वर)
  • edge-qpid-server (Qpid सर्वर)
  • edge-router (एज राऊटर)
  • edge-ui (क्लासिक यूज़र इंटरफ़ेस (यूआई))

टोकन की वैल्यू सेट करें

आपके पास सिर्फ़ /opt/apigee/customer/application डायरेक्ट्री में मौजूद .properties फ़ाइलों में बदलाव करने का विकल्प है. उस डायरेक्ट्री में हर कॉम्पोनेंट की अपनी .properties फ़ाइल होती है. उदाहरण के लिए, router.properties और management-server.properties. प्रॉपर्टी फ़ाइलों की पूरी सूची देखने के लिए, .properties फ़ाइलों की जगह देखें.

.properties फ़ाइल बनाने के लिए:

  1. एडिटर में नई टेक्स्ट फ़ाइल बनाएं. फ़ाइल का नाम, ग्राहक की फ़ाइलों के लिए ऊपर दी गई टेबल में दिखाई गई सूची से मेल खाना चाहिए.
  2. फ़ाइल के मालिक को बदलकर "apigee:apigee" कर दें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    अगर आपने "apigee" उपयोगकर्ता से Edge सेवा चलाने वाले उपयोगकर्ता को बदल दिया है, तो chown का इस्तेमाल करके उस उपयोगकर्ता को मालिकाना हक बदलें जो Edge सेवा इस्तेमाल कर रहा है.

Edge को अपग्रेड करने पर, /opt/apigee/customer/application डायरेक्ट्री में .properties फ़ाइलों को पढ़ा जाता है. इसका मतलब है कि कॉम्पोनेंट पर आपने जो प्रॉपर्टी सेट की हैं वे अपग्रेड में सेव रहेंगी.

टोकन की वैल्यू सेट करने के लिए:

  1. कॉम्पोनेंट की .properties फ़ाइल में बदलाव करें.
  2. टोकन की वैल्यू जोड़ें या बदलें. इस उदाहरण में, conf_http_HTTPRequest.line.limit प्रॉपर्टी की वैल्यू "10k" पर सेट की गई है:
    conf_http_HTTPRequest.line.limit=10k

    अगर टोकन में एक से ज़्यादा वैल्यू इस्तेमाल की जाती हैं, तो हर वैल्यू को कॉमा लगाकर अलग करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

    conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

    इस तरह की सूची में नई वैल्यू जोड़ने के लिए, आम तौर पर सूची के आखिर में नई वैल्यू जोड़ी जाती है.

  3. कॉम्पोनेंट को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    जहां component_name इनमें से कोई एक है:

    • apigee-cassandra (कैसंड्रा)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL डेटाबेस)
    • apigee-qpidd (सवाल और जवाब)
    • apigee-sso (Edge एसएसओ)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (मैनेजमेंट सर्वर)
    • edge-management-ui (नया Edge यूज़र इंटरफ़ेस (यूआई))
    • edge-message-processor (मैसेज प्रोसेस करने वाला)
    • edge-postgres-server (पोस्टग्रेस सर्वर)
    • edge-qpid-server (Qpid सर्वर)
    • edge-router (एज राऊटर)
    • edge-ui (क्लासिक यूज़र इंटरफ़ेस (यूआई))

    उदाहरण के लिए, router.properties में बदलाव करने के बाद, राऊटर को रीस्टार्ट करें:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (ज़रूरी नहीं) configure -search विकल्प का इस्तेमाल करके, जांचें कि टोकन की वैल्यू आपकी नई वैल्यू पर सेट है या नहीं. उदाहरण के लिए:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    configure -search के बारे में ज़्यादा जानकारी के लिए, टोकन की मौजूदा वैल्यू तय करना लेख पढ़ें.

टोकन ढूंढना

ज़्यादातर मामलों में, आपको जिन टोकन को सेट करना होता है उनकी जानकारी इस गाइड में दी गई है. हालांकि, अगर आपको किसी ऐसे मौजूदा टोकन की वैल्यू को बदलना है जिसके पूरे नाम या जगह के बारे में आपको पता नहीं है, तो कॉम्पोनेंट की source डायरेक्ट्री में जाने के लिए, grep का इस्तेमाल करें.

उदाहरण के लिए, अगर आपको पता है कि Edge की पिछली रिलीज़ में, आपने session.maxAge प्रॉपर्टी को सेट किया था और आपको इसे सेट करने के लिए इस्तेमाल की गई टोकन वैल्यू की जानकारी चाहिए, तो /opt/apigee/edge-ui/source डायरेक्ट्री में प्रॉपर्टी के लिए grep:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

आपको नीचे दिए गए फ़ॉर्म में नतीजा दिखेगा:

/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}

नीचे दिए गए उदाहरण में, यूज़र इंटरफ़ेस (यूआई) के session.maxAge टोकन की वैल्यू दिखाई गई है:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

{T}{/T} टैग के बीच की स्ट्रिंग, टोकन का नाम होती है. इसे यूज़र इंटरफ़ेस (यूआई) की .properties फ़ाइल में सेट किया जा सकता है.

ऐसा टोकन सेट करें जिस पर फ़िलहाल टिप्पणी की गई हो

कुछ टोकन पर Edge की कॉन्फ़िगरेशन फ़ाइलों में टिप्पणी की जाती है. अगर कोई ऐसा टोकन सेट करने की कोशिश की जाती है जिस पर किसी इंस्टॉल या कॉम्पोनेंट कॉन्फ़िगरेशन फ़ाइल में टिप्पणी की गई है, तो आपकी सेटिंग को अनदेखा कर दिया जाता है.

जिस टोकन पर टिप्पणी की गई है उसकी वैल्यू Edge कॉन्फ़िगरेशन फ़ाइल में सेट करने के लिए, नीचे दिए गए फ़ॉर्म में खास सिंटैक्स इस्तेमाल करें:

conf/filename+propertyName=propertyValue

उदाहरण के लिए, Message प्रोसेसर पर HTTPClient.proxy.host नाम की प्रॉपर्टी सेट करने के लिए, पहले grep प्रॉपर्टी को उसका टोकन तय करने के लिए:

grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"

grep निर्देश से ऐसे नतीजे मिलते हैं जिनमें टोकन का नाम शामिल होता है. ध्यान दें कि प्रॉपर्टी के नाम पर टिप्पणी कैसे की गई है, जैसा कि # प्रीफ़िक्स से पता चला है:

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

इस प्रॉपर्टी की वैल्यू सेट करने के लिए, /opt/apigee/customer/application/message-processor.properties में बदलाव करें. हालांकि, एक खास सिंटैक्स का इस्तेमाल करें, जैसा कि इस उदाहरण में दिखाया गया है:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

इस मामले में, आपको प्रॉपर्टी के नाम से पहले conf/http.properties+ लगाना होगा. यह उस प्रॉपर्टी की जगह और नाम है जिसमें प्रॉपर्टी है और इसके बाद "+" है.

मैसेज प्रोसेसर को रीस्टार्ट करने के बाद, फ़ाइल /opt/apigee/edge-message-processor/conf/http.properties की जांच करें:

cat /opt/apigee/edge-message-processor/conf/http.properties

फ़ाइल के आखिर में, आपको प्रॉपर्टी सेट इस फ़ॉर्मैट में दिखेगा:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com

ट्रेस यूज़र इंटरफ़ेस (यूआई) के अनुरोध भेजें सेक्शन से अनुरोधों के लिए फ़ॉरवर्ड प्रॉक्सी कॉन्फ़िगर करें

यह सेक्शन बताता है कि वैकल्पिक प्रॉक्सी क्रेडेंशियल वाले ट्रेस यूज़र इंटरफ़ेस (यूआई) के अनुरोध भेजें सेक्शन से अनुरोधों के लिए फ़ॉरवर्ड प्रॉक्सी कैसे कॉन्फ़िगर करें. फ़ॉरवर्ड प्रॉक्सी कॉन्फ़िगर करने के लिए:

  1. /opt/apigee/customer/application/ui.properties में बदलाव करें और पक्का करें कि फ़ाइल का मालिकाना हक apigee:apigee के पास है.
  2. ये बदलाव जोड़ें (अपने किसी प्रॉक्सी कॉन्फ़िगरेशन में वैल्यू बदलना):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. क्लासिक यूज़र इंटरफ़ेस (यूआई) को सेव करें और रीस्टार्ट करें.

Apigee राऊटर/Nlinx में पसंद के मुताबिक लॉग फ़ॉर्मैट जोड़ें

कुछ मामलों में, आपको डिफ़ॉल्ट Apigee Router/Ngnx लॉग फ़ॉर्मैट बदलना होगा या वैरिएबल जोड़ना होगा. डिफ़ॉल्ट Apigee राऊटर/Ngnx लॉग फ़ॉर्मैट कॉन्फ़िगरेशन अपडेट करने के लिए:

  1. अगर router.properties फ़ाइल मौजूद नहीं है, तो नीचे दिए गए पाथ का इस्तेमाल करके फ़ाइल बनाएं:
    /opt/apigee/customer/application/router.properties
  2. router_new नाम से नया log_format कॉन्फ़िगरेशन बनाने के लिए, router.properties फ़ाइल में यह कॉन्टेंट जोड़ें:
    conf_load_balancing_load.balancing.driver.nginx.global.http.parameters.template.extra=log_format router_new 'time_iso8601\\\\thostname\\\\tremote_addr:remote_port\\\\t'\\\\n\\n 'upstream_addr\\\\trequest_time\\\\t-\\\\t-\\\\t'\\\\n\\n 'status\\\\tupstream_status\\\\trequest_length\\\\t'\\\\n\\n 'body_bytes_sent\\\\t'\\\\n\\n 'request\\\\tupstream_http_x_apigee_message_id\\\\t'\\\\n\\n 'http_user_agent\\\\thost\\thostname-pid-connection-connection_requests\\\\tmy_nginx_var_xff\\t'\\\\n\\n 'upstream_http_x_apigee_fault_flag\\\\tupstream_http_x_apigee_fault_source\\\\tupstream_http_x_apigee_fault_code\\\\t'\\\\n\\n 'upstream_http_x_apigee_fault_policy\\tupstream_http_x_apigee_fault_flow\\tupstream_http_x_apigee_fault_revision\\t'\\\\n\\n 'upstream_http_x_apigee_dp_color\\\\tmy_x_apigee_target_latency\\\\t'\\\\n\\n 'upstream_http_x_apigee_proxy\\\\tupstream_http_x_apigee_proxy_basepath\\\\t'\\\\n\\n 'self_region\\\\tself_pod\\\\tself_color\\\\tssl_protocol\\\\tssl_client_verify\\\\tssl_session_id\\\\tssl_session_reused\\\\tupstream_pod\\\\tupstream_region';\\\\n\\n\n
    conf_load_balancing_load.balancing.driver.nginx.access.log={conf_load_balancing_load.balancing.driver.nginx.log.dir}/{org}~{env}.{port}_access_log router_new

    ऊपर दिए गए कमांड में वैरिएबल को ज़रूरत के मुताबिक अपडेट करें. log_format के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन वैल्यू, यहां दी गई फ़ाइल में देखी जा सकती हैं:

    /opt/apigee/edge-router/conf/load_balancing.properties

    Ngnx वैरिएबल की सूची http://nginx.org/en/docs/varindex.html पर दिखाई गई है.

  3. नया कॉन्फ़िगरेशन लागू करने के लिए राऊटर को रीस्टार्ट करें:
    apigee-service edge-router restart
  4. देखें कि फ़ाइल /opt/nginx/conf.d/0-default.conf में नया log_format कॉन्फ़िगरेशन (router_new) जोड़ा गया है या नहीं:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. एपीआई प्रॉक्सी को कुछ एपीआई अनुरोध भेजें और फ़ाइल में नए लॉग फ़ॉर्मैट की पुष्टि करें
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file