Come configurare Edge

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

Apigee si riferisce alla tecnica di modifica dei file .properties come codice con configurazione (a volte abbreviato come CwC). In sostanza, il codice con configurazione è uno strumento di ricerca di coppie chiave/valore basato sulle impostazioni dei file .properties. Nel codice con configurazione, le chiavi sono chiamate token. Pertanto, per configurare Edge, devi impostare i token nei file .properties.

Il codice con configurazione consente ai componenti Edge di impostare i valori predefiniti forniti con il prodotto, consente al team di installazione di sostituire queste impostazioni in base alla topologia di installazione e consente ai clienti di sostituire le proprietà che scelgono.

Se la consideri una gerarchia, le impostazioni sono organizzate nel seguente modo, con le impostazioni del cliente che hanno la priorità più alta per sostituire qualsiasi impostazione del team di installazione o di Apigee:

  1. Cliente
  2. Installatore
  3. Componente

Determinare il valore attuale di un token

Prima di impostare un nuovo valore per un token in un file .properties, devi prima determinarne 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 ispezionare.

Questo comando cerca nella gerarchia dei file .properties del componente per determinare il valore corrente del token.

L'esempio seguente controlla il valore attuale del token conf_http_HTTPRequest.line.limit 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 maggiori informazioni, vedi Impostare un token attualmente commentato.

Se non conosci il nome completo del token, utilizza uno strumento come grep per cercare in base al nome della proprietà o alla parola chiave. Per maggiori informazioni, vedi Individuare un token.

File delle proprietà

Esistono file di configurazione dei componenti modificabili e non modificabili. Questa sezione descrive questi file.

File di configurazione dei componenti modificabili

La seguente tabella elenca i componenti Apigee e i file di proprietà che puoi modificare 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 di Edge) edge-ui /opt/apigee/customer/application/ui.properties
UI perimetrale (solo nuova UI perimetrale; non influisce sulla UI classica) apigee-management-ui n/a (utilizza il file di configurazione dell'installazione)
SymasLDAP 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/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

Se vuoi impostare una proprietà in uno di questi file di configurazione dei componenti, ma non esiste, puoi crearla nella posizione elencata sopra.

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

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

File di configurazione dei componenti non modificabili

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

I file informativi (non modificabili) includono quanto segue:

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

Dove component_name identifica il componente. I valori possibili includono:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (database PostgreSQL)
  • apigee-qpidd (qpidd)
  • apigee-sso (SSO perimetrale)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (server di gestione)
  • edge-management-ui (nuova UI di Edge)
  • edge-message-processor (Elaboratore messaggi)
  • edge-postgres-server (server Postgres)
  • edge-qpid-server (server Qpid)
  • edge-router (router Edge)
  • edge-ui (UI classica)

Impostare un valore del token

Puoi modificare solo i file .properties nella directory /opt/apigee/customer/application. Ogni componente ha il proprio file .properties in quella directory. Ad esempio, router.properties e management-server.properties. Per un elenco completo dei file delle proprietà, consulta 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 all'elenco mostrato nella tabella precedente per i file dei clienti.
  2. Modifica il proprietario del file in "apigee:apigee", come mostrato nell'esempio seguente:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Se hai modificato l'utente che esegue il servizio Edge dall'utente "apigee", utilizza chown per trasferire la proprietà all'utente che esegue il servizio Edge.

Quando esegui l'upgrade di Edge, vengono letti i file .properties nella directory /opt/apigee/customer/application. Ciò significa che l'upgrade manterrà 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. L'esempio seguente imposta il valore della proprietà conf_http_HTTPRequest.line.limit su "10k":
    conf_http_HTTPRequest.line.limit=10k

    Se il token accetta più valori, separa ciascun valore con una virgola, come mostrato nell'esempio seguente:

    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 lo aggiungi 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 (database PostgreSQL)
    • apigee-qpidd (qpidd)
    • apigee-sso (SSO perimetrale)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (server di gestione)
    • edge-management-ui (nuova UI di Edge)
    • edge-message-processor (Elaboratore messaggi)
    • edge-postgres-server (server Postgres)
    • edge-qpid-server (server Qpid)
    • edge-router (router Edge)
    • edge-ui (UI classica)

    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 l'opzione configure -search. Ad esempio:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Per saperne di più su configure -search, consulta Determinare il valore attuale di un token.

Individuare un token

Nella maggior parte dei casi, i token che devi impostare sono identificati in questa guida. Tuttavia, se devi ignorare il valore di un token esistente di cui non conosci il nome completo o la posizione, utilizza grep per cercare nella directory source del componente.

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

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 della UI:

/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 commentati nei file di configurazione di Edge. Se provi a impostare un token commentato in un file di configurazione di installazione o di componente, l'impostazione viene ignorata.

Per impostare il valore di un token commentato in un file di configurazione Edge, utilizza una sintassi speciale nel seguente formato:

conf/filename+propertyName=propertyValue

Ad esempio, per impostare la proprietà denominata HTTPClient.proxy.host nel processore di messaggi, esegui prima grep per la proprietà per determinare 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. Nota come il nome della proprietà è commentato, 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 utilizza una sintassi speciale, come mostrato nell'esempio seguente:

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

In questo caso, devi aggiungere il prefisso conf/http.properties+ al nome della proprietà. Questa è la posizione e il nome del file di configurazione contenente la proprietà, seguiti da "+".

Dopo aver riavviato Message Processor, 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 il set di proprietà 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 dalla sezione Invia richieste dell'interfaccia utente di Trace con credenziali proxy facoltative. Per configurare il proxy di inoltro:

  1. Modifica il file /opt/apigee/customer/application/ui.properties e assicurati che sia di proprietà di apigee:apigee.
  2. Aggiungi le seguenti sostituzioni (modificando i valori in base alla 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 l'interfaccia utente classica.

Aggiungere un formato di log personalizzato in Apigee Router/Nginx

In alcuni casi, potrebbe essere necessario modificare il formato del log predefinito del router Apigee/Nginx o aggiungere variabili. Per aggiornare la configurazione del formato dei log predefinito di Apigee Router/Nginx:

  1. Crea un file router.properties, se non esiste, con il percorso mostrato 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 precedenti in base alle esigenze. Puoi trovare i valori di configurazione predefiniti per log_format nel file seguente:

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

    Un elenco di variabili Nginx è disponibile 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 log_format (router_new) è stata aggiunta 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 del log nel file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file