Para configurar o Edge após a instalação, use uma combinação de .properties arquivos
e utilitários do Edge. Por exemplo, para configurar o TLS/SSL na nova interface do Edge, edite
.properties arquivos para definir as propriedades necessárias. As mudanças nos arquivos
.properties exigem a reinicialização do componente afetado do Edge.
A Apigee se refere à técnica de edição de arquivos .properties como código com
configuração (às vezes abreviado como CwC). Essencialmente, o código com configuração é uma ferramenta de pesquisa de chave/valor
com base nas configurações dos arquivos .properties. No código com configuração, as chaves são chamadas de
tokens. Portanto, para configurar o Edge, defina tokens nos arquivos .properties.
O código com configuração permite que os componentes do Edge definam valores padrão enviados com o produto, permite que a equipe de instalação substitua essas configurações com base na topologia de instalação, e permite que os clientes substituam as propriedades que escolherem.
Se você pensar nisso como uma hierarquia, as configurações serão organizadas da seguinte maneira, com as configurações do cliente tendo a maior prioridade para substituir qualquer configuração da equipe do instalador ou da Apigee:
- Cliente
- Instalador
- Componente
Determinar o valor atual de um token
Antes de definir um novo valor para um token em um arquivo .properties,
determine 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 a ser inspecionado.
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
token do roteador:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Você verá uma saída como 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 um #, ele foi comentado e você precisa usar
uma sintaxe especial para mudá-lo. Para mais informações, consulte
Definir um token que está comentado.
Se você não souber o nome completo do token, use uma ferramenta como grep para pesquisar
pelo nome da propriedade ou palavra-chave. Para mais informações, consulte Localizar um
token.
Arquivos de propriedades
Há arquivos de configuração de componentes editáveis e não editáveis. Esta seção descreve estes arquivos.
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 editados para configurar esses componentes:
| Componente | Nome do componente | Arquivo de configuração editável |
|---|---|---|
| Cassandra | apigee-cassandra |
/opt/apigee/customer/application/cassandra.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 |
| Nova interface do Edge | edge-management-ui |
/opt/apigee/customer/application/management-ui.properties |
| OpenLDAP | apigee-openldap |
/opt/apigee/customer/application/openldap.properties |
| Servidor do Postgres | edge-postgres-server |
/opt/apigee/customer/application/postgres-server.properties |
| Banco de dados PostgreSQL | apigee-postgresql |
/opt/apigee/customer/application/postgresql.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 ela não existir, crie-a no local listado acima.
Além disso, é necessário garantir que o arquivo de propriedades seja de propriedade do usuário "apigee":
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 de componentes editáveis, também há arquivos de configuração que você não pode editar.
Os 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:
|
Definir um valor de token
Só é possível modificar os .properties arquivos no
/opt/apigee/customer/application diretório. Cada componente tem o próprio
.properties arquivo nesse diretório. Por exemplo, router.properties
e management-server.properties. Para uma lista completa de arquivos de propriedades,
consulte Localização de arquivos .properties.
Para criar um arquivo .properties:
- Crie um novo arquivo de texto em um editor. O nome do arquivo precisa corresponder à lista mostrada na tabela acima para arquivos de clientes.
- Mude o proprietário do arquivo para "apigee:apigee", conforme mostrado no exemplo a seguir:
chown apigee:apigee /opt/apigee/customer/application/router.properties
Se você mudou o usuário que executa o serviço do Edge do usuário "apigee", use
chownpara mudar a propriedade para o usuário que está executando o serviço do Edge service.
Ao fazer upgrade do Edge, os arquivos .properties no
/opt/apigee/customer/application diretório são lidos. Isso significa que o upgrade vai
manter todas as propriedades definidas no componente.
Para definir o valor de um token:
- Edite o arquivo
.propertiesdo componente. - Adicione ou mude o valor do token. O exemplo a seguir define o valor da
conf_http_HTTPRequest.line.limitpropriedade como "10k":conf_http_HTTPRequest.line.limit=10k
Se o token aceitar vários valores, separe cada valor com uma vírgula, conforme mostrado no exemplo a seguir:
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, geralmente é necessário anexar o novo valor ao final do lista.
- 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-zookeeper(ZooKeeper)edge-management-server(servidor de gerenciamento)edge-management-ui(nova interface do Edge)edge-message-processor(processador de mensagens)edge-postgres-server(servidor Postgres)edge-qpid-server(servidor Qpid)edge-router(roteador de borda)
Por exemplo, depois de editar
router.properties, reinicie o roteador:/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- (Opcional) Verifique se o valor do token está definido como o novo valor usando a
configure -searchopção. Por 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
substituir o valor de um token atual cujo nome completo ou local não tenha certeza, use
grep para pesquisar o diretório source do componente.
Por exemplo, se você souber que quer definir a
HTTPRequest.line.limit propriedade e quiser saber o valor do token usado para defini-la,
então grep para a propriedade no /opt/apigee/edge-management-server/source
diretório:
grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source
Você verá um resultado no seguinte formato:
/opt/apigee/component_name/source/conf/http.properties:property_name={T}token_name{/T}O exemplo a seguir mostra o valor do token HTTPRequest.line.limit do servidor de gerenciamento:
/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}A string entre as tags {T}{/T} é o nome do token que pode ser definido
no arquivo .properties do componente.
Definir um token que está comentado
Alguns tokens são comentados nos arquivos de configuração do Edge. Se você tentar definir um token que está comentado em um arquivo de configuração de instalação ou componente, a configuração será ignorada.
Para definir o valor de um token que está comentado em um arquivo de configuração do Edge, use uma sintaxe especial no seguinte formato:
conf/filename+propertyName=propertyValue
Por exemplo, para definir a propriedade chamada HTTPClient.proxy.host no processador de mensagens, primeiro grep para a propriedade para determinar o token dela:
grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"
O comando grep retorna resultados que incluem o nome do token. Observe
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 sintaxe especial
conforme mostrado no exemplo a seguir:
conf/http.properties+HTTPClient.proxy.host=myhost.name.com
Nesse caso, é necessário prefixar o nome da propriedade com conf/http.properties+. Esse
é o local e o nome do arquivo de configuração que contém a propriedade seguida de "+".
Depois de reiniciar o processador de mensagens, examine o arquivo
/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
Ativar ou desativar o protocolo HTTP/2 na nova interface do Edge
Esta seção explica como ativar ou desativar o protocolo HTTP/2 na nova interface do Edge (edge-management-ui).
- Crie ou edite
/opt/apigee/customer/application/management-ui.propertiese verifique se o arquivo pertence aapigee:apigee. - Adicione a seguinte substituição para ativar ou desativar o protocolo HTTP/2:
conf_uebe_disable_http2={true or false} - Salve e reinicie a nova interface do Edge (
edge-management-ui).
Adicionar um formato de registro personalizado no roteador/Nginx da Apigee
Em alguns casos, é necessário mudar o formato de registro padrão do roteador/Nginx da Apigee ou adicionar variáveis. Para atualizar a configuração do formato de registro padrão do roteador/Nginx da Apigee configuração:
- Crie um arquivo
router.properties, se ele não existir, com o caminho mostrado abaixo:/opt/apigee/customer/application/router.properties
- Adicione o conteúdo a seguir ao arquivo
router.propertiespara criar uma nova configuraçãolog_formatcom o nomerouter_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 necessário. É possível encontrar os valores de configuração padrão para
log_formatno arquivo abaixo:/opt/apigee/edge-router/conf/load_balancing.properties
Uma lista de variáveis do Nginx é exibida em http://nginx.org/en/docs/varindex.html.
- Reinicie o roteador para aplicar a nova configuração:
apigee-service edge-router restart
- Verifique se a nova
log_formatconfiguração (router_new) foi adicionada ao arquivo/opt/nginx/conf.d/0-default.conf:cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
- 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