Pour configurer Edge après l'installation, vous devez utiliser une combinaison de fichiers .properties
et d'utilitaires Edge. Par exemple, pour configurer TLS/SSL dans la nouvelle interface utilisateur Edge, vous devez modifier
.properties afin de définir les propriétés nécessaires. Les modifications apportées aux fichiers
.properties nécessitent le redémarrage du composant Edge concerné.
Apigee appelle la technique de modification des fichiers .properties _code with
config_ (parfois abrégé en CwC). En substance, code with config est un outil de recherche clé/valeur
basé sur les paramètres des fichiers .properties. Dans code with config, les clés sont appelées
jetons. Par conséquent, pour configurer Edge, vous devez définir des jetons dans les fichiers .properties.
Code with config permet aux composants Edge de définir des valeurs par défaut fournies avec le produit, à l'équipe d'installation de remplacer ces paramètres en fonction de la topologie d'installation, puis aux clients de remplacer les propriétés de leur choix.
Si vous considérez cela comme une hiérarchie, les paramètres sont organisés comme suit, les paramètres client ayant la priorité la plus élevée pour remplacer tous les paramètres de l'équipe d'installation ou d'Apigee :
- Client
- Installateur
- Composant
Déterminer la valeur actuelle d'un jeton
Avant de définir une nouvelle valeur pour un jeton dans un fichier .properties,
vous devez d'abord déterminer sa valeur actuelle à l'aide de la commande suivante :
/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token
où component_name est le nom du composant et token est le jeton à inspecter.
Cette commande recherche la hiérarchie des fichiers .properties du composant pour
déterminer la valeur actuelle du jeton.
L'exemple suivant vérifie la valeur actuelle du jeton conf_http_HTTPRequest.line.limit
pour le routeur :
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Vous devriez voir un résultat semblable à celui-ci :
Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties
Si la valeur du jeton commence par un #, elle a été commentée et vous devez utiliser
une syntaxe spéciale pour la modifier. Pour en savoir plus, consultez
Définir un jeton actuellement commenté.
Si vous ne connaissez pas le nom complet du jeton, utilisez un outil tel que grep pour effectuer une recherche
par nom de propriété ou par mot clé. Pour en savoir plus, consultez Rechercher un
jeton.
Fichiers de propriétés
Il existe des fichiers de configuration de composants modifiables et non modifiables. Cette section décrit ces fichiers.
Fichiers de configuration de composants modifiables
Le tableau suivant répertorie les composants Apigee et les fichiers de propriétés que vous pouvez modifier pour configurer ces composants :
| Composant | Nom du composant | Fichier de configuration modifiable |
|---|---|---|
| Cassandra | apigee-cassandra |
/opt/apigee/customer/application/cassandra.properties |
| Serveur de gestion | edge-management-server |
/opt/apigee/customer/application/management-server.properties |
| Processeur de messages | edge-message-processor |
/opt/apigee/customer/application/message-processor.properties |
apigee-monit |
apigee-monit |
/opt/apigee/customer/application/monit.properties |
| Nouvelle interface utilisateur Edge | edge-management-ui |
/opt/apigee/customer/application/management-ui.properties |
| OpenLDAP | apigee-openldap |
/opt/apigee/customer/application/openldap.properties |
| Serveur Postgres | edge-postgres-server |
/opt/apigee/customer/application/postgres-server.properties |
| Base de données PostgreSQL | apigee-postgresql |
/opt/apigee/customer/application/postgresql.properties |
| Serveur Qpid | edge-qpid-server |
/opt/apigee/customer/application/qpid-server.properties |
| Qpidd | apigee-qpidd |
/opt/apigee/customer/application/qpidd.properties |
| Routeur | edge-router |
/opt/apigee/customer/application/router.properties |
| ZooKeeper | apigee-zookeeper |
/opt/apigee/customer/application/zookeeper.properties |
Si vous souhaitez définir une propriété dans l'un de ces fichiers de configuration de composants, mais qu'elle n'existe pas , vous pouvez la créer à l'emplacement indiqué ci-dessus.
De plus, vous devez vous assurer que le fichier de propriétés appartient à l'utilisateur "apigee" :
chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties
Fichiers de configuration de composants non modifiables
Outre les fichiers de configuration de composants modifiables, il existe également des fichiers de configuration que vous ne pouvez pas modifier.
Les fichiers d'informations (non modifiables) incluent les éléments suivants :
| Propriétaire | Nom de fichier ou répertoire |
|---|---|
| Installation | /opt/apigee/token |
| Composant | /opt/apigee/component_name/conf où component_name identifie le composant. Les valeurs possibles sont les suivantes :
|
Définir la valeur d'un jeton
Vous ne pouvez modifier que les fichiers .properties du répertoire
/opt/apigee/customer/application. Chaque composant possède son propre
.properties fichier dans ce répertoire. Par exemple, router.properties
et management-server.properties. Pour obtenir la liste complète des fichiers de propriétés,
consultez Emplacement des fichiers .properties.
Pour créer un fichier .properties :
- Créez un fichier texte dans un éditeur. Le nom du fichier doit correspondre à la liste affichée dans le tableau ci-dessus pour les fichiers client.
- Modifiez le propriétaire du fichier en "apigee:apigee", comme le montre l'exemple suivant :
chown apigee:apigee /opt/apigee/customer/application/router.properties
Si vous avez modifié l'utilisateur qui exécute le service Edge à partir de l'utilisateur "apigee", utilisez
chownpour modifier le propriétaire de l'utilisateur qui exécute le service Edge.
Lorsque vous mettez à niveau Edge, les .properties fichiers dans le
/opt/apigee/customer/application répertoire sont lus. Cela signifie que la mise à niveau conservera toutes les propriétés que vous avez définies sur le composant.
Pour définir la valeur d'un jeton :
- Modifiez le fichier
.propertiesdu composant. - Ajoutez ou modifiez la valeur du jeton. L'exemple suivant définit la valeur de la
conf_http_HTTPRequest.line.limitpropriété sur "10k" :conf_http_HTTPRequest.line.limit=10k
Si le jeton accepte plusieurs valeurs, séparez-les par une virgule, comme le montre l'exemple suivant :
conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*
Pour ajouter une nouvelle valeur à une liste de ce type, vous devez généralement l'ajouter à la fin de la liste.
- Redémarrez le composant :
/opt/apigee/apigee-service/bin/apigee-service component_name restart
où component_name est l'un des éléments suivants :
apigee-cassandra(Cassandra)apigee-openldap(OpenLDAP)apigee-postgresql(base de données PostgreSQL)apigee-qpidd(Qpidd)apigee-zookeeper(ZooKeeper)edge-management-server(serveur de gestion)edge-management-ui(nouvelle UI Edge)edge-message-processor(processeur de messages)edge-postgres-server(serveur Postgres)edge-qpid-server(serveur Qpid)edge-router(routeur Edge)
Par exemple, après avoir modifié
router.properties, redémarrez le routeur :/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- (Facultatif) Vérifiez que la valeur du jeton est définie sur votre nouvelle valeur à l'aide de l'
configure -searchoption. Exemple :/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Pour en savoir plus sur
configure -search, consultez Déterminer la valeur actuelle d'un jeton.
Rechercher un jeton
Dans la plupart des cas, les jetons que vous devez définir sont identifiés dans ce guide. Toutefois, si vous devez
remplacer la valeur d'un jeton existant dont vous n'êtes pas sûr du nom complet ou de l'emplacement, utilisez
grep pour effectuer une recherche dans le répertoire source du composant.
Par exemple, si vous savez que vous souhaitez définir la
HTTPRequest.line.limit propriété et que vous voulez connaître la valeur du jeton utilisé pour la définir,
alors grep pour la propriété dans le /opt/apigee/edge-management-server/source
répertoire :
grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source
Vous devriez voir un résultat au format suivant :
/opt/apigee/component_name/source/conf/http.properties:property_name={T}token_name{/T}L'exemple suivant montre la valeur du jeton HTTPRequest.line.limit du serveur de gestion :
/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}La chaîne entre les balises {T}{/T} correspond au nom du jeton que vous pouvez définir
dans le fichier .properties du composant.
Définir un jeton actuellement commenté
Certains jetons sont commentés dans les fichiers de configuration Edge. Si vous essayez de définir un jeton qui est commenté dans un fichier de configuration d'installation ou de composant, votre paramètre est ignoré.
Pour définir la valeur d'un jeton commenté dans un fichier de configuration Edge, utilisez une syntaxe spéciale au format suivant :
conf/filename+propertyName=propertyValue
Par exemple, pour définir la propriété nommée HTTPClient.proxy.host sur le processeur de messages, utilisez d'abord grep pour déterminer son jeton :
grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"
La commande grep renvoie des résultats incluant le nom du jeton. Notez
que le nom de la propriété est commenté, comme indiqué par le # préfixe :
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=Pour définir la valeur de cette propriété, modifiez
/opt/apigee/customer/application/message-processor.properties, mais utilisez une syntaxe spéciale, comme le montre l'exemple suivant :
conf/http.properties+HTTPClient.proxy.host=myhost.name.com
Dans ce cas, vous devez ajouter le préfixe conf/http.properties+ au nom de la propriété. Il s'agit de l'emplacement et du nom du fichier de configuration contenant la propriété, suivis de "+".
Après avoir redémarré le processeur de messages, examinez le fichier
/opt/apigee/edge-message-processor/conf/http.properties :
cat /opt/apigee/edge-message-processor/conf/http.properties
À la fin du fichier, vous verrez la propriété définie au format suivant :
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
Activer ou désactiver le protocole HTTP/2 dans la nouvelle interface utilisateur Edge
Cette section explique comment activer ou désactiver le protocole HTTP/2 dans la nouvelle interface utilisateur Edge (edge-management-ui).
- Créez ou modifiez
/opt/apigee/customer/application/management-ui.propertieset assurez-vous que le fichier appartient àapigee:apigee. - Ajoutez le remplacement suivant pour activer ou désactiver le protocole HTTP/2 :
conf_uebe_disable_http2={true or false} - Enregistrez et redémarrez la nouvelle interface utilisateur Edge (
edge-management-ui).
Ajouter un format de journal personnalisé dans Apigee Router/Nginx
Dans certains cas, vous devrez peut-être modifier le format de journal par défaut d'Apigee Router/Nginx ou ajouter des variables. Pour mettre à jour la configuration du format de journal par défaut d'Apigee Router/Nginx :
- Créez un fichier
router.properties, s'il n'existe pas, avec le chemin indiqué ci-dessous :/opt/apigee/customer/application/router.properties
- Ajoutez le contenu suivant au fichier
router.propertiespour créer une nouvelle configurationlog_formatavec le nomrouter_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 Mettez à jour les variables dans les commandes ci-dessus, le cas échéant. Vous trouverez les valeurs de configuration par défaut pour
log_formatdans le fichier ci-dessous :/opt/apigee/edge-router/conf/load_balancing.properties
Une liste des variables Nginx s'affiche sur la page http://nginx.org/en/docs/varindex.html.
- Redémarrez le routeur pour appliquer la nouvelle configuration :
apigee-service edge-router restart
- Vérifiez si la nouvelle
log_formatconfiguration (router_new) a été ajoutée au fichier/opt/nginx/conf.d/0-default.conf:cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
- Envoyez des requêtes API à un proxy d'API et vérifiez le nouveau format de journal dans le fichier
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file