So konfigurieren Sie Edge

Um Edge nach der Installation zu konfigurieren, verwenden Sie eine Kombination aus .properties-Dateien und Edge-Dienstprogrammen. Wenn Sie beispielsweise TLS/SSL auf der Edge-UI konfigurieren möchten, bearbeiten Sie .properties-Dateien, um die erforderlichen Attribute festzulegen. Bei Änderungen an .properties-Dateien müssen Sie die betroffene Edge-Komponente neu starten.

Apigee bezeichnet die Bearbeitung von .properties-Dateien als Code mit config (manchmal auch als CwC abgekürzt). Im Wesentlichen handelt es sich bei Code mit „config“ um ein Schlüssel/Wert-Paar-Lookup-Tool, das auf Einstellungen in .properties-Dateien basiert. Im Code mit der Konfiguration werden die Schlüssel als Tokens bezeichnet. Legen Sie daher zum Konfigurieren von Edge Tokens in .properties-Dateien fest.

Code mit Konfiguration ermöglicht Edge-Komponenten, Standardwerte festzulegen, die mit dem Produkt geliefert werden. Das Installationsteam kann diese Einstellungen basierend auf der Installationstopologie überschreiben und Kunden können dann alle gewünschten Attribute überschreiben.

Wenn Sie es als Hierarchie betrachten, sind die Einstellungen so angeordnet, wobei die Kundeneinstellungen die höchste Priorität haben, um alle Einstellungen des Installationsteams oder von Apigee zu überschreiben:

  1. Kunde
  2. Installierer
  3. Komponente

Aktuellen Wert eines Tokens ermitteln

Bevor Sie einen neuen Wert für ein Token in einer .properties-Datei festlegen, sollten Sie zuerst den aktuellen Wert mit dem folgenden Befehl ermitteln:

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

Dabei ist component_name der Name der Komponente und token das zu prüfende Token.

Dieser Befehl durchsucht die Hierarchie der .properties-Dateien der Komponente, um den aktuellen Wert des Tokens zu ermitteln.

Im folgenden Beispiel wird der aktuelle Wert des conf_http_HTTPRequest.line.limit-Tokens für den Router geprüft:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Die Ausgabe sollte in etwa so aussehen:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Wenn der Wert des Tokens mit einem # beginnt, wurde er auskommentiert und Sie müssen eine spezielle Syntax verwenden, um ihn zu ändern. Weitere Informationen finden Sie unter Token festlegen, das derzeit auskommentiert ist.

Wenn Sie den vollständigen Namen des Tokens nicht kennen, verwenden Sie ein Tool wie grep, um nach dem Attributnamen oder Schlüsselwort zu suchen. Weitere Informationen finden Sie unter Token finden.

Eigenschaftendateien

Es gibt bearbeitbare und nicht bearbeitbare Komponentenkonfigurationsdateien. In diesem Abschnitt werden diese Dateien beschrieben.

Bearbeitbare Komponentenkonfigurationsdateien

In der folgenden Tabelle sind die Apigee-Komponenten und die Attributdateien aufgeführt, die Sie zum Konfigurieren dieser Komponenten bearbeiten können:

Komponente Komponentenname Bearbeitbare Konfigurationsdatei
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Apigee-SSO apigee-sso /opt/apigee/customer/application/sso.properties
Verwaltungsserver 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
Klassische Benutzeroberfläche (hat keine Auswirkungen auf die neue Edge-Benutzeroberfläche) edge-ui /opt/apigee/customer/application/ui.properties
Edge-Benutzeroberfläche (nur neue Edge-Benutzeroberfläche; hat keine Auswirkungen auf die klassische Benutzeroberfläche) apigee-management-ui Nicht zutreffend (Konfigurationsdatei für Installation verwenden)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Postgres-Server edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
PostgreSQL-Datenbank apigee-postgresql /opt/apigee/customer/application/postgresql.properties
Qpid-Server edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
Logo: 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

Wenn Sie eine Eigenschaft in einer dieser Komponentenkonfigurationsdateien festlegen möchten, diese aber nicht vorhanden ist, können Sie sie am oben genannten Speicherort erstellen.

Darüber hinaus müssen Sie sicherstellen, dass die Eigenschaftsdatei dem Benutzer „apigee“ gehört:

chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties

Nicht bearbeitbare Komponentenkonfigurationsdateien

Zusätzlich zu den bearbeitbaren Komponentenkonfigurationsdateien gibt es auch Konfigurationsdateien, die Sie nicht bearbeiten können.

Zu den Informationsdateien, die nicht bearbeitet werden können, gehören:

Inhaber Dateiname oder Verzeichnis
Installation
/opt/apigee/token
Komponente
/opt/apigee/component_name/conf

Dabei identifiziert component_name die Komponente. Zulässige Werte:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL-Datenbank)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge-SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Verwaltungsserver)
  • edge-management-ui (neue Edge-Benutzeroberfläche)
  • edge-message-processor (Nachrichtenprozessor)
  • edge-postgres-server (Postgres-Server)
  • edge-qpid-server (Qpid-Server)
  • edge-router (Edge-Router)
  • edge-ui (klassische Benutzeroberfläche)

Tokenwert festlegen

Sie können nur die .properties-Dateien im Verzeichnis /opt/apigee/customer/application ändern. Jede Komponente hat ihre eigene .properties-Datei in diesem Verzeichnis. Beispiel: router.properties und management-server.properties. Eine vollständige Liste der Attributdateien finden Sie unter Speicherort von .properties-Dateien.

So erstellen Sie eine .properties-Datei:

  1. Erstellen Sie eine neue Textdatei in einem Editor. Der Dateiname muss mit der Liste in der obigen Tabelle für Kundendateien übereinstimmen.
  2. Ändern Sie den Inhaber der Datei in „apigee:apigee“, wie im folgenden Beispiel gezeigt:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Wenn Sie den Nutzer geändert haben, der den Edge-Dienst vom „apigee“-Benutzer aus ausführt, verwenden Sie chown, um die Eigentümerschaft auf den Benutzer zu ändern, der den Edge-Dienst ausführt.

Wenn Sie Edge aktualisieren, werden die .properties-Dateien im Verzeichnis /opt/apigee/customer/application gelesen. Das bedeutet, dass beim Upgrade alle Eigenschaften beibehalten werden, die Sie für die Komponente festgelegt haben.

So legen Sie den Wert eines Tokens fest:

  1. Bearbeiten Sie die Datei .properties der Komponente.
  2. Fügen Sie den Wert des Tokens hinzu oder ändern Sie ihn. Im folgenden Beispiel wird der Wert des Attributs conf_http_HTTPRequest.line.limit auf „10k“ festgelegt:
    conf_http_HTTPRequest.line.limit=10k

    Wenn das Token mehrere Werte annimmt, trennen Sie die einzelnen Werte wie im folgenden Beispiel durch ein Komma:

    conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

    Um einer Liste wie dieser einen neuen Wert hinzuzufügen, hängen Sie den neuen Wert in der Regel an das Ende der Liste an.

  3. Starten Sie die Komponente neu:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    Dabei kann component_name für folgendes stehen:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL-Datenbank)
    • apigee-qpidd (Qpidd)
    • apigee-sso (Edge-SSO)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (Verwaltungsserver)
    • edge-management-ui (neue Edge-Benutzeroberfläche)
    • edge-message-processor (Nachrichtenprozessor)
    • edge-postgres-server (Postgres-Server)
    • edge-qpid-server (Qpid-Server)
    • edge-router (Edge-Router)
    • edge-ui (klassische Benutzeroberfläche)

    Starten Sie beispielsweise nach dem Bearbeiten von router.properties den Router neu:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Optional) Prüfen Sie mithilfe der Option configure -search, ob der Tokenwert auf den neuen Wert festgelegt ist. Beispiele:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Weitere Informationen zu configure -search finden Sie unter Aktuellen Wert eines Tokens ermitteln.

Token suchen

In den meisten Fällen werden die Tokens, die Sie festlegen müssen, in diesem Leitfaden identifiziert. Wenn Sie jedoch den Wert eines vorhandenen Tokens überschreiben müssen, dessen vollständiger Name oder Speicherort Sie sich nicht sicher sind, verwenden Sie grep, um im Verzeichnis source der Komponente zu suchen.

Wenn Sie beispielsweise wissen, dass Sie in einem vorherigen Release von Edge das Attribut session.maxAge festgelegt haben und wissen möchten, mit welchem Tokenwert es festgelegt wurde, dann grep für das Attribut im Verzeichnis /opt/apigee/edge-ui/source:

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

Das Ergebnis sollte in etwa so aussehen:

/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}

Das folgende Beispiel zeigt den Wert des session.maxAge-Tokens der UI:

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

Der String zwischen den {T}{/T}-Tags ist der Name des Tokens, das Sie in der Datei .properties der UI festlegen können.

Token festlegen, das derzeit auskommentiert ist

Einige Tokens sind in den Edge-Konfigurationsdateien auskommentiert. Wenn Sie versuchen, ein Token festzulegen, das in einer Installations- oder Komponentenkonfigurationsdatei auskommentiert ist, wird Ihre Einstellung ignoriert.

Verwenden Sie eine spezielle Syntax in der folgenden Form, um den Wert eines Tokens festzulegen, das in einer Edge-Konfigurationsdatei auskommentiert ist:

conf/filename+propertyName=propertyValue

Um beispielsweise das Attribut HTTPClient.proxy.host für den Message Processor festzulegen, müssen Sie zuerst grep für das Attribut verwenden, um sein Token zu ermitteln:

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

Der Befehl grep gibt Ergebnisse zurück, die den Tokennamen enthalten. Der Attributname ist auskommentiert, wie durch das Präfix # angegeben:

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=

Wenn Sie den Wert dieses Attributs festlegen möchten, bearbeiten Sie /opt/apigee/customer/application/message-processor.properties. Verwenden Sie jedoch eine spezielle Syntax, wie im folgenden Beispiel gezeigt:

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

In diesem Fall müssen Sie dem Attributnamen das Präfix conf/http.properties+ voranstellen. Dies sind der Speicherort und der Name der Konfigurationsdatei, die das Attribut enthält, gefolgt von „+“.

Prüfen Sie nach dem Neustart des Message Processor die Datei /opt/apigee/edge-message-processor/conf/http.properties:

cat /opt/apigee/edge-message-processor/conf/http.properties

Am Ende der Datei sehen Sie die festgelegte Eigenschaft in folgendem Format:

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

Weiterleitungs-Proxy für Anfragen aus dem Bereich „Anfrage senden“ der Trace-UI konfigurieren

In diesem Abschnitt wird erläutert, wie Sie den Weiterleitungs-Proxy für Anfragen aus dem Bereich „Anfragen senden“ der Trace-UI mit optionalen Proxy-Anmeldedaten konfigurieren. So konfigurieren Sie den Weiterleitungs-Proxy:

  1. Bearbeiten Sie die Datei /opt/apigee/customer/application/ui.properties und achten Sie darauf, dass der Inhaber der Datei apigee:apigee ist.
  2. Fügen Sie die folgenden Überschreibungen hinzu und ändern Sie die Werte an Ihrer spezifischen Proxykonfiguration:
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Speichern Sie die klassische Benutzeroberfläche und starten Sie sie neu.

Benutzerdefiniertes Logformat in Apigee Router/Nginx hinzufügen

In einigen Fällen mussten Sie entweder das Standardformat von Apigee Router/Nginx-Logs ändern oder Variablen hinzufügen. So aktualisieren Sie die Standardkonfiguration für das Apigee Router/Nginx-Logformat:

  1. Erstellen Sie, falls noch nicht vorhanden, eine router.properties-Datei mit dem folgenden Pfad:
    /opt/apigee/customer/application/router.properties
  2. Fügen Sie der Datei router.properties den folgenden Inhalt hinzu, um eine neue log_format-Konfiguration mit dem Namen router_new zu erstellen:
    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

    Aktualisieren Sie die Variablen in den obigen Befehlen entsprechend. Die Standardkonfigurationswerte für log_format finden Sie in der folgenden Datei:

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

    Eine Liste der Nginx-Variablen finden Sie unter http://nginx.org/en/docs/varindex.html.

  3. Starten Sie den Router neu, um die neue Konfiguration anzuwenden:
    apigee-service edge-router restart
  4. Prüfen Sie, ob die neue log_format-Konfiguration (router_new) der Datei /opt/nginx/conf.d/0-default.conf hinzugefügt wurde:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Senden Sie einige API-Anfragen an einen API-Proxy und prüfen Sie das neue Logformat in der Datei
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file