Come configurare Edge

Per configurare Edge dopo l'installazione, utilizza una combinazione di file .properties e le utilità Edge. Ad esempio, per configurare TLS/SSL nella UI Edge, .properties per impostare le proprietà necessarie. Modifiche a .properties file richiedono il riavvio del componente Edge interessato.

Apigee si riferisce alla tecnica di modifica dei file .properties come codice con config (a volte abbreviato come CwC). Essenzialmente, il codice con config è una ricerca chiave/valore in base alle impostazioni dei file .properties. Nel codice con configurazione, le chiavi sono chiamate . Di conseguenza, per configurare Edge, devi impostare i token in .properties .

Il codice con configurazione consente ai componenti Edge di impostare valori predefiniti che vengono forniti con prodotto, consente al team di installazione di eseguire l'override di queste impostazioni in base alla topologia di installazione, e poi consente ai clienti di eseguire l'override delle strutture scelte da loro.

Se la pensi come una gerarchia, le impostazioni sono organizzate come segue, con il livello di impostazioni con la massima priorità, per sostituire quelle del team di installazione; oppure Apigee:

  1. Cliente
  2. Installatore
  3. Componente

Determina il valore attuale di un token

Prima di impostare un nuovo valore per un token in un file .properties, devi prima determinare il valore attuale utilizzando il seguente comando:

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

Dove component_name è il nome del componente e token è il token da esaminare.

Questo comando cerca nella gerarchia dei file .properties del componente in determinare il valore attuale del token.

L'esempio seguente verifica il valore corrente dell'attributo conf_http_HTTPRequest.line.limit token per il router:

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

Dovresti vedere un output simile al seguente:

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

Se il valore del token inizia con #, è stato commentato e devi utilizzare una sintassi speciale per modificarlo. Per ulteriori informazioni, vedi Imposta un token attualmente commentato.

Se non conosci il nome completo del token, utilizza uno strumento come grep per cercare dal nome della proprietà o dalla parola chiave. Per ulteriori informazioni, consulta la sezione Trovare un di accesso.

File delle proprietà

Sono presenti file di configurazione dei componenti modificabili e non modificabili. In questa sezione vengono descritti .

File di configurazione dei componenti modificabili

La tabella seguente elenca i componenti Apigee e i file delle proprietà che puoi utilizzare per configurare questi componenti:

Componente Nome componente File di configurazione modificabile
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
SSO Apigee apigee-sso /opt/apigee/customer/application/sso.properties
Server di gestione edge-management-server /opt/apigee/customer/application/management-server.properties
processore di messaggi edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
UI classica (non influisce sulla nuova UI Edge) edge-ui /opt/apigee/customer/application/ui.properties
UI Edge (solo nuova UI Edge; non influisce sull'UI classica) apigee-management-ui n/d (usa il file di configurazione dell'installazione)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Server Postgres edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
Database PostgreSQL apigee-postgresql /opt/apigee/customer/application/postgressql.properties
Server Qpid 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

Se vuoi impostare una proprietà in uno di questi file di configurazione dei componenti, ma esistenti, puoi crearli nella posizione indicata sopra.

Inoltre, devi assicurarti che il file delle proprietà appartenga all'elemento "apigee" utente:

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

File di configurazione dei componenti non modificabili

Oltre ai file di configurazione modificabili dei componenti, sono disponibili anche file di configurazione che non puoi modificare.

I file informativi (non modificabili) includono:

Proprietario Nome file o directory
Installazione
/opt/apigee/token
Componente
/opt/apigee/component_name/conf

Dove component_name identifica il componente. I valori possibili sono:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL database)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Management Server)
  • edge-management-ui (new Edge UI)
  • edge-message-processor (Message Processor)
  • edge-postgres-server (Postgres Server)
  • edge-qpid-server (Qpid Server)
  • edge-router (Edge Router)
  • edge-ui (Classic UI)

Imposta un valore del token

Puoi modificare solo i file .properties in Directory /opt/apigee/customer/application. Ogni componente ha il suo .properties in quella directory. Ad esempio, router.properties e management-server.properties. Per un elenco completo dei file delle proprietà, consulta la sezione Posizione dei file .properties.

Per creare un file .properties:

  1. Crea un nuovo file di testo in un editor. Il nome del file deve corrispondere a quello dell'elenco riportata sopra per i file dei clienti.
  2. Modifica il proprietario del file in "apigee:apigee", come mostra l'esempio seguente:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Se hai modificato l'utente che esegue il servizio Edge da "apigee" utente, utilizza chown per cambiare la proprietà per l'utente che esegue Edge completamente gestito di Google Cloud.

Quando esegui l'upgrade di Edge, i file .properties La directory /opt/apigee/customer/application è stata letta. Ciò significa che l'upgrade tutte le proprietà impostate sul componente.

Per impostare il valore di un token:

  1. Modifica il file .properties del componente.
  2. Aggiungi o modifica il valore del token. Nell'esempio seguente viene impostato il valore dell'attributo conf_http_HTTPRequest.line.limit a "10.000":
    conf_http_HTTPRequest.line.limit=10k

    Se il token accetta più valori, separa ogni valore con una virgola, come segue: un esempio mostra:

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

    Per aggiungere un nuovo valore a un elenco come questo, in genere si aggiunge il nuovo valore alla fine dell'elenco.

  3. Riavvia il componente:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    Dove component_name è uno dei seguenti:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL database)
    • apigee-qpidd (Qpidd)
    • apigee-sso (Edge SSO)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (Management Server)
    • edge-management-ui (new Edge UI)
    • edge-message-processor (Message Processor)
    • edge-postgres-server (Postgres Server)
    • edge-qpid-server (Qpid Server)
    • edge-router (Edge Router)
    • edge-ui (Classic UI)

    Ad esempio, dopo aver modificato router.properties, riavvia il router:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Facoltativo) Verifica che il valore del token sia impostato sul nuovo valore utilizzando la proprietà Opzione configure -search. Ad esempio:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Per ulteriori informazioni su configure -search, vedi Determina il valore attuale di un token.

Individuare un token

Nella maggior parte dei casi, i token da impostare sono identificati in questa guida. Tuttavia, se hai bisogno per eseguire l'override del valore di un token esistente di cui non sei sicuro del nome completo o della località, usa grep per eseguire una ricerca nella directory source del componente.

Ad esempio, se sai che in una release precedente di Edge hai impostato session.maxAge proprietà e vuoi conoscere il valore del token utilizzato per impostarla, poi grep per la proprietà in /opt/apigee/edge-ui/source directory:

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

Dovresti vedere un risultato nel seguente formato:

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

L'esempio seguente mostra il valore del token session.maxAge dell'interfaccia utente:

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

La stringa tra i tag {T}{/T} è il nome del token che puoi impostare nel file .properties dell'interfaccia utente.

Imposta un token attualmente commentato

Alcuni token sono commentato nei file di configurazione di Edge. Se provi a impostare un token è commentato in un file di installazione o di configurazione di un componente, la tua impostazione viene ignorata.

Per impostare il valore di un token commentato in un file di configurazione Edge, utilizza l'opzione nel formato seguente:

conf/filename+propertyName=propertyValue

Ad esempio, per impostare la proprietà denominata HTTPClient.proxy.host nel campo Processore, primo grep affinché la proprietà determini il relativo token:

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

Il comando grep restituisce risultati che includono il nome del token. Avvisi come viene commentato il nome della proprietà, come indicato dal prefisso #:

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=

Per impostare il valore di questa proprietà, modifica /opt/apigee/customer/application/message-processor.properties, ma usa un'etichetta speciale , come illustrato nell'esempio seguente:

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

In questo caso, devi far precedere il nome della proprietà da conf/http.properties+. Questo è la posizione e il nome del file di configurazione contenente la proprietà seguita da "+".

Dopo aver riavviato il processore di messaggi, esamina il file /opt/apigee/edge-message-processor/conf/http.properties:

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

Alla fine del file, vedrai la proprietà impostata nel formato:

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

Configura il proxy di inoltro per le richieste dalla sezione Invia richieste dell'interfaccia utente di Trace

Questa sezione spiega come configurare il proxy di inoltro per le richieste dal Sezione Invia richieste dell'interfaccia utente di Trace con credenziali proxy facoltative. Per configurare il proxy di inoltro:

  1. Modifica /opt/apigee/customer/application/ui.properties e assicurati che il file sia di proprietà di apigee:apigee.
  2. Aggiungi i seguenti override (modificando i valori nella tua configurazione proxy specifica):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Salva e riavvia la UI classica.

Aggiungi un formato di log personalizzato nel router Apigee/Nginx

In alcuni casi, hai dovuto modificare il formato di log predefinito di Apigee Router/Nginx oppure e aggiungere variabili. Aggiornare il formato di log predefinito del router Apigee/Nginx configurazione:

  1. Crea un file router.properties, se non esiste, con il percorso indicato di seguito:
    /opt/apigee/customer/application/router.properties
  2. Aggiungi i seguenti contenuti al file router.properties per creare una nuova configurazione log_format con il nome 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

    Aggiorna le variabili nei comandi riportati sopra in base alle esigenze. Puoi trovare l'impostazione predefinita valori di configurazione per log_format nel file seguente:

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

    Puoi trovare un elenco di variabili Nginx all'indirizzo http://nginx.org/en/docs/varindex.html.

  3. Riavvia il router per applicare la nuova configurazione:
    apigee-service edge-router restart
  4. Controlla se la nuova configurazione di log_format Il file (router_new) è stato aggiunto al file /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Invia alcune richieste API a un proxy API e verifica il nuovo formato di log nel file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file