Como configurar o Edge

Para configurar o Edge após a instalação, use uma combinação de arquivos .properties. e os utilitários do Edge. Por exemplo, para configurar TLS/SSL na interface do Edge, edite .properties para definir as propriedades necessárias. Mudanças no Os arquivos .properties exigem que você reinicie o componente Edge afetado.

A Apigee se refere à técnica de edição de arquivos .properties como código com config (às vezes abreviada como CwC). Basicamente, o código com "config" é uma pesquisa de chave-valor baseada nas configurações dos arquivos .properties. No código de configuração, as chaves são chamadas de tokens. Portanto, para configurar o Edge, defina tokens em .properties .

O código com configuração permite que os componentes do Edge definam valores padrão que são fornecidos com o permite que a equipe de instalação substitua essas configurações com base na topologia de instalação, e permite que os clientes modifiquem as propriedades que quiserem.

Se você pensar nisso como uma hierarquia, as configurações serão organizadas da seguinte forma, com o cliente com maior prioridade para substituir quaisquer configurações da equipe de instalação ou Apigee:

  1. Cliente
  2. Instalador
  3. Componente

Determinar o valor atual de um token

Antes de definir um novo valor para um token em um arquivo .properties, faça o seguinte: determine primeiro o valor atual usando o seguinte comando:

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

Em que component_name é o nome do componente e token é o token para serem inspecionados.

Esse comando pesquisa a hierarquia dos arquivos .properties do componente para determinar o valor atual do token.

O exemplo a seguir verifica o valor atual do conf_http_HTTPRequest.line.limit para o roteador:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

A saída será semelhante a esta:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Se o valor do token começar com #, ele foi comentado e você precisará usar sintaxe especial para alterá-la. Para mais informações, consulte Defina um token que está comentado no momento.

Se você não souber o nome completo do token, use uma ferramenta como grep para pesquisar pelo nome da propriedade ou pela palavra-chave. Para mais informações, consulte Localizar um token.

Arquivos de propriedades

Existem arquivos de configuração de componentes editáveis e não editáveis. Esta seção descreve .

Arquivos de configuração de componentes editáveis

A tabela a seguir lista os componentes da Apigee e os arquivos de propriedades que podem ser editar para configurar esses componentes:

Componente Component Name Arquivo de configuração editável
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
SSO da Apigee apigee-sso /opt/apigee/customer/application/sso.properties
Servidor de gerenciamento edge-management-server /opt/apigee/customer/application/management-server.properties
processador de mensagens edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
IU clássica (não afeta a nova interface do Edge) edge-ui /opt/apigee/customer/application/ui.properties
Interface do Edge (somente a nova interface do usuário do Edge; não afeta a interface clássica) apigee-management-ui N/A (use o arquivo de configuração de instalação)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Servidor Postgres edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
Banco de dados PostgreSQL apigee-postgresql /opt/apigee/customer/application/postgressql.properties
Servidor Qpid edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
Qpidd apigee-qpidd /opt/apigee/customer/application/qpidd.properties
Roteador edge-router /opt/apigee/customer/application/router.properties
Zookeeper apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

Se você quiser definir uma propriedade em um desses arquivos de configuração de componentes, mas não ela existe, você pode criá-la no local listado acima.

Além disso, o arquivo de propriedades precisa ser de propriedade da "apigee" usuário:

chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties

Arquivos de configuração de componentes não editáveis

Além dos arquivos de configuração dos componentes editáveis, também existem arquivos de configuração que não podem ser editadas.

Arquivos informativos (não editáveis) incluem o seguinte:

Proprietário Nome do arquivo ou diretório
Instalação
/opt/apigee/token
Componente
/opt/apigee/component_name/conf

Em que component_name identifica o componente. Os valores possíveis incluem:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (banco de dados PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (SSO de borda)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Servidor de gerenciamento)
  • edge-management-ui (nova IU do Edge)
  • edge-message-processor (processador de mensagens)
  • edge-postgres-server (Servidor Postgres)
  • edge-qpid-server (servidor Qpid)
  • edge-router (roteador Edge)
  • edge-ui (IU clássica)

Definir um valor de token

Só é possível modificar os arquivos .properties na pasta /opt/apigee/customer/application. Cada componente tem o próprio .properties nesse diretório. Por exemplo, router.properties. e management-server.properties. Para uma lista completa dos arquivos de propriedades, consulte Local dos arquivos .properties.

Para criar um arquivo .properties:

  1. Crie um novo arquivo de texto em um editor. O nome do arquivo precisa corresponder à lista mostrada no na tabela acima para arquivos de clientes.
  2. Altere o proprietário do arquivo para "apigee:apigee", como mostra o exemplo a seguir:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Se você alterou o usuário que executa o serviço do Edge na "apigee" usuário, usar chown para alterar a propriedade para o usuário que está executando o Edge. serviço.

Quando você faz o upgrade do Edge, os arquivos .properties diretório /opt/apigee/customer/application são lidos. Isso significa que o upgrade mantêm todas as propriedades definidas no componente.

Para definir o valor de um token:

  1. Edite o arquivo .properties do componente.
  2. Adicione ou altere o valor do token. O exemplo a seguir define o valor do parâmetro propriedade conf_http_HTTPRequest.line.limit como "10k":
    conf_http_HTTPRequest.line.limit=10k

    Se o token aceita vários valores, separe cada um deles com uma vírgula, conforme mostrado a seguir exemplo mostra:

    conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

    Para adicionar um novo valor a uma lista como essa, você normalmente anexa o novo valor ao final da lista.

  3. Reinicie o componente:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    Em que component_name é um dos seguintes:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (banco de dados PostgreSQL)
    • apigee-qpidd (Qpidd)
    • apigee-sso (SSO de borda)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (Servidor de gerenciamento)
    • edge-management-ui (nova IU do Edge)
    • edge-message-processor (processador de mensagens)
    • edge-postgres-server (Servidor Postgres)
    • edge-qpid-server (servidor Qpid)
    • edge-router (roteador Edge)
    • edge-ui (IU clássica)

    Por exemplo, depois de editar router.properties, reinicie o roteador:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Opcional) Verifique se o valor do token está definido para o novo valor usando o configure -search. Exemplo:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Para mais informações sobre configure -search, consulte Determinar o valor atual de um token.

Localizar um token

Na maioria dos casos, os tokens que você precisa definir são identificados neste guia. No entanto, se você precisar para substituir o valor de um token existente cujo nome completo ou local você não tem certeza, use grep para pesquisar no diretório source do componente.

Por exemplo, em uma versão anterior do Edge, você definiu session.maxAge propriedade e quiser saber o valor do token usado para configurá-la, depois grep para a propriedade em /opt/apigee/edge-ui/source diretório:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Você verá um resultado no seguinte formulário:

/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}

O exemplo a seguir mostra o valor do token session.maxAge da interface:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

A string entre as tags {T}{/T} é o nome do token que pode ser definido no arquivo .properties da interface.

Definir um token que está atualmente comentado

Alguns tokens são comentados nos arquivos de configuração do Edge. Se você tentar definir um token que for comentado em um arquivo de configuração de instalação ou componente, a sua configuração será ignorada.

Para definir o valor de um token comentado em um arquivo de configuração do Edge, use no formato a seguir:

conf/filename+propertyName=propertyValue

Por exemplo, para definir a propriedade HTTPClient.proxy.host no Message, Processador, primeiro grep da propriedade para determinar o token:

grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"

O comando grep retorna resultados que incluem o nome do token. Aviso como o nome da propriedade é comentado, conforme indicado pelo prefixo #:

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=

Para definir o valor dessa propriedade, edite /opt/apigee/customer/application/message-processor.properties, mas use uma , conforme o exemplo a seguir:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

Nesse caso, prefixe o nome da propriedade com conf/http.properties+. Isso é o local e o nome do arquivo de configuração que contém a propriedade seguida de "+".

Examine o arquivo depois de reiniciar o processador de mensagens /opt/apigee/edge-message-processor/conf/http.properties:

cat /opt/apigee/edge-message-processor/conf/http.properties

No final do arquivo, você verá a propriedade definida no formato:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com

Configurar o proxy de encaminhamento para solicitações na seção "Enviar solicitações" da interface do Trace

Esta seção explica como configurar o proxy de encaminhamento para solicitações do Seção "Enviar solicitações" da interface do Trace com credenciais de proxy opcionais. Para configurar o proxy de encaminhamento:

  1. Edite o /opt/apigee/customer/application/ui.properties e verifique se o arquivo está de propriedade de apigee:apigee.
  2. Adicione as seguintes substituições (alterando os valores para sua configuração de proxy específica):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Salve e reinicie a interface clássica.

Adicionar um formato de registro personalizado ao roteador da Apigee/Nginx

Em alguns casos, era necessário alterar o formato de registro padrão do roteador/Nginx da Apigee ou adicionar variáveis. Para atualizar o formato de registro padrão do roteador/Nginx da Apigee configuração:

  1. Crie um arquivo router.properties, se ele não existir, com o caminho mostrado abaixo:
    /opt/apigee/customer/application/router.properties
  2. Adicione o seguinte conteúdo ao arquivo router.properties para criar uma configuração log_format com o nome 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

    Atualize as variáveis nos comandos acima conforme apropriado. Para encontrar o modelo valores de configuração de log_format no arquivo abaixo:

    /opt/apigee/edge-router/conf/load_balancing.properties

    Uma lista de variáveis Nginx é exibida em http://nginx.org/en/docs/varindex.html.

  3. Reinicie o roteador para aplicar a nova configuração:
    apigee-service edge-router restart
  4. Verificar se a nova configuração do log_format (router_new) foi adicionado ao arquivo /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Envie algumas solicitações de API para um proxy de API e verifique o novo formato de registro no arquivo
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file