Edge কীভাবে কনফিগার করতে হয়

ইনস্টলেশনের পরে Edge কনফিগার করতে, আপনি .properties ফাইল এবং Edge ইউটিলিটির একটি কম্বিনেশন ব্যবহার করেন। যেমন, New Edge UI-তে TLS/SSL কনফিগার করতে, আপনি প্রয়োজনীয় প্রপার্টি সেট করতে .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 কম্পোনেন্ট এবং প্রপার্টি ফাইলের তালিকা দেওয়া আছে যেগুলি আপনি এডিট করে সেইসব কম্পোনেন্ট কনফিগার করতে পারবেন:

কম্পোনেন্ট কম্পোনেন্টের নাম এডিট করা যায় এমন কনফিগারেশন ফাইল
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.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 UI edge-management-ui /opt/apigee/customer/application/management-ui.properties
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/postgresql.properties
Qpid Server edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
Qpidd 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 (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL ডেটাবেস)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (ম্যানেজমেন্ট সার্ভার)
  • edge-management-ui (নতুন Edge UI)
  • edge-message-processor (মেসেজ প্রসেসর)
  • edge-postgres-server (Postgres সার্ভার)
  • edge-qpid-server (Qpid সার্ভার)
  • edge-router (এজ রাউটার)

টোকেনের ভ্যালু সেট করুন

আপনি শুধুমাত্র /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 (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL ডেটাবেস)
    • apigee-qpidd (Qpidd)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (ম্যানেজমেন্ট সার্ভার)
    • edge-management-ui (নতুন Edge UI)
    • edge-message-processor (মেসেজ প্রসেসর)
    • edge-postgres-server (Postgres সার্ভার)
    • edge-qpid-server (Qpid সার্ভার)
    • edge-router (এজ রাউটার)

    যেমন, 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 ব্যবহার করুন।

যেমন, আপনি যদি জানেন যে আপনি HTTPRequest.line.limit প্রপার্টি সেট করতে চান এবং এটি সেট করার জন্য ব্যবহৃত টোকেন ভ্যালু জানতে চান, তাহলে /opt/apigee/edge-management-server/source ডিরেক্টরিতে প্রপার্টির জন্য grep:

grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source

আপনি নিম্নলিখিত ফর্ম্যাটে ফলাফল দেখতে পাবেন:

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

নিম্নলিখিত উদাহরণে ম্যানেজমেন্ট সার্ভারের HTTPRequest.line.limit টোকেনের ভ্যালু দেখানো হয়েছে:

/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}

{T}{/T} ট্যাগের মধ্যে থাকা স্ট্রিং হল টোকেনের নাম যা আপনি কম্পোনেন্টের .properties ফাইলে সেট করতে পারবেন।

বর্তমানে কমেন্ট হিসেবে চিহ্নিত করা আছে এমন টোকেন সেট করুন

Edge কনফিগারেশন ফাইলে কিছু টোকেন কমেন্ট হিসেবে চিহ্নিত করা আছে। আপনি যদি এমন কোনও টোকেন সেট করার চেষ্টা করেন যা কোনও ইনস্টল বা কম্পোনেন্ট কনফিগারেশন ফাইলে কমেন্ট হিসেবে চিহ্নিত করা আছে, তাহলে আপনার সেটিং উপেক্ষা করা হবে।

Edge কনফিগারেশন ফাইলে কমেন্ট হিসেবে চিহ্নিত করা টোকেনের ভ্যালু সেট করতে, নিম্নলিখিত ফর্ম্যাটে বিশেষ সিনট্যাক্স ব্যবহার করুন:

conf/filename+propertyName=propertyValue

যেমন, Message Processor-এ 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+ যোগ করতে হবে। এটি হল কনফিগারেশন ফাইলের লোকেশন ও নাম যাতে "+" চিহ্নের পরে প্রপার্টি থাকে।

Message Processor রিস্টার্ট করার পরে, ফাইলটি পরীক্ষা করে দেখুন /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

নতুন Edge UI-তে HTTP/2 প্রোটোকল চালু বা বন্ধ করুন

এই বিভাগে, New Edge UI (edge-management-ui)-এ HTTP/2 প্রোটোকল কীভাবে চালু বা বন্ধ করতে হয় তা ব্যাখ্যা করা হয়েছে।

  1. /opt/apigee/customer/application/management-ui.properties তৈরি বা এডিট করুন এবং নিশ্চিত করুন যে ফাইলটি apigee:apigee-এর মালিকানাধীন।
  2. HTTP/2 প্রোটোকল চালু বা বন্ধ করতে নিম্নলিখিত ওভাররাইড যোগ করুন:
    conf_uebe_disable_http2={true or false}
  3. New Edge UI (edge-management-ui) সেভ করে রিস্টার্ট করুন।

Apigee Router/Nginx-এ কাস্টম লগ ফর্ম্যাট যোগ করা

কিছু ক্ষেত্রে, আপনাকে ডিফল্ট Apigee Router/Nginx লগ ফর্ম্যাট পরিবর্তন করতে হতে পারে অথবা ভেরিয়েবল যোগ করতে হতে পারে। ডিফল্ট Apigee Router/Nginx লগ ফরম্যাট কনফিগারেশন আপডেট করতে:

  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

    Nginx ভেরিয়েবলের তালিকা http://nginx.org/en/docs/varindex.html লিঙ্কে দেখানো হয়েছে।

  3. নতুন কনফিগারেশন প্রয়োগ করতে রাউটার রিস্টার্ট করুন:
    apigee-service edge-router restart
  4. নতুন log_format কনফিগারেশন (router_new) /opt/nginx/conf.d/0-default.conf ফাইলে যোগ করা হয়েছে কিনা তা চেক করুন:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. API প্রক্সিতে কিছু API অনুরোধ পাঠান এবং ফাইলে নতুন লগ ফর্ম্যাট যাচাই করুন
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file