Configurer Edge

Pour configurer Edge après l'installation, vous utilisez une combinaison de fichiers .properties et Edge. Par exemple, pour configurer TLS/SSL sur l'interface utilisateur Edge, vous devez modifier .properties pour définir les propriétés nécessaires. Modifications apportées à Les fichiers .properties nécessitent le redémarrage du composant Edge concerné.

Apigee fait référence à la technique d'édition des fichiers .properties sous forme de code avec config (parfois abrégé CwC). Globalement, le code avec configuration est une recherche 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 définissez des jetons dans .properties .

Le code avec configuration permet aux composants Edge de définir des valeurs par défaut fournies avec le permet à l'équipe d'installation de remplacer ces paramètres en fonction de la topologie de l'installation, et permet aux clients de remplacer les propriétés de leur choix.

Si vous le voyez sous forme de hiérarchie, les paramètres sont organisés comme suit : paramètres ayant la priorité la plus élevée pour remplacer ceux de l'équipe d'installation ou 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

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 déterminer la valeur actuelle du jeton.

L'exemple suivant vérifie la valeur actuelle de 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 à 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é commenté et que vous devez utiliser une syntaxe spéciale pour la modifier. Pour en savoir plus, consultez Définissez un jeton qui est actuellement commenté.

Si vous ne connaissez pas le nom complet du jeton, utilisez un outil tel que grep pour effectuer une recherche. par le nom de la propriété ou le mot clé. Pour en savoir plus, consultez la section Localiser jeton.

Fichiers de propriétés

Il existe des fichiers de configuration de composants modifiables et non modifiables. Cette section décrit ces .

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
SSO Apigee 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 (n'affecte pas 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 (utilisez le fichier de configuration d'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, vous pouvez le créer à l'emplacement indiqué ci-dessus.

En outre, vous devez vous assurer que le fichier de propriétés appartient à "apigee" utilisateur:

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 des fichiers que vous ne pouvez pas modifier.

Les fichiers d'information (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

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 dans le fichier /opt/apigee/customer/application. Chaque composant a sa propre .properties dans ce répertoire. Exemple : router.properties et management-server.properties. Pour obtenir la liste complète des fichiers de propriétés, Voir la section 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 figurant dans la tableau ci-dessus pour les fichiers clients.
  2. Remplacez le propriétaire du fichier par "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 la version « apigee » utilisateur, utiliser chown pour transférer la propriété à l'utilisateur qui exécute Edge. Google Cloud.

Lorsque vous mettez à niveau Edge, les fichiers .properties du /opt/apigee/customer/application sont lus. Cela signifie que la migration et conserve 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 du paramètre Propriété conf_http_HTTPRequest.line.limit sur "10k" :
    conf_http_HTTPRequest.line.limit=10k

    Si le jeton accepte plusieurs valeurs, séparez chaque valeur par une virgule, comme suit : dans cet exemple:

    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 ajouter la nouvelle valeur à la fin de la liste.

  3. Redémarrez le composant:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    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 la propriété 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éterminez la valeur actuelle d'un jeton.

Trouver un jeton

Dans la plupart des cas, les jetons que vous devez définir sont identifiés dans ce guide. Toutefois, si vous avez besoin pour 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, dans une version précédente d'Edge, vous avez défini le session.maxAge property et souhaitez connaître la valeur du jeton utilisée pour la définir, puis grep pour la propriété dans /opt/apigee/edge-ui/source répertoire:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Le résultat doit se présenter sous la forme suivante:

/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} correspond au nom du jeton que vous pouvez définir. dans le fichier .properties de l'UI.

Définir un jeton qui est actuellement commenté

Certains jetons sont commentés dans les fichiers de configuration Edge. Si vous essayez de définir un jeton est commenté dans un fichier d'installation ou de configuration de composant, votre paramètre est ignoré.

Pour définir la valeur d'un jeton qui est commenté dans un fichier de configuration Edge, utilisez sous la forme suivante:

conf/filename+propertyName=propertyValue

Par exemple, pour définir la propriété nommée HTTPClient.proxy.host sur l'objet Processeur, d'abord grep pour que la propriété détermine son jeton:

grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"

La commande grep renvoie les résultats incluant le nom du jeton. Avertissement La manière dont 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 un , 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é. Ce correspond à l'emplacement et au nom du fichier de configuration contenant la propriété, suivi du signe "+".

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:

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

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

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

  1. Modifiez /opt/apigee/customer/application/ui.properties et assurez-vous que le fichier est appartenant à apigee:apigee.
  2. Ajoutez les forçages suivants (en modifiant les valeurs de 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'interface utilisateur classique.

Ajouter un format de journal personnalisé dans Apigee Router/Nginx

Dans certains cas, vous devez modifier le format de journal par défaut du routeur Apigee/Nginx ou ajouter des variables. Pour mettre à jour le format de journal Apigee Router/Nginx par défaut configuration:

  1. S'il n'existe pas, créez un fichier router.properties en utilisant le chemin d'accès ci-dessous:
    /opt/apigee/customer/application/router.properties
  2. Ajoutez le contenu suivant au fichier router.properties pour créer une configuration log_format portant le nom router_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 pouvez trouver pour log_format dans le fichier ci-dessous:

    /opt/apigee/edge-router/conf/load_balancing.properties

    La liste des variables Nginx est disponible à l'adresse http://nginx.org/en/docs/varindex.html.

  3. Redémarrez le routeur pour appliquer la nouvelle configuration:
    apigee-service edge-router restart
  4. Vérifiez si la nouvelle configuration log_format (router_new) a été ajouté au fichier. /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Envoyer des requêtes API à un proxy d'API et vérifier le nouveau format de journal dans le fichier
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file