Как настроить Эдж

Чтобы настроить Edge после установки, вы используете комбинацию файлов .properties и утилит Edge. Например, чтобы настроить TLS/SSL в пользовательском интерфейсе Edge, вы редактируете файлы .properties , чтобы задать необходимые свойства. Изменения в файлах .properties требуют перезапуска затронутого компонента Edge.

Apigee называет технику редактирования файлов .properties кодом с конфигурацией (иногда сокращенно CwC). По сути, код с конфигурацией — это инструмент поиска ключ/значение на основе настроек в файлах .properties . В коде с конфигурацией ключи называются токенами . Поэтому для настройки Edge вы устанавливаете токены в файлах .properties .

Код с конфигурацией позволяет компонентам Edge устанавливать значения по умолчанию, которые поставляются с продуктом, позволяет команде установки переопределять эти параметры на основе топологии установки, а затем позволяет клиентам переопределять любые выбранные ими свойства.

Если рассматривать это как иерархию, то настройки расположены следующим образом: настройки клиента имеют наивысший приоритет и переопределяют любые настройки команды установщиков или Apigee:

  1. Клиент
  2. Установщик
  3. Компонент

Определить текущую стоимость токена

Прежде чем установить новое значение токена в файле .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/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 идентифицирует компонент. Возможные значения включают в себя:

  • 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 (классический пользовательский интерфейс)

Установите значение токена

Вы можете изменять файлы .properties только в каталоге /opt/apigee/customer/application . Каждый компонент имеет свой собственный файл .properties в этом каталоге. Например, router.properties и management-server.properties . Полный список файлов свойств см. в разделе Расположение файлов .properties .

Чтобы создать файл .properties :

  1. Создайте новый текстовый файл в редакторе. Имя файла должно соответствовать списку файлов клиентов, приведенному в таблице выше.
  2. Измените владельца файла на «apigee:apigee», как показано в следующем примере:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Если вы изменили пользователя, запускающего службу Edge, с пользователя «apigee», используйте chown , чтобы изменить владельца на пользователя, запускающего службу Edge.

При обновлении Edge считываются файлы .properties в каталоге /opt/apigee/customer/application . Это означает, что при обновлении будут сохранены все свойства, которые вы установили для компонента.

Чтобы установить значение токена:

  1. Отредактируйте файл .properties компонента.
  2. Добавьте или измените значение токена. В следующем примере для свойства 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/*

    Чтобы добавить новое значение в такой список, вы обычно добавляете новое значение в конец списка.

  3. Перезапустите компонент:
    /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
  4. (Необязательно) Убедитесь, что для токена установлено новое значение, используя параметр 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

Настройте прокси-сервер пересылки для запросов из раздела «Отправка запросов» пользовательского интерфейса трассировки.

В этом разделе объясняется, как настроить переадресацию прокси-сервера для запросов из раздела «Отправить запросы» пользовательского интерфейса трассировки с дополнительными учетными данными прокси-сервера. Чтобы настроить прямой прокси:

  1. Отредактируйте /opt/apigee/customer/application/ui.properties и убедитесь, что файл принадлежит apigee:apigee .
  2. Добавьте следующие переопределения (изменяя значения в соответствии с вашей конкретной конфигурацией прокси):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Сохраните и перезапустите классический интерфейс.

Добавьте собственный формат журнала в Apigee Router/Nginx.

В некоторых случаях вам нужно было либо изменить формат журнала Apigee Router/Nginx по умолчанию, либо добавить переменные. Чтобы обновить конфигурацию формата журнала Apigee Router/Nginx по умолчанию:

  1. Создайте файл router.properties , если он не существует, по пути, указанному ниже:
    /opt/apigee/customer/application/router.properties
  2. Добавьте следующее содержимое в файл 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 .

  3. Перезагрузите маршрутизатор, чтобы применить новую конфигурацию:
    apigee-service edge-router restart
  4. Проверьте, добавлена ​​ли новая конфигурация log_format ( router_new ) в файл /opt/nginx/conf.d/0-default.conf :
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Отправьте несколько запросов API на прокси-сервер API и проверьте новый формат журнала в файле.
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file