Чтобы настроить 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 и файлы свойств, которые вы можете редактировать для настройки этих компонентов:
Компонент | Имя компонента | Редактируемый файл конфигурации |
---|---|---|
Кассандра | apigee-cassandra | /opt/apigee/customer/application/cassandra.properties |
Апиги Единый вход | 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 | н/д (используйте файл конфигурации установки) |
OpenLDAP | apigee-openldap | /opt/apigee/customer/application/openldap.properties |
Постгрес-сервер | 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 идентифицирует компонент. Возможные значения включают в себя:
|
Установите значение токена
Вы можете изменять файлы .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
(Кассандра)-
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 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!
- Сохраните и перезапустите классический интерфейс.
Добавьте собственный формат журнала в 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