نحوه پیکربندی Edge

برای پیکربندی Edge پس‌از نصب، از ترکیبی از فایل‌های .properties و ابزارهای کمکی Edge استفاده می‌کنید. برای مثال، برای پیکربندی TLS/SSL در Edge UI، فایل‌های .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 را برای Router بررسی می‌کند:

/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
واسط کاربر کلاسیک (بر واسط کاربر Edge جدید تأثیر نمی‌گذارد) edge-ui /opt/apigee/customer/application/ui.properties
Edge UI (فقط Edge UI جدید؛ بر Classic UI تأثیر نمی‌گذارد) 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/postgresql.properties
سرور Qpid 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)
  • ‫edge-message-processor (پردازشگر پیام)
  • ‫edge-postgres-server (سرور Postgres)
  • ‫edge-qpid-server (سرور Qpid)
  • ‫edge-router (رهیاب لبه)
  • ‫edge-ui (میانای کاربر کلاسیک)

تنظیم مقدار توکن

فقط می‌توانید فایل‌های .properties را در فهرست راهنمای /opt/apigee/customer/application اصلاح کنید. هر مؤلفه فایل .properties خودش را در آن فهرست راهنما دارد. برای مثال، router.properties و management-server.properties. برای دیدن فهرست کامل فایل‌های ویژگی‌ها، مکان فایل‌های properties . را ببینید.

برای ایجاد فایل .properties:

  1. فایل نوشتاری جدیدی در ویرایشگر ایجاد کنید. نام فایل باید با فهرست نشان‌داده‌شده در جدول بالا برای فایل‌های مشتری مطابقت داشته باشد.
  2. همان‌طور که در مثال زیر نشان داده شده است، مالک فایل را به «apigee:apigee» تغییر دهید:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    اگر کاربری را که سرویس Edge را اجرا می‌کند از کاربر «apigee» تغییر داده‌اید، از chown برای تغییر مالکیت به کاربری که سرویس Edge را اجرا می‌کند استفاده کنید.

وقتی Edge را ارتقا می‌دهید، فایل‌های .properties در دایرکتوری /opt/apigee/customer/application خوانده می‌شوند. یعنی ارتقا دادن باعث می‌شود هر ویژگی‌ای که برای مؤلفه تنظیم کرده‌اید حفظ شود.

برای تنظیم مقدار یک توکن:

  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)
    • ‫edge-message-processor (پردازشگر پیام)
    • ‫edge-postgres-server (سرور Postgres)
    • ‫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، تعیین مقدار فعلی یک توکن را ببینید.

پیدا کردن کد

در بیشتر موارد، توکن‌هایی که باید تنظیم کنید در این راهنما مشخص شده‌اند. بااین‌حال، اگر لازم است مقدار یک کد موجود را که از نام کامل یا مکان آن مطمئن نیستید لغو کنید، از grep برای جستجوی فهرست راهنمای source مؤلفه استفاده کنید.

برای مثال، اگر می‌دانید که در نسخه قبلی Edge، session.maxAge ویژگی را تنظیم کرده‌اید و می‌خواهید مقدار کد استفاده‌شده برای تنظیم آن را بدانید، سپس grep برای ویژگی در فهرست راهنمای /opt/apigee/edge-ui/source:

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

برای مثال، برای تنظیم ویژگی‌ای با نام 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

این بخش نحوه پیکربندی پراکسی بازارسال را برای درخواست‌های بخش «ارسال درخواست‌ها» در Trace 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. ذخیره و بازراه‌اندازی واسط کاربر قدیمی.

افزودن قالب گزارش سفارشی در Apigee Router/Nginx

در برخی موارد، ممکن است لازم باشد قالب گزارش پیش‌فرض Apigee Router/Nginx را تغییر دهید یا متغیرهایی اضافه کنید. برای به‌روزرسانی پیکربندی قالب گزارش پیش‌فرض Apigee Router/Nginx:

  1. اگر فایل router.properties وجود ندارد، آن را با مسیر نشان‌داده‌شده در زیر بسازید:
    /opt/apigee/customer/application/router.properties
  2. محتوای زیر را به فایل router.properties اضافه کنید تا پیکربندی log_format جدیدی با نام router_new ایجاد شود:
    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