Чтобы настроить Edge после установки, используйте файлы .properties и утилиты Edge. Например, чтобы настроить TLS/SSL в новом интерфейсе Edge, нужно изменить файлы .properties и задать необходимые свойства. Чтобы изменения в файлах .properties вступили в силу, необходимо перезапустить затронутый компонент Edge.
В Apigee редактирование файлов .properties называется кодом с конфигурацией. По сути, код с конфигурацией – это инструмент поиска по ключу и значению, основанный на настройках в файлах .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 |
| Message Processor | 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(маршрутизатор Edge)
Например, после изменения
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+. Это местоположение и название файла конфигурации, содержащего свойство, за которым следует "+".
После перезапуска Message Processor проверьте файл /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 в новом интерфейсе Edge
В этом разделе рассказывается, как включить или отключить протокол HTTP/2 в новом интерфейсе 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/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