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 l'interface utilisateur Edge, vous devez modifier les fichiers .properties
pour 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 avec config (parfois abrégé en CwC). En substance, le code avec configuration est un outil de recherche de clé/valeur basé sur les paramètres des fichiers .properties
. Dans le code avec configuration, les clés sont appelées jetons. Par conséquent, pour configurer Edge, vous devez définir des jetons dans les fichiers .properties
.
Le code avec configuration permet aux composants Edge de définir des valeurs par défaut fournies avec le produit, permet à l'équipe d'installation de remplacer ces paramètres en fonction de la topologie d'installation, puis permet aux clients de remplacer les propriétés de leur choix.
Si vous considérez les paramètres comme une hiérarchie, ils 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 dans 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
Le résultat doit ressembler à ceci :
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 #
, cela signifie qu'il a été mis en commentaire et que vous devez utiliser une syntaxe spéciale pour le modifier. Pour en savoir plus, consultez Définir un jeton actuellement mis en commentaire.
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 Localiser 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 des composants modifiables
Le tableau suivant liste 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 |
Apigee SSO | apigee-sso |
/opt/apigee/customer/application/sso.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 |
Interface utilisateur classique (sans incidence sur la nouvelle interface utilisateur Edge) | edge-ui |
/opt/apigee/customer/application/ui.properties |
Interface utilisateur Edge (nouvelle interface utilisateur Edge uniquement ; n'affecte pas l'interface utilisateur classique) | apigee-management-ui |
n/a (utiliser le fichier de configuration de l'installation) |
SymasLDAP | 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 composant, 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 des composants non modifiables
En plus des fichiers de configuration des composants modifiables, il existe également des fichiers de configuration que vous ne pouvez pas modifier.
Les fichiers informatifs (non modifiables) incluent les éléments suivants :
Propriétaire | Nom de fichier ou de 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 une valeur de jeton
Vous ne pouvez modifier que les fichiers .properties
du répertoire /opt/apigee/customer/application
. Chaque composant possède son propre fichier .properties
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 client doit correspondre à celui indiqué dans le tableau ci-dessus.
- 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
chown
pour transférer la propriété à l'utilisateur qui exécute le service Edge.
Lorsque vous mettez à niveau Edge, les fichiers .properties
du répertoire /opt/apigee/customer/application
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
.properties
du composant. - Ajoutez ou modifiez la valeur du jeton. L'exemple suivant définit la valeur de la propriété
conf_http_HTTPRequest.line.limit
sur "10k" :conf_http_HTTPRequest.line.limit=10k
Si le jeton accepte plusieurs valeurs, séparez-les par une virgule, comme dans l'exemple suivant :
conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*
Pour ajouter une valeur à une liste comme celle-ci, vous l'ajoutez généralement à 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-sso
(authentification unique Edge)apigee-zookeeper
(ZooKeeper)edge-management-server
(serveur de gestion)edge-management-ui
(nouvelle interface utilisateur de périphérie)edge-message-processor
(processeur de messages)edge-postgres-server
(serveur Postgres)edge-qpid-server
(serveur Qpid)edge-router
(routeur périphérique)edge-ui
(interface utilisateur classique)
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'option
configure -search
. 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.
Localiser 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 rechercher le répertoire source
du composant.
Par exemple, si vous savez que dans une version précédente d'Edge, vous avez défini la propriété session.maxAge
et que vous souhaitez connaître la valeur du jeton utilisée pour la définir, grep
pour la propriété dans le répertoire /opt/apigee/edge-ui/source
:
grep -ri "session.maxAge" /opt/apigee/edge-ui/source
Vous devriez obtenir un résultat au format suivant :
/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}
L'exemple suivant montre la valeur du jeton session.maxAge
de l'UI :
/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}
La chaîne entre les balises {T}{/T} correspond au nom du jeton que vous pouvez définir dans le fichier .properties
de l'UI.
Définir un jeton actuellement mis en commentaire
Certains jetons sont commentés dans les fichiers de configuration Edge. Si vous essayez de définir un jeton qui est mis en commentaire dans un fichier de configuration d'installation ou de composant, votre paramètre est ignoré.
Pour définir la valeur d'un jeton mis en commentaire dans un fichier de configuration Edge, utilisez une syntaxe spéciale sous la forme suivante :
conf/filename+propertyName=propertyValue
Par exemple, pour définir la propriété nommée HTTPClient.proxy.host
sur le processeur de messages, commencez par grep
pour la propriété afin de 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 mis en commentaire, 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 faire précéder le nom de la propriété de conf/http.properties+
. 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 l'ensemble de propriétés défini, sous la forme suivante :
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
Configurer le proxy de transfert pour les requêtes de la section "Envoyer des requêtes" de l'interface utilisateur Trace
Cette section explique comment configurer un proxy inverse pour les requêtes de la section "Envoyer des requêtes" de l'interface utilisateur Trace, avec des identifiants de proxy facultatifs. Pour configurer le proxy de transfert :
- Modifiez le fichier
/opt/apigee/customer/application/ui.properties
et assurez-vous qu'il appartient àapigee:apigee
. - Ajoutez les remplacements suivants (en modifiant les valeurs en fonction de la configuration de votre proxy) :
conf_application_http.proxyhost=proxy.example.com conf_application_http.proxyport=8080 conf_application_http.proxyuser=apigee conf_application_http.proxypassword=Apigee123!
- Enregistrez et redémarrez l'UI classique.
Ajouter un format de journal personnalisé dans le routeur Apigee/Nginx
Dans certains cas, vous devrez peut-être modifier le format de journal par défaut du routeur Apigee/Nginx ou ajouter des variables. Pour mettre à jour la configuration du format de journal par défaut du routeur Apigee/Nginx :
- Créez un fichier
router.properties
, s'il n'existe pas, avec le chemin d'accès indiqué ci-dessous :/opt/apigee/customer/application/router.properties
- Ajoutez le contenu suivant au fichier
router.properties
pour créer une configurationlog_format
avec 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 selon vos besoins. Vous trouverez les valeurs de configuration par défaut pour
log_format
dans le fichier ci-dessous :/opt/apigee/edge-router/conf/load_balancing.properties
Une liste des variables Nginx est disponible sur 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 configuration
log_format
(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 d'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