Configurer Edge

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 sur 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 désigne la technique de modification des fichiers .properties par l'expression code avec configuration (parfois abrégée en CwC). En gros, 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, à 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 du client ayant la priorité la plus élevée pour remplacer les paramètres de l'équipe d'installation ou d'Apigee :

  1. Client
  2. Installateur
  3. 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 qui s'affiche doit ressembler à l'exemple qui suit :

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é mise en commentaire et vous devez utiliser une syntaxe spéciale pour la 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 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
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
UI classique (n'affecte pas la nouvelle UI Edge) edge-ui /opt/apigee/customer/application/ui.properties
UI Edge (nouvelle UI Edge uniquement ; n'affecte pas l'UI classique) apigee-management-ui n/a (utiliser le fichier de configuration de l'installation)
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/postgressql.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.

En outre, 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

En plus des fichiers de configuration des composants modifiables, il existe également des fichiers de configuration que vous ne pouvez pas modifier.

Les fichiers d'information (non modifiables) sont les 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 :

  • 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)

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 :

  1. Créez un fichier texte dans un éditeur. Le nom du fichier doit correspondre à la liste présentée dans le tableau ci-dessus pour les fichiers client.
  2. Remplacez le propriétaire du fichier par "apigee:apigee", comme illustré dans l'exemple suivant :
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Si vous avez remplacé l'utilisateur qui exécute le service Edge par l'utilisateur "apigee", utilisez chown pour modifier la propriété de 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 :

  1. Modifiez le fichier .properties du composant.
  2. 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 illustré 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.

  3. 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
  4. (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 ne connaissez pas le nom complet ou 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 semblable à celui-ci :

/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'interface utilisateur :

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

La chaîne entre les balises {T}{/T} est le 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 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 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, 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 qui incluent le nom du jeton. Notez que le nom de la propriété est mis en commentaire, comme l'indique 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 illustré dans 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, sous la forme suivante :

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

Configurer un proxy de transfert pour les requêtes de la section "Envoyer des requêtes" de l'interface utilisateur de Trace

Cette section explique comment configurer un proxy de transfert pour les requêtes de la section "Envoyer des requêtes" de l'interface utilisateur de Trace avec des identifiants de proxy facultatifs. Pour configurer le proxy de transfert :

  1. Modifiez le fichier /opt/apigee/customer/application/ui.properties et assurez-vous qu'il appartient à apigee:apigee.
  2. Ajoutez les remplacements suivants (en remplaçant les valeurs par votre configuration de proxy spécifique) :
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Enregistrez et redémarrez l'UI classique.