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 nuova UI Edge, devi modificare .properties file per impostare le proprietà necessarie. Le modifiche ai .properties file richiedono il riavvio del componente Edge interessato.

Apigee si riferisce alla tecnica di modifica dei file .properties come codice con configurazione (a volte abbreviato in 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, al team di installazione di sostituire queste impostazioni in base alla topologia di installazione, e ai clienti di sostituire le proprietà che scelgono.

Se lo consideri come una gerarchia, le impostazioni sono disposte come segue, con le impostazioni del cliente che hanno la massima priorità per sostituire qualsiasi impostazione del team di installazione o di Apigee:

  1. Cliente
  2. Installatore
  3. Componente

Determinare il valore corrente di un token

Prima di impostare un nuovo valore per un token in un file .properties, devi prima determinarne il valore corrente 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 corrente del 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 visualizzare 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 un #, è stato impostato come commento e devi utilizzare una sintassi speciale per modificarlo. Per saperne di più, consulta Impostare un token attualmente impostato come commento.

Se non conosci l'intero nome del token, utilizza uno strumento come grep per eseguire la ricerca in base al nome della proprietà o alla parola chiave. Per saperne di più, consulta 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 tabella seguente elenca i componenti Apigee e i file delle proprietà che puoi modificare per configurare questi componenti:

Componente Nome componente File di configurazione modificabile
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.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
Nuova UI Edge edge-management-ui /opt/apigee/customer/application/management-ui.properties
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/postgresql.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 non esiste, puoi crearla nella posizione elencata sopra.

Inoltre, devi assicurarti che il file delle proprietà sia di proprietà dell'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-zookeeper (ZooKeeper)
  • edge-management-server (server di gestione)
  • edge-management-ui (nuova UI di Edge)
  • edge-message-processor (Message Processor)
  • edge-postgres-server (server Postgres)
  • edge-qpid-server (Qpid Server)
  • edge-router (router Edge)

Impostare un valore del token

Puoi modificare solo i file .properties nella directory /opt/apigee/customer/application. Ogni componente ha il proprio .properties file in questa 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 all'elenco mostrato nella tabella sopra 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 modificare la proprietà dell'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à 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. L'esempio seguente imposta il valore della conf_http_HTTPRequest.line.limit proprietà su "10k":
    conf_http_HTTPRequest.line.limit=10k

    Se il token accetta più valori, separa ogni 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 di questo tipo, in genere devi aggiungere 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 (database PostgreSQL)
    • apigee-qpidd (Qpidd)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (server di gestione)
    • edge-management-ui (nuova UI di Edge)
    • edge-message-processor (Message Processor)
    • edge-postgres-server (server Postgres)
    • edge-qpid-server (Qpid Server)
    • edge-router (router Edge)

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

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Facoltativo) Controlla che il valore del token sia impostato sul nuovo valore utilizzando l' configure -search opzione. 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 corrente di un token.

Individuare un token

Nella maggior parte dei casi, i token che devi impostare sono identificati in questa guida. Tuttavia, se devi sostituire 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 di voler impostare la HTTPRequest.line.limit proprietà e vuoi conoscere il valore del token utilizzato per impostarla, allora grep per la proprietà nella /opt/apigee/edge-management-server/source directory:

grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source

Dovresti visualizzare un risultato nel seguente formato:

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

L'esempio seguente mostra il valore del token HTTPRequest.line.limit del server di gestione:

/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}

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

Impostare un token attualmente impostato come commento

Alcuni token sono impostati come commento nei file di configurazione di Edge. Se provi a impostare un token che è impostato come commento in un file di configurazione di installazione o di componente, l'impostazione viene ignorata.

Per impostare il valore di un token impostato come commento in un file di configurazione di 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 determinarne il token:

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

Il comando grep restituisce risultati che includono il nome del token. Nota che il nome della proprietà è impostato come commento, 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à. Si tratta della posizione e del 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

Attivare o disattivare il protocollo HTTP/2 nella nuova UI Edge

Questa sezione spiega come attivare o disattivare il protocollo HTTP/2 nella nuova UI Edge (edge-management-ui).

  1. Crea o modifica /opt/apigee/customer/application/management-ui.properties e assicurati che il file sia di proprietà di apigee:apigee.
  2. Aggiungi la seguente sostituzione per attivare o disattivare il protocollo HTTP/2:
    conf_uebe_disable_http2={true or false}
  3. Salva e riavvia la nuova UI Edge (edge-management-ui).

Aggiungere un formato di log personalizzato in Apigee Router/Nginx

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

  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 log_format configurazione (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 di log nel file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file