Jak skonfigurować Edge

Aby skonfigurować Edge po instalacji, użyj kombinacji plików .properties i narzędzi Edge. Na przykład aby skonfigurować TLS/SSL w nowym interfejsie Edge, musisz edytować .properties pliki, aby ustawić wymagane właściwości. Zmiany w .properties plikach wymagają ponownego uruchomienia komponentu Edge, którego dotyczą.

Apigee nazywa technikę edytowania plików .properties _kodem z konfiguracją_ (czasami w skrócie CwC). Zasadniczo kod z konfiguracją to narzędzie do wyszukiwania par klucz-wartość oparte na ustawieniach w .properties plikach. W kodzie z konfiguracją klucze są nazywane tokenami. Aby skonfigurować Edge, musisz ustawić tokeny w .properties plikach.

Kod z konfiguracją umożliwia komponentom Edge ustawianie wartości domyślnych dostarczanych z produktem, pozwala zespołowi instalacyjnemu zastępować te ustawienia na podstawie topologii instalacji, a następnie umożliwia klientom zastępowanie dowolnych wybranych przez nich właściwości.

Jeśli potraktujesz to jako hierarchię, ustawienia są ułożone w ten sposób, a ustawienia klienta mają najwyższy priorytet, aby zastąpić wszelkie ustawienia zespołu instalacyjnego lub Apigee:

  1. Klient
  2. Instalator
  3. Komponent

Określanie bieżącej wartości tokena

Zanim ustawisz nową wartość tokena w pliku .properties, musisz najpierw określić jego bieżącą wartość za pomocą tego polecenia:

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

gdzie component_name to nazwa komponentu, a token to token do sprawdzenia.

To polecenie przeszukuje hierarchię plików .properties komponentu, aby określić bieżącą wartość tokena.

Ten przykład sprawdza bieżącą wartość tokena conf_http_HTTPRequest.line.limit dla routera:

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

Powinien się wyświetlić wynik podobny do tego:

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

Jeśli wartość tokena zaczyna się od #, została zmieniona w komentarz i musisz użyć specjalnej składni, aby ją zmienić. Więcej informacji znajdziesz w artykule Ustawianie tokena, który jest obecnie zmieniony w komentarz.

Jeśli nie znasz pełnej nazwy tokena, użyj narzędzia takiego jak grep, aby wyszukać według nazwy właściwości lub słowa kluczowego. Więcej informacji znajdziesz w artykule Znajdowanie tokena.

Pliki właściwości

Istnieją edytowalne i nieedytowalne pliki konfiguracji komponentów. W tej sekcji opisujemy te pliki.

Edytowalne pliki konfiguracji komponentów

W tabeli poniżej znajdziesz listę komponentów Apigee i plików właściwości, które możesz edytować, aby skonfigurować te komponenty:

Komponent Nazwa komponentu Edytowalny plik konfiguracji
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Serwer zarządzania edge-management-server /opt/apigee/customer/application/management-server.properties
Procesor komunikatów edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
Nowy interfejs Edge edge-management-ui /opt/apigee/customer/application/management-ui.properties
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Serwer Postgres edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
Baza danych PostgreSQL apigee-postgresql /opt/apigee/customer/application/postgresql.properties
Serwer 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

Jeśli chcesz ustawić właściwość w jednym z tych plików konfiguracji komponentów, ale ona nie istnieje, możesz ją utworzyć w lokalizacji wymienionej powyżej.

Musisz też się upewnić, że plik właściwości należy do użytkownika „apigee”:

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

Nieedytowalne pliki konfiguracji komponentów

Oprócz edytowalnych plików konfiguracji komponentów istnieją też pliki konfiguracji których nie można edytować.

Pliki informacyjne (nieedytowalne) to:

Właściciel Nazwa pliku lub katalogu
Instalacja
/opt/apigee/token
Komponent
/opt/apigee/component_name/conf

gdzie component_name identyfikuje komponent. Możliwe wartości:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (baza danych PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serwer zarządzania)
  • edge-management-ui (nowy interfejs Edge)
  • edge-message-processor (procesor komunikatów)
  • edge-postgres-server (serwer Postgres)
  • edge-qpid-server (serwer Qpid)
  • edge-router (router brzegowy)

Ustawianie wartości tokena

Możesz modyfikować tylko pliki .properties w katalogu /opt/apigee/customer/application. Każdy komponent ma w tym katalogu własny .properties plik. Na przykład router.properties i management-server.properties. Pełną listę plików właściwości znajdziesz w artykule Zobacz Lokalizacja plików .properties.

Aby utworzyć plik .properties:

  1. Utwórz nowy plik tekstowy w edytorze. Nazwa pliku musi być zgodna z listą widoczną w tabeli powyżej w przypadku plików klienta.
  2. Zmień właściciela pliku na „apigee:apigee”, jak pokazano w tym przykładzie:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Jeśli zmienisz użytkownika, który uruchamia usługę Edge, z użytkownika "apigee", użyj chown aby zmienić właściciela na użytkownika, który uruchamia usługę Edge.

Podczas uaktualniania Edge odczytywane są pliki .properties w katalogu /opt/apigee/customer/application. Oznacza to, że uaktualnienie zachowa wszystkie właściwości ustawione w komponencie.

Aby ustawić wartość tokena:

  1. Edytuj plik .properties komponentu.
  2. Dodaj lub zmień wartość tokena. Ten przykład ustawia wartość właściwości conf_http_HTTPRequest.line.limit na "10k":
    conf_http_HTTPRequest.line.limit=10k

    Jeśli token przyjmuje wiele wartości, rozdziel każdą z nich przecinkiem, jak pokazano w tym przykładzie:

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

    Aby dodać nową wartość do takiej listy, zwykle dopisujesz ją na końcu listy.

  3. Uruchom ponownie komponent:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    gdzie component_name to jedna z tych wartości:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (baza danych PostgreSQL)
    • apigee-qpidd (Qpidd)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (serwer zarządzania)
    • edge-management-ui (nowy interfejs Edge)
    • edge-message-processor (procesor komunikatów)
    • edge-postgres-server (serwer Postgres)
    • edge-qpid-server (serwer Qpid)
    • edge-router (router brzegowy)

    Na przykład po edytowaniu pliku router.properties uruchom ponownie router:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Opcjonalnie) Sprawdź, czy wartość tokena jest ustawiona na nową wartość, używając opcji configure -search. Na przykład:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Więcej informacji o configure -search znajdziesz w artykule Określanie bieżącej wartości tokena.

Znajdowanie tokena

W większości przypadków tokeny, które musisz ustawić, są wymienione w tym przewodniku. Jeśli jednak musisz zastąpić wartość istniejącego tokena, którego pełnej nazwy lub lokalizacji nie znasz, użyj grep, aby przeszukać katalog source komponentu.

Jeśli na przykład wiesz, że chcesz ustawić HTTPRequest.line.limit właściwość i chcesz poznać wartość tokena używaną do jej ustawienia, użyj polecenia grep aby wyszukać właściwość w katalogu /opt/apigee/edge-management-server/source:

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

Powinien się wyświetlić wynik w takiej postaci:

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

Ten przykład pokazuje wartość tokena HTTPRequest.line.limit serwera zarządzania:

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

Ciąg znaków między tagami {T}{/T} to nazwa tokena, którą możesz ustawić w pliku komponentu .properties.

Ustawianie tokena, który jest obecnie zmieniony w komentarz

Niektóre tokeny są zmienione w komentarz w plikach konfiguracji Edge. Jeśli spróbujesz ustawić token, który jest zmieniony w komentarz w pliku instalacyjnym lub pliku konfiguracji komponentu, Twoje ustawienie zostanie zignorowane.

Aby ustawić wartość tokena, który jest zmieniony w komentarz w pliku konfiguracji Edge, użyj specjalnej składni w tej postaci:

conf/filename+propertyName=propertyValue

Na przykład aby ustawić właściwość o nazwie HTTPClient.proxy.host w procesorze komunikatów, najpierw grep dla właściwości, aby określić jej token:

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

Polecenie grep zwraca wyniki, które zawierają nazwę tokena. Zwróć uwagę , że nazwa właściwości jest zmieniona w komentarz, co wskazuje prefiks #:

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=

Aby ustawić wartość tej właściwości, edytuj /opt/apigee/customer/application/message-processor.properties, ale użyj specjalnej składni, jak pokazano w tym przykładzie:

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

W tym przypadku musisz dodać do nazwy właściwości prefiks conf/http.properties+. Jest to lokalizacja i nazwa pliku konfiguracji zawierającego właściwość, po której następuje znak „+”.

Po ponownym uruchomieniu procesora komunikatów sprawdź plik /opt/apigee/edge-message-processor/conf/http.properties:

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

Na końcu pliku zobaczysz ustawioną właściwość w postaci:

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

Włączanie i wyłączanie protokołu HTTP/2 w nowym interfejsie Edge

W tej sekcji dowiesz się, jak włączyć lub wyłączyć protokół HTTP/2 w nowym interfejsie Edge (edge-management-ui).

  1. Utwórz lub edytuj plik /opt/apigee/customer/application/management-ui.properties i upewnij się, że należy on do użytkownika apigee:apigee.
  2. Aby włączyć lub wyłączyć protokół HTTP/2, dodaj to zastąpienie:
    conf_uebe_disable_http2={true or false}
  3. Zapisz i uruchom ponownie nowy interfejs Edge (edge-management-ui).

Dodawanie niestandardowego formatu logów w routerze Apigee/Nginx

W niektórych przypadkach może być konieczne zmienienie domyślnego formatu logów routera Apigee/Nginx lub dodanie zmiennych. Aby zaktualizować domyślną konfigurację formatu logów routera Apigee/Nginx:

  1. Jeśli nie istnieje, utwórz plik router.properties ze ścieżką podaną poniżej:
    /opt/apigee/customer/application/router.properties
  2. Aby utworzyć nową konfigurację log_format o nazwie router_new, dodaj do pliku router.properties te treści:
    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

    W razie potrzeby zaktualizuj zmienne w powyższych poleceniach. Domyślne wartości konfiguracji log_format znajdziesz w tym pliku:

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

    Lista zmiennych Nginx jest dostępna na stronie http://nginx.org/en/docs/varindex.html.

  3. Aby zastosować nową konfigurację, uruchom ponownie router:
    apigee-service edge-router restart
  4. Sprawdź, czy nowa log_format konfiguracja (router_new) została dodana do pliku /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Wyślij kilka żądań do interfejsu API do proxy interfejsu API i sprawdź nowy format logów w pliku
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file