برای پیکربندی 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 |
| سرور مدیریت | 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 عنصر را شناسایی میکند. مقادیر ممکن شامل موارد زیر است:
|
تنظیم مقدار توکن
فقط میتوانید فایلهای .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-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
-
- (اختیاری) بااستفاده از گزینه
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) توضیح میدهد.
/opt/apigee/customer/application/management-ui.propertiesرا ایجاد یا ویرایش کنید و مطمئن شوید که فایل متعلق بهapigee:apigeeاست.- برای فعال یا غیرفعال کردن پروتکل HTTP/2، لغو زیر را اضافه کنید:
conf_uebe_disable_http2={true or false} - ذخیره و بازراهاندازی میانای کاربر Edge جدید (
edge-management-ui).
افزودن قالب گزارش سفارشی در 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