Jak skonfigurować Edge

Aby skonfigurować Edge po instalacji, użyj kombinacji plików .properties i programów Edge. Aby na przykład skonfigurować TLS/SSL w interfejsie Edge, musisz edytować pliki .properties, aby ustawić niezbędne właściwości. Zmiany w plikach .properties wymagają ponownego uruchomienia danego komponentu Edge.

Apigee odnosi się do metody edytowania plików .properties jako kodu z parametrem config (czasami w skrócie CwC). Zasadniczo kod z konfiguracją to narzędzie wyszukiwania kluczy/wartości na podstawie ustawień w plikach .properties. W kodzie z konfiguracją klucze są nazywane tokenami. Aby skonfigurować Edge, należy ustawić tokeny w plikach .properties.

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

Jeśli traktujesz je jako hierarchię, ustawienia są uporządkowane w następujący sposób, przy czym ustawienia klienta mają najwyższy priorytet i zastępują wszystkie ustawienia zespołu instalacyjnego lub Apigee:

  1. Klient
  2. Instalator
  3. Komponent

Określ bieżącą wartość tokena

Zanim ustawisz nową wartość tokena w pliku .properties, musisz najpierw określić jego bieżącą wartość, używając 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.

W tym przykładzie sprawdzamy bieżącą wartość tokena conf_http_HTTPRequest.line.limitRoutera:

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

Powinny się wyświetlić dane wyjściowe podobne do tych:

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 #, oznacza to, że została ona wytłumaczona i aby ją zmienić, musisz użyć specjalnej składni. Więcej informacji znajdziesz w artykule o ustawianiu tokena obecnie komentowanego.

Jeśli nie znasz pełnej nazwy tokena, użyj narzędzia takiego jak grep, aby wyszukać go po nazwie usługi lub słowie kluczowym. Więcej informacji znajdziesz w artykule Znajdowanie tokena.

Pliki właściwości

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

Edytowalne pliki konfiguracji komponentu

W tabeli poniżej znajdziesz komponenty Apigee i pliki 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
Logowanie jednokrotne Apigee apigee-sso /opt/apigee/customer/application/sso.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
Klasyczny interfejs (nie ma wpływu na nowy interfejs Edge). edge-ui /opt/apigee/customer/application/ui.properties
Interfejs Edge (dotyczy tylko nowego interfejsu Edge; nie ma wpływu na interfejs klasyczny) apigee-management-ui nie dotyczy (użyj pliku konfiguracji instalacji)
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
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

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

Musisz też sprawdzić, czy właścicielem pliku z właściwościami jest użytkownik „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 między innymi:

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

Gdzie component_name to identyfikator komponentu. Możliwe wartości:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (baza danych PostgreSQL)
  • apigee-qpidd (kwartał)
  • apigee-sso (SSO – logowanie jednokrotne)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serwer zarządzania)
  • edge-management-ui (nowy interfejs Edge)
  • edge-message-processor (procesor wiadomości)
  • edge-postgres-server (serwer Postgres)
  • edge-qpid-server (serwer Qpid)
  • edge-router (router brzegowy)
  • edge-ui (klasyczny interfejs)

Ustawianie wartości tokena

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

Aby utworzyć plik .properties:

  1. Utwórz nowy plik tekstowy w edytorze. Nazwa pliku musi odpowiadać liście widocznej w tabeli powyżej w przypadku plików klientów.
  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 opcji chown, aby zmienić właściciela na użytkownika, który uruchamia usługę Edge.

Podczas aktualizacji przeglądarki Edge pliki .properties w katalogu /opt/apigee/customer/application są odczytywane. Oznacza to, że podczas uaktualniania zostaną zachowane wszystkie właściwości ustawione w komponencie.

Aby ustawić wartość tokena:

  1. Edytuj plik .properties komponentu.
  2. Dodaj lub zmień wartość tokena. W tym przykładzie wartość właściwości conf_http_HTTPRequest.line.limit jest ustawiona na „10k”:
    conf_http_HTTPRequest.line.limit=10k

    Jeśli token przyjmuje wiele wartości, oddziel każdą z nich przecinkiem, jak 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 dołączasz ją na końcu listy.

  3. Ponownie uruchom komponent:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    Gdzie component_name to jeden z tych elementów:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (baza danych PostgreSQL)
    • apigee-qpidd (kwartał)
    • apigee-sso (SSO – logowanie jednokrotne)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (serwer zarządzania)
    • edge-management-ui (nowy interfejs Edge)
    • edge-message-processor (procesor wiadomości)
    • edge-postgres-server (serwer Postgres)
    • edge-qpid-server (serwer Qpid)
    • edge-router (router brzegowy)
    • edge-ui (klasyczny interfejs)

    Na przykład po wprowadzeniu zmian w elemencie router.properties uruchom ponownie router:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Opcjonalnie) Użyj opcji configure -search, aby sprawdzić, czy wartość tokena jest ustawiona na nową wartość. Przykład:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Więcej informacji o tagu 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 masz pewności, użyj grep do przeszukania katalogu source komponentu.

Jeśli na przykład wiesz, że w poprzedniej wersji Edge ustawiono właściwość session.maxAge i chcesz poznać wartość tokena użytego do jej ustawienia, grep dla tej właściwości w katalogu /opt/apigee/edge-ui/source:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Powinien pojawić się wynik w takim formacie:

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

Poniższy przykład pokazuje wartość tokena session.maxAge interfejsu użytkownika:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

Ciąg między tagami {T}{/T} to nazwa tokena, który możesz ustawić w pliku .properties interfejsu użytkownika.

Ustawianie tokena, który jest obecnie skomentowany

Niektóre tokeny są wytłumaczone w komentarzu w plikach konfiguracyjnych Edge. Jeśli spróbujesz ustawić token, który jest skomentowany w pliku konfiguracji instalacji lub komponentu, ustawienie zostanie zignorowane.

Aby ustawić wartość tokena oznaczonego jako komentarz w pliku konfiguracji Edge, użyj specjalnej składni w tej formie:

conf/filename+propertyName=propertyValue

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

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

Polecenie grep zwraca wyniki zawierające nazwę tokena. Zwróć uwagę, że nazwa usługi jest oznaczona jako komentarz za pomocą prefiksu #:

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, zmodyfikuj /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 takim przypadku musisz dodać do nazwy usługi prefiks conf/http.properties+. To jest lokalizacja i nazwa pliku konfiguracji zawierającego usługę, po której następuje „+”.

Po ponownym uruchomieniu usługi Message Processor sprawdź plik:/opt/apigee/edge-message-processor/conf/http.properties

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

Na końcu pliku zobaczysz zestaw właściwości w formie:

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

Skonfiguruj serwer proxy przekierowania dla żądań z sekcji wysyłania żądań w interfejsie Trace

Z tej sekcji dowiesz się, jak skonfigurować serwer proxy przekazujący w przypadku żądań z sekcji Wysyłaj żądania w interfejsie Trace z opcjonalnymi poświadczeniami serwera proxy. Aby skonfigurować serwer proxy przekazujący:

  1. Edytuj plik /opt/apigee/customer/application/ui.properties i sprawdź, czy jest on własnością użytkownika apigee:apigee.
  2. Dodaj te zastąpienia (zmieniając wartości zgodnie ze swoją konfiguracją serwera proxy):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Zapisz klasyczny interfejs i uruchom go ponownie.

Dodawanie niestandardowego formatu logów w Apigee Router/Nginx

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

  1. Jeśli plik router.properties nie istnieje, utwórz go, podając ścieżkę 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 dane:
    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

    Zaktualizuj odpowiednio zmienne w powyższych poleceniach. Domyślne wartości konfiguracji log_format znajdziesz w pliku poniżej:

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

    Lista zmiennych Nginx znajduje się na stronie http://nginx.org/en/docs/varindex.html.

  3. Aby zastosować nową konfigurację, zrestartuj router:
    apigee-service edge-router restart
  4. Sprawdź, czy nowa konfiguracja log_format (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 żądania do interfejsu API do serwera proxy interfejsu API i zweryfikuj nowy format logu w pliku
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file