برای پیکربندی Edge پساز نصب، از ترکیبی از .properties فایل
و ابزارهای Edge استفاده میکنید. برای مثال، برای پیکربندی TLS/SSL در «میانای کاربری Edge»،
.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
را برای «مسیریاب» بررسی میکند:
/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 عنصر را شناسایی میکند. مقادیر ممکن شامل موارد زیر است:
|
مقدار نشان را تنظیم کنید
فقط میتوانید فایلهای .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را روی «۱۰ هزار» تنظیم میکند: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
پیکربندی پراکسی بازارسال برای درخواستهای بخش «ارسال درخواستها» در «واسط کاربر ردیابی»
این بخش توضیح میدهد چگونه پراکسی بازارسال را برای درخواستهای بخش «ارسال درخواستها» در «واسط کاربر ردیابی» با اطلاعات اعتباری اختیاری پراکسی پیکربندی کنید. برای پیکربندی پراکسی ارسال:
/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!
- واسط کاربر کلاسیک را ذخیره و بازراهاندازی کنید.
فعال/غیرفعال کردن صفحهبندی و پیکربندی اندازه دستهای برای صفحه فهرست پراکسیهای میانای برنامهسازی کاربردی
این بخش توضیح میدهد که چگونه میتوانید میاناهای برنامهسازی کاربردی صفحهبندیشده را برای فهرست پراکسیهای میانای برنامهسازی کاربردی فعال یا غیرفعال کنید و چگونه اندازه دستهای میاناهای برنامهسازی کاربردی صفحهبندیشده را پیکربندی کنید. دو ملغی پیکربندیشدنی جدید اضافه کردهایم تا صفحهبندی را فعال/غیرفعال کنیم و اندازه دستهای میاناهای برنامهسازی کاربردی صفحهبندیشده را پیکربندی کنیم.
/opt/apigee/customer/application/ui.propertiesرا ایجاد/ویرایش کنید و مطمئن شوید که فایل متعلق بهapigee:apigeeاست.- برای فعال یا غیرفعال کردن صفحهبندی برای صفحه فهرست پراکسیهای API، جایگزین زیر را اضافه کنید.
conf_apigee-base_apigee.feature.apiproxypaginationenabled={true or false} - برای پیکربندی اندازه دستهای میانای برنامهسازی کاربردی صفحهبندیشده برای صفحه فهرست کارگزاران وکالتی، جایگزین زیر را اضافه کنید(اختیاری).
conf_apigee-base_apigee.pagination.apiproxypaginationbatchsize={batch_override_value} - ذخیره و بازراهاندازی واسط کاربر کلاسیک.
فعال یا غیرفعال کردن پروتکل http/2 در «واسط کاربر Edge جدید»
این بخش توضیح میدهد که چگونه میتوانید پروتکل http/2 را فعال یا غیرفعال کنید.
/opt/apigee/customer/application/management-ui.propertiesرا ایجاد/ویرایش کنید و مطمئن شوید که فایل متعلق بهapigee:apigeeاست.- برای فعال یا غیرفعال کردن پروتکل
http/2، جایگزین زیر را اضافه کنید.conf_uebe_disable_http2={true or false} - «واسط کاربر New Edge» را ذخیره و بازراهاندازی کنید.
افزودن قالب گزارش سفارشی در 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