Come configurare Edge

Per configurare Edge dopo l'installazione, utilizza una combinazione di file .properties e utilità di Edge. Ad esempio, per configurare TLS/SSL sulla 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 abbreviata come CwC). Essenzialmente, il codice con configurazione è uno strumento di ricerca chiave/valore basato sulle impostazioni nei file .properties. Nel codice con configurazione, le chiavi sono definite token. Di conseguenza, 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 eseguire l'override di qualsiasi proprietà scelta.

Se pensi che sia una gerarchia, le impostazioni sono organizzate come segue, in modo che le impostazioni del cliente abbiano la massima priorità per sostituire quelle 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 determinare il valore current 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 attuale del token.

L'esempio seguente verifica 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, consulta Impostare un token attualmente commentato.

Se non conosci il nome completo del token, usa uno strumento come grep per eseguire una ricerca in base al nome o alla parola chiave della proprietà. Per maggiori informazioni, consulta la sezione Individuare un token.

File delle proprietà

Sono presenti 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 delle proprietà che puoi modificare per configurarli:

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 sulla UI classica) apigee-management-ui n/a (utilizza il file di configurazione di 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/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 indicata 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:

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

Dove component_name identifica il componente. I valori possono essere:

  • 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)

Imposta 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 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 precedente per i file dei clienti.
  2. Cambia il proprietario del file in "apigee:apigee", come mostrato nell'esempio seguente:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

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

Quando esegui l'upgrade di Edge, i file .properties nella directory /opt/apigee/customer/application vengono letti. 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 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 illustrato nell'esempio seguente:

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

    In genere, per aggiungere un nuovo valore a un elenco come questo, devi aggiungerlo alla fine dell'elenco.

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

    Dove component_name corrisponde a uno dei seguenti valori:

    • 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 maggiori informazioni su configure -search, consulta Determinare 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 devi sostituire il valore di un token esistente di cui non conosci il nome completo o la posizione, utilizza grep per eseguire una ricerca nella directory source del componente.

Ad esempio, se sai che in una release precedente di Edge hai impostato la proprietà session.maxAge e vuoi conoscere il valore del token utilizzato per impostarla, allora 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 Edge. Se provi a impostare un token che viene commentato in un file di installazione o di configurazione di un componente, l'impostazione viene ignorata.

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

conf/filename+propertyName=propertyValue

Ad esempio, per impostare la proprietà denominata HTTPClient.proxy.host sul processore di messaggi, devi 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. Osserva 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 utilizza una sintassi speciale, come mostrato 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+. Questi sono la posizione e il nome del file di configurazione che contiene la proprietà seguiti 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 l'insieme di proprietà nel formato:

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

Configura il proxy di inoltro per le richieste dalla sezione Richieste di invio 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 del 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 (modifica dei valori alla configurazione del 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.

Aggiungi un formato log personalizzato nel router/Nginx Apigee

In alcuni casi, è stato necessario modificare il formato di log predefinito del router Apigee/Nginx o aggiungere variabili. Per aggiornare la configurazione predefinita del formato di log del router Apigee/Nginx:

  1. Crea un file router.properties, se non esiste, con il percorso mostrato di seguito:
    /opt/apigee/customer/application/router.properties
  2. Aggiungi il contenuto seguente al file router.properties per creare una nuova configurazione di 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 tue 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 è visualizzato 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 di log nel file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file