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

ইনস্টলেশনের পরে Edge কনফিগার করতে, আপনি .properties ফাইল এবং Edge ইউটিলিটির একটি কম্বিনেশন ব্যবহার করেন। যেমন, Edge UI-তে TLS/SSL কনফিগার করতে, প্রয়োজনীয় প্রপার্টি সেট করতে আপনি .properties ফাইল এডিট করেন। .propertiesটি ফাইলে পরিবর্তন করার জন্য আপনাকে প্রভাবিত Edge কম্পোনেন্ট রিস্টার্ট করতে হবে।

Apigee-তে .properties ফাইল এডিট করার টেকনিককে কনফিগারেশন সহ কোড (কখনও কখনও CwC হিসেবে সংক্ষিপ্ত করা হয়) বলা হয়। মূলত, কনফিগারেশন সহ কোড হল .properties ফাইলের সেটিংসের উপর ভিত্তি করে একটি কী/ভ্যালু লুকআপ টুল। কনফিগারেশন সহ কোডে, কীগুলিকে টোকেন হিসেবে উল্লেখ করা হয়। তাই, Edge কনফিগার করতে, আপনি .properties ফাইলে টোকেন সেট করেন।

কনফিগারেশন সহ কোড এজ কম্পোনেন্টকে প্রোডাক্টের সাথে পাঠানো ডিফল্ট ভ্যালু সেট করতে দেয়, ইনস্টলেশন টিমকে ইনস্টলেশন টপোলজির উপর ভিত্তি করে সেই সেটিংস ওভাররাইড করতে দেয়, এবং তারপর গ্রাহকদের তাদের বেছে নেওয়া যেকোনও প্রপার্টি ওভাররাইড করতে দেয়।

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

নিম্নলিখিত উদাহরণে UI-এর session.maxAge টোকেনের ভ্যালু দেখানো হয়েছে:

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

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

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

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

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

conf/filename+propertyName=propertyValue

যেমন, মেসেজ প্রসেসরে 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

Trace UI-এর 'অনুরোধ পাঠান' বিভাগ থেকে অনুরোধের জন্য ফরওয়ার্ড প্রক্সি কনফিগার করুন

এই বিভাগে ব্যাখ্যা করা হয়েছে যে কীভাবে ট্রেস UI-এর অনুরোধ পাঠান বিভাগ থেকে অনুরোধের জন্য ফরওয়ার্ড প্রক্সি কনফিগার করতে হয়। এতে ঐচ্ছিক প্রক্সি ক্রেডেনশিয়ালও অন্তর্ভুক্ত থাকে। ফরওয়ার্ড প্রক্সি কনফিগার করতে:

  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. সেভ করে ক্লাসিক 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