برای پیکربندی Edge پساز نصب، از ترکیبی از فایلهای .properties
و ابزارهای کمکی Edge استفاده میکنید. برای مثال، برای پیکربندی TLS/SSL در Edge UI،
فایلهای .properties را برای تنظیم ویژگیهای لازم ویرایش میکنید. تغییرات در
.properties فایلها مستلزم این است که مؤلفه Edge تحتتأثیر قرارگرفته را بازراهاندازی کنید.
Apigee به تکنیک ویرایش فایلهای .properties بهعنوان کد با پیکربندی (گاهیاوقات بهصورت مخفف CwC) اشاره دارد. در اصل، کد با پیکربندی ابزاری برای جستجوی کلید/مقدار براساس تنظیمات در فایلهای .properties است. در کد با پیکربندی، کلیدها بهعنوان
نشان شناخته میشوند. بنابراین، برای پیکربندی Edge، باید توکنها را در فایلهای .properties
تنظیم کنید.
کد با پیکربندی به مؤلفههای Edge اجازه میدهد مقادیر پیشفرضی را تنظیم کنند که با محصول ارسال میشود، به تیم نصب اجازه میدهد آن تنظیمات را براساس توپولوژی نصب لغو کند، و سپس به مشتریان اجازه میدهد هر ویژگیای را که انتخاب میکنند لغو کنند.
اگر آن را بهعنوان یک سلسلهمراتب درنظر بگیرید، تنظیمات بهصورت زیر مرتب میشوند و تنظیمات مشتری بالاترین اولویت را برای لغو هرگونه تنظیمات از تیم نصبکننده یا Apigee دارد:
- مشتری
- نصبکننده
- مؤلفه
تعیین مقدار فعلی یک توکن
قبلاز تنظیم مقدار جدید برای یک کد در فایل .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 عنصر را مشخص میکند. مقادیر ممکن عبارتند از:
|
تنظیم مقدار توکن
فقط میتوانید فایلهای .properties را در
فهرست راهنمای /opt/apigee/customer/application اصلاح کنید. هر مؤلفه فایل .properties خودش را در آن فهرست راهنما دارد. برای مثال، router.properties
و management-server.properties. برای دیدن فهرست کامل فایلهای ویژگیها،
مکان فایلهای properties . را ببینید.
برای ایجاد فایل .properties:
- فایل نوشتاری جدیدی در ویرایشگر ایجاد کنید. نام فایل باید با فهرست نشاندادهشده در جدول بالا برای فایلهای مشتری مطابقت داشته باشد.
- همانطور که در مثال زیر نشان داده شده است، مالک فایل را به «apigee:apigee» تغییر دهید:
chown apigee:apigee /opt/apigee/customer/application/router.properties
اگر کاربری را که سرویس Edge را اجرا میکند از کاربر «apigee» تغییر دادهاید، از
chownبرای تغییر مالکیت به کاربری که سرویس Edge را اجرا میکند استفاده کنید.
وقتی Edge را ارتقا میدهید، فایلهای .properties در
دایرکتوری /opt/apigee/customer/application خوانده میشوند. یعنی ارتقا دادن باعث میشود
هر ویژگیای که برای مؤلفه تنظیم کردهاید حفظ شود.
برای تنظیم مقدار یک توکن:
- فایل
.propertiesمؤلفه را ویرایش کنید. - مقدار کد را اضافه یا تغییر دهید. مثال زیر مقدار ویژگی
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/*
برای افزودن مقدار جدید به فهرستی مانند این، معمولاً مقدار جدید را به انتهای فهرست اضافه میکنید.
- بازراهاندازی عنصر:
/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
-
- (اختیاری) بااستفاده از گزینه
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 با اطلاعات کاربری پراکسی اختیاری توضیح میدهد. برای پیکربندی پراکسی پیشبر:
/opt/apigee/customer/application/ui.propertiesرا ویرایش کنید و مطمئن شوید که فایل متعلق بهapigee:apigeeاست.- لغوهای زیر را اضافه کنید (مقادیر را به پیکربندی پراکسی خاص خودتان تغییر دهید):
conf_application_http.proxyhost=proxy.example.com conf_application_http.proxyport=8080 conf_application_http.proxyuser=apigee conf_application_http.proxypassword=Apigee123!
- ذخیره و بازراهاندازی واسط کاربر قدیمی.
افزودن قالب گزارش سفارشی در Apigee Router/Nginx
در برخی موارد، ممکن است لازم باشد قالب گزارش پیشفرض Apigee Router/Nginx را تغییر دهید یا متغیرهایی اضافه کنید. برای بهروزرسانی پیکربندی قالب گزارش پیشفرض Apigee Router/Nginx:
- اگر فایل
router.propertiesوجود ندارد، آن را با مسیر نشاندادهشده در زیر بسازید:/opt/apigee/customer/application/router.properties
- محتوای زیر را به فایل
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 نمایش داده میشود.
- برای اعمال پیکربندی جدید، رهیاب را بازراهاندازی کنید:
apigee-service edge-router restart
- بررسی کنید آیا پیکربندی
log_formatجدید (router_new) به فایل/opt/nginx/conf.d/0-default.confاضافه شده است یا نه:cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
- چند درخواست API به پراکسی API ارسال کنید و قالب گزارش جدید را در فایل تأیید کنید
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file