نحوه پیکربندی 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
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 /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-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 را روی «۱۰ هزار» تنظیم می‌کند:
    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

پیکربندی پراکسی بازارسال برای درخواست‌های بخش «ارسال درخواست‌ها» در «واسط کاربر ردیابی»

این بخش توضیح می‌دهد چگونه پراکسی بازارسال را برای درخواست‌های بخش «ارسال درخواست‌ها» در «واسط کاربر ردیابی» با اطلاعات اعتباری اختیاری پراکسی پیکربندی کنید. برای پیکربندی پراکسی ارسال:

  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. واسط کاربر کلاسیک را ذخیره و بازراه‌اندازی کنید.

فعال/غیرفعال کردن صفحه‌بندی و پیکربندی اندازه دسته‌ای برای صفحه فهرست پراکسی‌های میانای برنامه‌سازی کاربردی

این بخش توضیح می‌دهد که چگونه می‌توانید میاناهای برنامه‌سازی کاربردی صفحه‌بندی‌شده را برای فهرست پراکسی‌های میانای برنامه‌سازی کاربردی فعال یا غیرفعال کنید و چگونه اندازه دسته‌ای میاناهای برنامه‌سازی کاربردی صفحه‌بندی‌شده را پیکربندی کنید. دو ملغی پیکربندی‌شدنی جدید اضافه کرده‌ایم تا صفحه‌بندی را فعال/غیرفعال کنیم و اندازه دسته‌ای میاناهای برنامه‌سازی کاربردی صفحه‌بندی‌شده را پیکربندی کنیم.

  1. /opt/apigee/customer/application/ui.properties را ایجاد/ویرایش کنید و مطمئن شوید که فایل متعلق به apigee:apigee است.
  2. برای فعال یا غیرفعال کردن صفحه‌بندی برای صفحه فهرست پراکسی‌های API، جای‌گزین زیر را اضافه کنید.
    conf_apigee-base_apigee.feature.apiproxypaginationenabled={true or false}
  3. برای پیکربندی اندازه دسته‌ای میانای برنامه‌سازی کاربردی صفحه‌بندی‌شده برای صفحه فهرست کارگزاران وکالتی، جای‌گزین زیر را اضافه کنید(اختیاری).
    conf_apigee-base_apigee.pagination.apiproxypaginationbatchsize={batch_override_value}
  4. ذخیره و بازراه‌اندازی واسط کاربر کلاسیک.

فعال یا غیرفعال کردن پروتکل http/2 در «واسط کاربر Edge جدید»

این بخش توضیح می‌دهد که چگونه می‌توانید پروتکل 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» را ذخیره و بازراه‌اندازی کنید.

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