Come configurare Edge

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

Apigee definisce la 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 chiave/valore basato sulle impostazioni nei file .properties. Nel codice con la configurazione, le chiavi sono chiamate 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 sostituire le proprietà che scelgono.

Se pensi che sia una gerarchia, le impostazioni sono disposte come segue e le impostazioni del cliente hanno la priorità massima per eseguire l'override di qualsiasi impostazione del team di installazione o di 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 relativo 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 attuale del token.

L'esempio seguente controlla il valore corrente 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 ignorato e devi utilizzare una sintassi speciale per modificarlo. Per ulteriori informazioni, consulta la sezione Impostare un token attualmente commentato.

Se non conosci l'intero nome del token, utilizza uno strumento come grep per eseguire ricerche per nome della proprietà o parola chiave. Per maggiori informazioni, 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 seguente tabella elenca i componenti Apigee e i file delle proprietà che puoi modificare per configurarli:

Componente Nome del 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
Interfaccia utente classica (non influisce sulla nuova interfaccia utente di Edge) edge-ui /opt/apigee/customer/application/ui.properties
Interfaccia utente di Edge (solo nuova interfaccia utente di Edge; non influisce sull'interfaccia utente classica) apigee-management-ui n/a (utilizza 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/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 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 possibili sono:

  • 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 i file .properties solo nella directory /opt/apigee/customer/application. Ogni componente ha il proprio .properties file in quella directory. Ad esempio, router.properties e management-server.properties. Per un elenco completo dei file di 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 riportato 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 cambiato l'utente che esegue il servizio Edge dall'utente "apigee", utilizza chown per modificare 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 "10.000":
    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 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 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 ulteriori informazioni su configure -search, consulta Determinare il valore corrente di un token.

Individuare un token

Nella maggior parte dei casi, i token da impostare sono identificati in questa guida. Tuttavia, se devi eseguire l'override del 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 proprietà session.maxAge e vuoi conoscere il valore del token utilizzato per impostarla, grep 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 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.

Impostare un token attualmente ignorato

Alcuni token sono commentato nei file di configurazione di Edge. Se provi a impostare un token con commenti 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 la sintassi speciale nel formato seguente:

conf/filename+propertyName=propertyValue

Ad esempio, per impostare la proprietà denominata HTTPClient.proxy.host nel Processore di messaggi, 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à sia 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 anteporre al nome della proprietà il prefisso conf/http.properties+. Si tratta della posizione e del nome del file di configurazione contenente la proprietà seguita da "+".

Dopo aver riavviato il 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 l'impostazione della proprietà nel seguente 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 in avanti per le richieste della sezione Invia richieste dell'interfaccia utente di Trace con le credenziali del proxy facoltative. Per configurare il proxy inoltrante:

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

Aggiungere un formato di log personalizzato in Apigee Router/Nginx

In alcuni casi, potrebbe essere necessario modificare il formato predefinito dei log di Apigee Router/Nginx o aggiungere variabili. Per aggiornare la configurazione predefinita del formato dei log 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 riportati sopra 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

    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. Verifica 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