نحوه پیکربندی Edge، نحوه پیکربندی 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 و فایل‌های ویژگی‌هایی را که می‌توانید برای پیکربندی آن مؤلفه‌ها ویرایش کنید، فهرست می‌کند:

جزء نام مؤلفه فایل پیکربندی قابل ویرایش
کاساندرا 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 n/a (از فایل پیکربندی نصب استفاده کنید)
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/postgressql.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 (کاساندرا)
  • 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 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 (کاساندرا)
    • 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 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 را تنظیم کرده‌اید و می‌خواهید مقدار توکن مورد استفاده برای تنظیم آن را بدانید، سپس برای ویژگی در پوشه /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}

مثال زیر مقدار توکن session.maxAge UI را نشان می دهد:

/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

پروکسی فوروارد را برای درخواست‌های بخش Send Requests از 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 log:

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