Jak skonfigurować Edge

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

Apigee określa technikę edytowania plików .properties jako kod z konfiguracją (czasami skracany jako CwC). Zasadniczo kod z konfiguracją to narzędzie do wyszukiwania kluczy i wartości na podstawie ustawień w plikach .properties. W kodzie z konfiguracją klucze są nazywane tokenami. Dlatego, aby skonfigurować Edge, ustawiasz tokeny w plikach .properties.

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

Jeśli wyobrazisz sobie hierarchię, ustawienia są uporządkowane w następujący sposób, przy czym ustawienia klienta mają najwyższy priorytet i zastępują wszelkie ustawienia zespołu instalatora lub Apigee:

  1. Klient
  2. Instalator
  3. Komponent

Określanie bieżącej wartości tokena

Zanim ustawisz nową wartość tokena w pliku .properties, najpierw określ 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.

W tym przykładzie sprawdzana jest bieżąca 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

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 zmieniona w komentarz i musisz użyć specjalnej składni, aby ją zmienić. Więcej informacji znajdziesz w sekcji Ustawianie tokena, który jest obecnie zmieniony w komentarz.

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

Pliki właściwości

Istnieją pliki konfiguracji komponentów, które można edytować, i takie, których nie można edytować. W tej sekcji opisujemy te pliki.

Edytowalne pliki konfiguracji komponentów

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 Plik konfiguracji z możliwością edycji
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Router brzegowy edge-router /opt/apigee/edge-router/conf/load_balancing.properties
SSO w 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 użytkownika (nie ma wpływu na nowy interfejs Edge) edge-ui /opt/apigee/customer/application/ui.properties
Interfejs Edge (tylko nowy interfejs Edge, nie ma wpływu na klasyczny interfejs) 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/postgressql.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
Dozorca w zoo apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

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

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

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

Pliki konfiguracji komponentów, których nie można edytować

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

Pliki informacyjne (nieedytowalne) obejmują:

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 (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 własny plik .properties. Na przykład: router.properties i management-server.properties. Pełną listę plików właściwości znajdziesz w artykule Lokalizacja plików .properties.

Aby utworzyć plik .properties:

  1. Utwórz nowy plik tekstowy w edytorze. Nazwa pliku musi być zgodna z listą plików klientów podaną w tabeli powyżej.
  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 użytkownik, który uruchamia usługę Edge, został zmieniony z użytkownika „apigee”, użyj polecenia 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. Zmodyfikuj 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, rozdziel je przecinkami, 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 listy, zwykle dołącza się 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 (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 edycji 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ą określone w tym przewodniku. Jeśli jednak chcesz zastąpić wartość istniejącego tokena, którego pełnej nazwy lub lokalizacji nie znasz, użyj polecenia grep, aby przeszukać katalog source komponentu.

Jeśli na przykład wiesz, że we wcześniejszej wersji Edge ustawiono właściwość session.maxAge i chcesz poznać wartość tokena użytą 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 takiej postaci:

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

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

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

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

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 konfiguracji instalacji lub komponentu, 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

Aby na przykład ustawić właściwość o nazwie HTTPClient.proxy.host w procesorze komunikatów, najpierw grep, 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 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, zmodyfikuj /opt/apigee/customer/application/message-processor.properties, ale użyj specjalnej składni, jak w tym przykładzie:

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

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

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 zestaw właściwości w formie:

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

Konfigurowanie serwera proxy przekierowującego dla żądań z sekcji Wysyłanie żądań w interfejsie logów czasu

W tej sekcji opisano, jak skonfigurować serwer proxy przekierowujący dla żądań z sekcji Wysyłanie żądań w interfejsie śledzenia z opcjonalnymi danymi logowania do serwera proxy. Aby skonfigurować przekierowujący serwer proxy:

  1. Edytuj plik /opt/apigee/customer/application/ui.properties i upewnij się, że jego właścicielem jest apigee:apigee.
  2. Dodaj te zastąpienia (zmieniając wartości na 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 i uruchom ponownie klasyczny interfejs użytkownika.

Dodawanie niestandardowego formatu logów w Apigee Router/Nginx

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

  1. Jeśli plik router.properties nie istnieje, utwórz go w ścieżce podanej poniżej:
    /opt/apigee/customer/application/router.properties
  2. Dodaj do pliku router.properties tę treść, aby utworzyć nową konfigurację log_format o nazwie 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

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

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

    Listę zmiennych Nginx znajdziesz na stronie http://nginx.org/en/docs/varindex.html.

  3. Uruchom ponownie router, aby zastosować nową konfigurację:
    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. wysłać kilka żądań do interfejsu API do serwera proxy interfejsu API i sprawdzić nowy format logu w pliku.
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file