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 Attribute festzulegen. Wenn Sie Änderungen an .properties
-Dateien vornehmen, müssen Sie die betroffene Edge-Komponente neu starten.
Apigee bezeichnet die Bearbeitung von .properties
-Dateien als Code mit Konfiguration (manchmal abgekürzt als CwC). Im Grunde ist Code mit Konfiguration ein Tool zum Nachschlagen von Schlüssel/Wert-Paaren, das auf Einstellungen in .properties
-Dateien basiert. Im Code mit Konfiguration werden die Schlüssel als Tokens bezeichnet. Daher legen Sie zum Konfigurieren von Edge Tokens in .properties
-Dateien fest.
Mit „Code with config“ können Edge-Komponenten Standardwerte festlegen, die mit dem Produkt ausgeliefert werden. Das Installationsteam kann diese Einstellungen basierend auf der Installationstopologie überschreiben und Kunden können dann alle gewünschten Eigenschaften überschreiben.
Wenn Sie sich das als Hierarchie vorstellen, sind die Einstellungen so angeordnet, dass Kundeneinstellungen die höchste Priorität haben und alle Einstellungen des Installationsteams oder von Apigee überschreiben:
- Kunde
- Installierer
- 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 untersuchende 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 Tokens conf_http_HTTPRequest.line.limit
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 #
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 Property-Namen oder Schlüsselwort zu suchen. Weitere Informationen finden Sie unter Token suchen.
Attributdateien
Es gibt bearbeitbare und nicht bearbeitbare Konfigurationsdateien für Komponenten. In diesem Abschnitt werden diese Dateien beschrieben.
Bearbeitbare Konfigurationsdateien für Komponenten
In der folgenden Tabelle sind die Apigee-Komponenten und die Attributdateien aufgeführt, die Sie bearbeiten können, um diese Komponenten zu konfigurieren:
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; wirkt sich nicht auf die klassische Benutzeroberfläche aus) | apigee-management-ui |
Nicht zutreffend (Verwenden Sie die Installationskonfigurationsdatei.) |
SymasLDAP | 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 Konfigurationsdateien für Komponenten festlegen möchten, es aber nicht vorhanden ist, können Sie es am oben aufgeführten Speicherort erstellen.
Außerdem müssen Sie dafür sorgen, dass der Inhaber der Attributdatei der Nutzer „apigee“ ist:
chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties
Nicht bearbeitbare Konfigurationsdateien für Komponenten
Neben den bearbeitbaren Konfigurationsdateien für Komponenten gibt es auch Konfigurationsdateien, die Sie nicht bearbeiten können.
Zu den Informationsdateien (nicht bearbeitbar) gehören:
Inhaber | Dateiname oder Verzeichnis |
---|---|
Installation | /opt/apigee/token |
Komponente | /opt/apigee/component_name/conf Dabei gibt component_name die Komponente an. Zulässige Werte:
|
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:
- Erstellen Sie in einem Editor eine neue Textdatei. Der Dateiname muss mit der Liste in der Tabelle oben für Kundendateien übereinstimmen.
- Ä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, der den Edge-Dienst ausführt, vom Nutzer „apigee“ geändert haben, verwenden Sie
chown
, um den Inhaber zu dem Nutzer 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 alle Eigenschaften, die Sie für die Komponente festgelegt haben, beim Upgrade beibehalten werden.
So legen Sie den Wert eines Tokens fest:
- Bearbeiten Sie die
.properties
-Datei der Komponente. - 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 durch ein Komma, wie im folgenden Beispiel:
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.
- 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 den Router beispielsweise nach dem Bearbeiten von
router.properties
neu:/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- (Optional) Prüfen Sie mit der Option
configure -search
, ob der Tokenwert auf den neuen Wert festgelegt ist. Beispiel:/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 erforderlichen Tokens in dieser Anleitung angegeben. Wenn Sie jedoch den Wert eines vorhandenen Tokens überschreiben müssen, dessen vollständiger Name oder Speicherort Ihnen nicht bekannt ist, verwenden Sie grep
, um das Verzeichnis source
der Komponente zu durchsuchen.
Wenn Sie beispielsweise wissen, dass Sie in einer früheren Version von Edge die session.maxAge
-Property festgelegt haben, und den dafür verwendeten Tokenwert ermitteln möchten, suchen Sie in /opt/apigee/edge-ui/source
nach grep
für die Property:
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 Benutzeroberfläche:
/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}
Die Zeichenfolge zwischen den {T}{/T}-Tags ist der Name des Tokens, das Sie in der .properties
-Datei der Benutzeroberfläche 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.
Wenn Sie den Wert eines Tokens festlegen möchten, das in einer Edge-Konfigurationsdatei auskommentiert ist, verwenden Sie eine spezielle Syntax in der folgenden Form:
conf/filename+propertyName=propertyValue
Wenn Sie beispielsweise die Property mit dem Namen HTTPClient.proxy.host
für den Message Processor festlegen möchten, rufen Sie zuerst grep
für die Property auf, um das zugehörige 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. Beachten Sie, dass der Attributname auskommentiert ist, was durch das Präfix # angezeigt wird:
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 Eigenschaft festlegen möchten, bearbeiten Sie /opt/apigee/customer/application/message-processor.properties
. Verwenden Sie dabei 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 ist der Speicherort und der Name der Konfigurationsdatei, die das Attribut enthält, gefolgt von „+“.
Nachdem Sie den Message Processor neu gestartet haben, untersuchen Sie 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 Property in folgender Form:
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
Weiterleitungsproxy für Anfragen aus dem Bereich „Anfragen senden“ der Trace-Benutzeroberfläche konfigurieren
In diesem Abschnitt wird erläutert, wie Sie einen Forward-Proxy für Anfragen aus dem Bereich „Anfragen senden“ der Trace-Benutzeroberfläche mit optionalen Proxy-Anmeldedaten konfigurieren. So konfigurieren Sie einen Weiterleitungs-Proxy:
- Bearbeiten Sie die Datei
/opt/apigee/customer/application/ui.properties
und prüfen Sie, obapigee:apigee
der Eigentümer der Datei ist. - Fügen Sie die folgenden Überschreibungen hinzu und ändern Sie die Werte entsprechend 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!
- 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 Standardlogformat für Apigee-Router/Nginx ändern oder Variablen hinzufügen. So aktualisieren Sie die Standardkonfiguration für das Apigee-Router-/Nginx-Logformat:
- Erstellen Sie eine
router.properties
-Datei, falls sie noch nicht vorhanden ist, mit dem unten gezeigten Pfad:/opt/apigee/customer/application/router.properties
- Fügen Sie der Datei
router.properties
den folgenden Inhalt hinzu, um eine neuelog_format
-Konfiguration mit dem Namenrouter_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.
- Starte den Router neu, um die neue Konfiguration anzuwenden:
apigee-service edge-router restart
- 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
- 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