Para configurar Edge después de la instalación, debes usar una combinación de .properties archivos
y utilidades de Edge. Por ejemplo, para configurar TLS/SSL en la nueva IU de Edge, edita
.properties archivos para establecer las propiedades necesarias. Los cambios en los archivos
.properties requieren que reinicies el componente de Edge afectado.
Apigee se refiere a la técnica de editar .properties archivos como código con
configuración (a veces abreviado como CwC). En esencia, el código con configuración es una herramienta de búsqueda de clave/valor
basada en la configuración de los archivos .properties. En el código con configuración, las claves se denominan
tokens. Por lo tanto, para configurar Edge, debes establecer tokens en los archivos .properties.
El código con configuración permite que los componentes de Edge establezcan valores predeterminados que se envían con el producto, permite que el equipo de instalación anule esos parámetros de configuración según la topología de instalación, y, luego, permite que los clientes anulen las propiedades que elijan.
Si lo piensas como una jerarquía, la configuración se organiza de la siguiente manera, y la configuración del cliente tiene la prioridad más alta para anular cualquier configuración del equipo de instalación o de Apigee:
- Cliente
- Instalador
- Componente
Determina el valor actual de un token
Antes de establecer un valor nuevo para un token en un archivo .properties,
primero debes determinar su valor actual con el siguiente comando:
/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token
En el ejemplo anterior, component_name es el nombre del componente y token es el token que se inspeccionará.
Este comando busca en la jerarquía de los archivos .properties del componente para
determinar el valor actual del token.
En el siguiente ejemplo, se verifica el valor actual del token conf_http_HTTPRequest.line.limit
para el router:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Deberías ver un resultado similar al siguiente:
Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties
Si el valor del token comienza con un #, se ha marcado como comentario y debes usar una sintaxis especial para cambiarlo. Para obtener más información, consulta
Cómo establecer un token que está comentado.
Si no conoces el nombre completo del token, usa una herramienta como grep para buscar
por el nombre de la propiedad o la palabra clave. Para obtener más información, consulta Cómo ubicar un
token.
Archivos de propiedades
Existen archivos de configuración de componentes editables y no editables. En esta sección, se describen estos archivos.
Archivos de configuración de componentes editables
En la siguiente tabla, se enumeran los componentes de Apigee y los archivos de propiedades que puedes editar para configurar esos componentes:
| Componente | Nombre del componente | Archivo de configuración editable |
|---|---|---|
| Cassandra | apigee-cassandra |
/opt/apigee/customer/application/cassandra.properties |
| Servidor de administración | 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 |
| Nueva IU de Edge | edge-management-ui |
/opt/apigee/customer/application/management-ui.properties |
| OpenLDAP | apigee-openldap |
/opt/apigee/customer/application/openldap.properties |
| Servidor de Postgres | edge-postgres-server |
/opt/apigee/customer/application/postgres-server.properties |
| Base de datos de PostgreSQL | apigee-postgresql |
/opt/apigee/customer/application/postgresql.properties |
| Servidor de Qpid | edge-qpid-server |
/opt/apigee/customer/application/qpid-server.properties |
| Qpidd | apigee-qpidd |
/opt/apigee/customer/application/qpidd.properties |
| Router | edge-router |
/opt/apigee/customer/application/router.properties |
| Zookeeper | apigee-zookeeper |
/opt/apigee/customer/application/zookeeper.properties |
Si deseas establecer una propiedad en uno de estos archivos de configuración de componentes, pero no existe, puedes crearla en la ubicación que se indica más arriba.
Además, debes asegurarte de que el archivo de propiedades sea propiedad del usuario "apigee":
chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties
Archivos de configuración de componentes no editables
Además de los archivos de configuración de componentes editables, también hay archivos de configuración que no puedes editar.
Los archivos informativos (no editables) incluyen lo siguiente:
| Propietario | Nombre de archivo o directorio |
|---|---|
| Instalación | /opt/apigee/token |
| Componente | /opt/apigee/component_name/conf En el ejemplo anterior, component_name identifica el componente. Estos son algunos de los valores posibles:
|
Establece un valor de token
Solo puedes modificar los archivos .properties en el
/opt/apigee/customer/application directorio. Cada componente tiene su propio
.properties archivo en ese directorio. Por ejemplo, router.properties
y management-server.properties. Para obtener una lista completa de los archivos de propiedades,
consulta Ubicación de los archivos .properties.
Para crear un archivo .properties haz lo siguiente:
- Crea un archivo de texto nuevo en un editor. El nombre del archivo debe coincidir con la lista que se muestra en la tabla anterior para los archivos del cliente.
- Cambia el propietario del archivo a "apigee:apigee", como se muestra en el siguiente ejemplo:
chown apigee:apigee /opt/apigee/customer/application/router.properties
Si cambiaste el usuario que ejecuta el servicio de Edge del usuario "apigee", usa
chownpara cambiar la propiedad al usuario que ejecuta el servicio de Edge service.
Cuando actualizas Edge, se leen los archivos .properties en el
/opt/apigee/customer/application directorio. Eso significa que la actualización conservará
las propiedades que establezcas en el componente.
Para establecer el valor de un token, haz lo siguiente:
- Edita el archivo
.propertiesdel componente. - Agrega o cambia el valor del token. En el siguiente ejemplo, se establece el valor de la
conf_http_HTTPRequest.line.limitpropiedad en "10k":conf_http_HTTPRequest.line.limit=10k
Si el token toma varios valores, separa cada valor con una coma, como se muestra en el siguiente ejemplo:
conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*
Para agregar un valor nuevo a una lista como esta, por lo general, debes agregar el valor nuevo al final de la lista.
- Reinicia el componente:
/opt/apigee/apigee-service/bin/apigee-service component_name restart
En el ejemplo anterior, component_name es una de las siguientes opciones:
apigee-cassandra(Cassandra)apigee-openldap(OpenLDAP)apigee-postgresql(base de datos de PostgreSQL)apigee-qpidd(Qpidd)apigee-zookeeper(ZooKeeper)edge-management-server(servidor de administración)edge-management-ui(Nueva IU de Edge)edge-message-processor(Message Processor)edge-postgres-server(servidor de Postgres)edge-qpid-server(servidor de Qpid)edge-router(router perimetral)
Por ejemplo, después de editar
router.properties, reinicia el router:/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- (Opcional) Verifica que el valor del token esté establecido en el valor nuevo con la
configure -searchopción. Por ejemplo:/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Para obtener más información sobre
configure -search, consulta Determina el valor actual de un token.
Ubica un token
En la mayoría de los casos, los tokens que necesitas establecer se identifican en esta guía. Sin embargo, si necesitas
anular el valor de un token existente cuyo nombre completo o ubicación no conoces, usa
grep para buscar en el directorio source del componente.
Por ejemplo, si sabes que deseas establecer la
HTTPRequest.line.limit propiedad y quieres conocer el valor del token que se usa para establecerla,
entonces grep para la propiedad en el /opt/apigee/edge-management-server/source
directorio:
grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source
Deberías ver un resultado con el siguiente formato:
/opt/apigee/component_name/source/conf/http.properties:property_name={T}token_name{/T}En el siguiente ejemplo, se muestra el valor del token HTTPRequest.line.limit del servidor de administración:
/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}La cadena entre las etiquetas {T}{/T} es el nombre del token que puedes establecer
en el archivo .properties del componente.
Establece un token que está marcado como comentario
Algunos tokens se marcan como comentario en los archivos de configuración de Edge. Si intentas establecer un token que está marcado como comentario en un archivo de configuración de instalación o de componente, se ignora tu configuración.
Para establecer el valor de un token que está marcado como comentario en un archivo de configuración de Edge, usa una sintaxis especial con el siguiente formato:
conf/filename+propertyName=propertyValue
Por ejemplo, para establecer la propiedad llamada HTTPClient.proxy.host en el Message
Processor, primero grep para la propiedad para determinar su token:
grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"
El comando grep muestra resultados que incluyen el nombre del token. Observa
cómo se marca como comentario el nombre de la propiedad, como lo indica el prefijo #:
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 establecer el valor de esta propiedad, edita
/opt/apigee/customer/application/message-processor.properties, pero usa una sintaxis especial
como se muestra en el siguiente ejemplo:
conf/http.properties+HTTPClient.proxy.host=myhost.name.com
En este caso, debes agregar el prefijo conf/http.properties+ al nombre de la propiedad. Esta
es la ubicación y el nombre del archivo de configuración que contiene la propiedad seguida de "+".
Después de reiniciar el Message Processor, examina el archivo
/opt/apigee/edge-message-processor/conf/http.properties:
cat /opt/apigee/edge-message-processor/conf/http.properties
Al final del archivo, verás el conjunto de propiedades, con el siguiente formato:
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
Habilita o inhabilita el protocolo HTTP/2 en la nueva IU de Edge
En esta sección, se explica cómo habilitar o inhabilitar el protocolo HTTP/2 en la nueva IU de Edge (edge-management-ui).
- Crea o edita
/opt/apigee/customer/application/management-ui.propertiesy asegúrate de que el archivo sea propiedad deapigee:apigee. - Agrega la siguiente anulación para habilitar o inhabilitar el protocolo HTTP/2:
conf_uebe_disable_http2={true or false} - Guarda y reinicia la nueva IU de Edge (
edge-management-ui).
Agrega un formato de registro personalizado en el router de Apigee/Nginx
En algunos casos, es posible que debas cambiar el formato de registro predeterminado del router de Apigee/Nginx o agregar variables. Para actualizar la configuración del formato de registro predeterminado del router de Apigee/Nginx , haz lo siguiente:
- Crea un archivo
router.properties, si no existe, con la ruta que se muestra a continuación:/opt/apigee/customer/application/router.properties
- Agrega el siguiente contenido al
router.propertiesarchivo para crear una nueva configuraciónlog_formatcon el nombrerouter_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 Actualiza las variables en los comandos anteriores según corresponda. Puedes encontrar los valores de configuración predeterminados para
log_formaten el siguiente archivo:/opt/apigee/edge-router/conf/load_balancing.properties
Se muestra una lista de variables de Nginx en http://nginx.org/en/docs/varindex.html.
- Reinicia el router para aplicar la nueva configuración:
apigee-service edge-router restart
- Verifica si se agregó la nueva
log_formatconfiguración (router_new) al archivo/opt/nginx/conf.d/0-default.conf:cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
- Envía algunas solicitudes a la API a un proxy de API y verifica el nuevo formato de registro en el archivo
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file