So konfigurieren Sie Edge

Zum Konfigurieren von Edge nach der Installation verwenden Sie eine Kombination aus .properties-Dateien und Edge-Dienstprogrammen. Wenn Sie beispielsweise TLS/SSL in der Edge-Benutzeroberfläche konfigurieren möchten, bearbeiten Sie .properties-Dateien, um die erforderlichen Eigenschaften festzulegen. Bei Änderungen an .properties-Dateien müssen Sie die betroffene Edge-Komponente neu starten.

Bei Apigee wird die Bearbeitung von .properties-Dateien als Code mit Konfiguration (manchmal auch als CwC abgekürzt) bezeichnet. Im Grunde ist „Code with config“ ein Schlüssel/Wert-Suchtool, das auf den Einstellungen in .properties-Dateien basiert. Im Code mit Konfiguration werden die Schlüssel als Tokens bezeichnet. Zum Konfigurieren von Edge legen Sie daher Tokens in .properties-Dateien fest.

Mit Code mit Konfigurationsdatei können Edge-Komponenten Standardwerte festlegen, die mit dem Produkt geliefert werden. Das Installationsteam kann diese Einstellungen basierend auf der Installationstopologie überschreiben und Kunden können dann die von ihnen ausgewählten Eigenschaften überschreiben.

Wenn Sie sich die Einstellungen als Hierarchie vorstellen, sind sie so angeordnet, dass die Kundeneinstellungen die höchste Priorität haben und alle Einstellungen des Installationsteams oder von Apigee ü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.

Mit diesem Befehl wird in der Hierarchie der .properties-Dateien der Komponente nach dem aktuellen Wert des Tokens gesucht.

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 es auskommentiert und Sie müssen eine spezielle Syntax verwenden, um ihn zu ändern. Weitere Informationen finden Sie unter Token festlegen, das derzeit kommentiert ist.

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

Attributdateien

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 Properties-Dateien 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, keine Auswirkungen auf die klassische Benutzeroberfläche) apigee-management-ui – (Installationskonfigurationsdatei 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
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 ein Attribut in einer dieser Komponentenkonfigurationsdateien festlegen möchten, es aber nicht vorhanden ist, können Sie es an dem oben aufgeführten Speicherort erstellen.

Außerdem muss der Nutzer „apigee“ Inhaber der Properties-Datei sein:

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

Nicht bearbeitbare Komponentenkonfigurationsdateien

Neben den bearbeitbaren Komponentenkonfigurationsdateien gibt es auch Konfigurationsdateien, die Sie nicht bearbeiten können.

Zu den nicht bearbeitbaren Informationsdateien gehören:

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

Dabei bezeichnet 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 in diesem Verzeichnis eine eigene .properties-Datei. Beispiel: router.properties und management-server.properties. Eine vollständige Liste der Properties-Dateien finden Sie unter Speicherort von .properties-Dateien.

So erstellen Sie eine .properties-Datei:

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

    Wenn Sie den Nutzer, der den Edge-Dienst ausführt, vom Nutzer „apigee“ geändert haben, verwenden Sie chown, um die Inhaberschaft auf den Nutzer zu übertragen, der den Edge-Dienst ausführt.

Beim Upgrade von Edge 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 .properties-Datei der Komponente.
  2. Fügen Sie den Wert des Tokens hinzu oder ändern Sie ihn. Im folgenden Beispiel wird der Wert der Property conf_http_HTTPRequest.line.limit auf „10.000“ festgelegt:
    conf_http_HTTPRequest.line.limit=10k

    Wenn für das Token mehrere Werte zulässig sind, trennen Sie die einzelnen Werte durch ein Komma, wie im folgenden Beispiel gezeigt:

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

    Wenn Sie einer solchen Liste einen neuen Wert hinzufügen möchten, hängen Sie ihn 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)

    Nachdem Sie router.properties bearbeitet haben, starten Sie beispielsweise den Router neu:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. Optional: Prüfen Sie mit 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 angegeben. Wenn Sie jedoch den Wert eines vorhandenen Tokens überschreiben möchten, dessen vollständiger Name oder Speicherort Ihnen nicht bekannt ist, verwenden Sie grep, um im Verzeichnis source der Komponente zu suchen.

Wenn Sie beispielsweise wissen, dass Sie in einer früheren Version von Edge die session.maxAge-Property festgelegt haben, und den Tokenwert dafür ermitteln möchten, grep Sie die Property im Verzeichnis /opt/apigee/edge-ui/source:

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

Sie sollten ein Ergebnis in folgender Form sehen:

/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 Benutzeroberfläche:

/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, den du in der .properties-Datei der Benutzeroberfläche festlegen kannst.

Token festlegen, das derzeit kommentiert 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.

Wenn Sie den Wert eines Tokens festlegen möchten, das in einer Edge-Konfigurationsdatei kommentiert ist, verwenden Sie die folgende spezielle Syntax:

conf/filename+propertyName=propertyValue

Wenn Sie beispielsweise die Property mit dem Namen HTTPClient.proxy.host auf dem Nachrichtenprozessor festlegen möchten, müssen Sie zuerst grep für die Property angeben, um das 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 Name der Property ist mit dem Präfix # kommentiert:

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 dieser Property festlegen möchten, bearbeiten Sie /opt/apigee/customer/application/message-processor.properties, verwenden Sie aber 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 conf/http.properties+ voranstellen. Das ist der Speicherort und der Name der Konfigurationsdatei, die die Property enthält, gefolgt von „+“.

Prüfen Sie nach dem Neustart von 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 das Property-Set in folgendem Format:

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

Weiterleitungsproxy für Anfragen im Bereich „Send Requests“ (Anfragen senden) der Trace-Benutzeroberfläche konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie einen Forward-Proxy für Anfragen im Bereich „Send Requests“ (Anfragen senden) der Trace-Benutzeroberfläche mit optionalen Proxy-Anmeldedaten konfigurieren. So konfigurieren Sie einen Weiterleitungs-Proxy:

  1. Bearbeiten Sie die Datei /opt/apigee/customer/application/ui.properties und prüfen Sie, ob der Eigentümer der Datei apigee:apigee ist.
  2. Fügen Sie die folgenden Überschreibungen hinzu (ändern Sie die Werte für Ihre spezifische 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 Änderungen und starten Sie die klassische Benutzeroberfläche neu.

Benutzerdefiniertes Logformat in Apigee Router/Nginx hinzufügen

In einigen Fällen müssen Sie möglicherweise das Standardformat des Apigee-Routers/Nginx-Logs ändern oder Variablen hinzufügen. So aktualisieren Sie die Standardkonfiguration des Apigee-Router-/Nginx-Logformats:

  1. Falls noch nicht vorhanden, erstellen Sie 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 nach Bedarf. 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
    .