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

برای پیکربندی Edge پس‌از نصب، از ترکیبی از فایل‌های .properties و ابزارهای کمکی Edge استفاده می‌کنید. برای مثال، برای پیکربندی TLS/SSL در «واسط کاربر Edge جدید»، .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 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 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)
  • ‫edge-message-processor (پردازشگر پیام)
  • ‫edge-postgres-server (سرور Postgres)
  • ‫edge-qpid-server (سرور Qpid)
  • ‫edge-router (رهیاب لبه)

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

فقط می‌توانید فایل‌های .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-zookeeper (ZooKeeper)
    • ‫edge-management-server (سرور مدیریت)
    • edge-management-ui (میانای کاربری جدید Edge)
    • ‫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، تعیین مقدار فعلی یک توکن را ببینید.

پیدا کردن کد

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

برای مثال، اگر می‌دانید که می‌خواهید خصوصیت HTTPRequest.line.limit را تنظیم کنید و می‌خواهید مقدار کد مورداستفاده برای تنظیم آن را بدانید، grep را برای خصوصیت در فهرست راهنمای /opt/apigee/edge-management-server/source جستجو کنید:

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

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

فعال یا غیرفعال کردن پروتکل HTTP/2 در واسط کاربر New Edge

این بخش نحوه فعال یا غیرفعال کردن پروتکل HTTP/2 را در «میانای کاربری New Edge» (edge-management-ui) توضیح می‌دهد.

  1. /opt/apigee/customer/application/management-ui.properties را ایجاد یا ویرایش کنید و مطمئن شوید که فایل متعلق به apigee:apigee است.
  2. برای فعال یا غیرفعال کردن پروتکل HTTP/2، لغو زیر را اضافه کنید:
    conf_uebe_disable_http2={true or false}
  3. ذخیره و بازراه‌اندازی میانای کاربر Edge جدید (edge-management-ui).

افزودن قالب گزارش سفارشی در 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