Edge for Private Cloud w wersji 4.17.01
Wszyscy klienci Edge for Private Cloud muszą przesyłać do Apigee statystyki dotyczące interfejsu API przez serwer proxy. Apigee zaleca, aby klienci przesyłali te informacje raz dziennie, najlepiej w celu utworzenia zadania cron.
Musisz przesłać dane dotyczące wdrożeń produkcyjnych interfejsów API, ale nie interfejsów API w trakcie opracowywania lub testowania wdrożeń. W większości instalacji Edge musisz zdefiniować konkretne organizacje lub środowisk produkcyjnych interfejsów API. Przesłane przez Ciebie dane dotyczą wyłącznie środowiska produkcyjnego, organizacji i środowisk.
Aby ułatwić przesyłanie tych danych, Apigee udostępnia wersję beta wiersza poleceń apigee-analytics-collector. za media. To narzędzie wysyła raport liczby wywołań interfejsu API z powrotem do Apigee. Na każdym brzegu Instalacja chmury prywatnej może używać tego narzędzia do pobierania i raportowania danych o ruchu Apigee.
Więcej informacji o procesie przesyłania danych o ruchu do Apigee znajdziesz w Najczęstsze pytania.
Obejrzyj krótki film, aby zobaczyć, jak działa to narzędzie.
Instalowanie apigee-analytics-collector
apigee-analytics-collector narzędzie to moduł Node.js instalowany przy użyciu npm.
Montaż wymagania
apigee-analytics-collector narzędzie wymaga:
- npm w wersji 2.x lub nowszej
- Node.js 4.x.
Gdzie zainstalować
Węzeł, w którym instalujesz narzędzie apigee-analytics-collector, może być dowolnym który ma dostęp do interfejsu Edge Management API na serwerze zarządzania brzegiem. Możesz ją zainstalować bezpośrednio na serwerze zarządzania, w innym węźle instalacji Edge lub w oddzielnym tak długo, jak ten węzeł może wysyłać żądania do interfejsu API do serwera zarządzania.
Dostęp do internetu wymagania
Zainstaluj narzędzie apigee-analytics-collector w komputer z zewnętrznym dostępem do internetu. Następnie narzędzie apigee-analytics-collector może przesłać bezpośrednio do Apigee.
Jeśli na serwerze zarządzania brzegiem nie ma węzła z dostępem jednocześnie do interfejsu Edge Management API a poza tym z zewnętrznym dostępem do internetu możesz użyć interfejsu Edge Management API, aby zmniejszyć ruch. lokalnie. Następnie musisz przenieść dane na urządzenie z dostępem do internetu, aby mogły zostać przesłane na Apigee. W takim przypadku nie musisz korzystać z narzędzia apigee-analytics-collector. Zobacz Ręczne przesyłanie danych do Apigee znajdziesz poniżej.
Instalacja
Aby zainstalować narzędzie apigee-analytics-collector, użyj tego polecenia:
> npm install apigee-analytics-collector -g
Uruchamianie apigee-analytics-collector
W tej sekcji dowiesz się, jak uruchomić narzędzie apigee-analytics-collector.
Informacje wymagane do uruchomienia narzędzia apigee-analytics-collect
Aby uruchomić polecenie apigee-analytics-collector oraz przekazanie danych do Apigee:
- apigee_mgmt_api_uri: podstawowy adres URL interfejsu Edge API w systemie zarządzania,
Serwer Adres URL ma zwykle następujący format:
http://ms_IP:8080/v1
Gdzie ms_IP to adres IP lub Twój serwer zarządzania, a kod 8080 to port używany przez interfejs Edge API. Jeśli utworzono wpis DNS dla interfejsu Edge API, adres URL znajduje się w formularz:
http://ms_DNS/v1
Jeśli włączysz protokół TLS w interfejsie Edge Management API, będzie on miał postać:
https://ms_IP:8080/v1
https://ms_DNS/v1 - apigee_mgmt_api_email: adres e-mail konta z dostępem do Edge /stats interfejsy API. Często to będzie adresem e-mail administratora systemu Edge lub adresu e-mail administratora organizacji w organizacjach produkcyjnych.
- apigee_mgmt_api_password: hasło do konta Edge dla konta określonego przez apigee_mgmt_api_email.
- apigee_analytics_client_id i apigee_analytics_secret: Twoje dane logowania do przesyłania danych do Apigee. Prześlij zgłoszenie do zespołu pomocy Apigee, aby uzyskać apigee_analytics_client_id i apigee_analytics_secret.
Przykładowe polecenia
Poniżej znajduje się przykładowe polecenie do pobrania danych o ruchu dla wszystkich organizacji i w instalacji Edge i prześlij te dane do Apigee:
> apigee-analytics-collector export traffic \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Zwróć uwagę, że to polecenie zawiera wszystkie wymagane informacje, takie jak apigee_analytics_client_id i apigee_analytics_secret.
Wyniki powinny wyglądać w takim formacie:
[ { "org": "myOrg", "env": "prod", "time_range_start": "08/27/2016 00:00", "time_range_end": "08/30/2016 00:00", "response": [ { "store_org_env_metrics_hourly_v4": 1 } ] }, { "org": "VALIDATE", "env": "test", "time_range_start": "08/27/2016 00:00", "time_range_end": "08/30/2016 00:00", "response": [ { "store_org_env_metrics_hourly_v4": 1 } ] } ]
Użyj opcji wiersza poleceń, aby kontrolować działania polecenia. Użyj następujących opcji, aby określ organizacje i środowiska do uwzględnienia w wygenerowanych danych:
- -i, --include_orgs <rozdzielana przecinkami lista produktów>
- -x, --wyklucz_orgs <rozdzielana przecinkami lista produktów>
- -n, --include_envs <rozdzielana przecinkami lista produktów>
- -e, --wyklucz_środki <rozdzielana przecinkami lista produktów>
Aby na przykład określić tylko organizacje i środowiska produkcyjne, użyj funkcji Opcje -i (lub --include_orgs) i -n (lub --include_envs):
> apigee-analytics-collector export traffic -i myOrg -n prod \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
W tym przykładzie zbierasz dane tylko ze środowiska produkcyjnego myOrg.
Aby skopiować dane na ekran w celu ich sprawdzenia przed wysłaniem do Apigee, użyj opcji -S:
> apigee-analytics-collector export traffic -i myOrg -n prod -S \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Opcja -S pomija dane. prześlij do Apigee. Następnie możesz ponownie uruchomić polecenie bez opcji -S, aby wysłać dane do Apigee.
Jednym z powodów, dla których warto używać znaku -S pozwala wyświetlać lokalnie różne typy danych. Apigee wymaga tylko przesyłania danych o ruchu przez interfejsy API, ale opcja -D umożliwia wyświetlanie usług, deweloperów, aplikacji ani serwerów proxy interfejsów API. W przykładzie poniżej użyto opcji -D i -S do wyświetlania danych dewelopera lokalnie:
> apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Dołącz opcję -v, aby uzyskać szczegółowe dane wyjściowe oraz opcję -R. by zobaczyć polecenia curl wygenerowane przez narzędzie apigee-analytics-collector:
> apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Następna sekcja zawiera pełną listę opcji wiersza poleceń.
Parametry polecenia
Tabela poniżej zawiera pełny zestaw opcji kolektora-analizy narzędzie:
Polecenie |
Użycie |
---|---|
-h, --help |
Wyjściowe informacje o wykorzystaniu |
-D, --wymiar <dimension> |
Wymiar ruchu, który ma być rejestrowany. Prawidłowe wymiary: apiproducts, devs, apps, apiproxy (domyślne) |
-d, --dni <days> |
Liczba dni, które mają zostać zebrane, licząc od bieżącej daty. domyślna wartość to 3. Jeśli podasz -d, wykonaj nie określaj też właściwości -s i -z, aby ustawić godzinę; zakres dat. |
-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri> |
Adres URL interfejsu Edge Management API. |
-u, --apigee_mgmt_api_email <apigee_mgmt_api_email> |
Adres e-mail konta z dostępem do interfejsów API Edge /stats. Często jest to Adres e-mail administratora systemu brzegowego lub adres e-mail administratora organizacji dla w organizacjach produkcyjnych. |
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Hasło powiązane z kontem e-mail interfejsu Edge Management API określonym przez -u. |
-i, --include_orgs <items> |
Rozdzielona przecinkami lista organizacji do uwzględnienia w danych wyjściowych. |
-x, --excluded_orgs <items> |
Rozdzielona przecinkami lista organizacji, które mają zostać wykluczone z danych wyjściowych. |
-n, --include_envs <items> |
Rozdzielona przecinkami lista środowisk, które chcesz uwzględnić w danych wyjściowych. |
-e, --excluded_envs <items> |
Rozdzielona przecinkami lista środowisk, które chcesz uwzględnić w danych wyjściowych. |
-o, --output <path> |
Ścieżka i nazwa pliku do zapisania danych wyjściowych. |
-s, --time_range_start <time_range_start> |
Początek zakresu czasu, w którym mają być wysyłane zapytania o statystyki natężenia ruchu, w formacie: „03/01/2016 00:00”. Jeśli wybierzesz opcję -d, nie dodawaj również -s ani -z, aby ustawić zakres czasu. |
-z, --time_range_end <time_range_end> |
Koniec zakresu czasu na potrzeby zapytań o statystyki ruchu w formacie: „04/01/2016 24:00”. Jeśli wybierzesz opcję -d, nie dodawaj również -s ani -z, aby ustawić zakres czasu. |
-t, --time_unit <time_unit> |
Jednostka czasu danych o natężeniu ruchu. Domyślny tydzień. Domyślne jednostki według godziny. Prawidłowe jednostki czasu: sekunda, minuta, godzina, dzień, tydzień. |
-S, --standard_output |
Zapisz dane wyjściowe w terminalu (stdout) zamiast przesyłać je do Apigee. |
-c, --apigee_analytics_client_id <apigee_analytics_client_id> |
Twój identyfikator przesyłania danych do Apigee. Prześlij zgłoszenie do zespołu pomocy Apigee do uzyskać. |
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Twój obiekt tajny do przesyłania danych do Apigee. Prześlij zgłoszenie do zespołu pomocy Apigee do uzyskać. |
-R, --include_curl_commands |
W danych wyjściowych umieść wygenerowane polecenia cURL na potrzeby debugowania. |
-v, --wyczerpująco |
Wyświetl szczegółowe dane wyjściowe. |
Ręczne przesyłanie danych do Apigee
Apigee zaleca zainstalowanie narzędzia apigee-analytics-collector w komputer z zewnętrznym dostępem do internetu. Następnie narzędzie apigee-analytics-collector może przesłać bezpośrednio do Apigee.
Jeśli jednak komputer nie ma zewnętrznego dostępu do internetu, użyj interfejsu Edge Management API, aby zbierać dane o ruchu, a następnie za pomocą poleceń cURL przesłać je do Apigee z komputera dostęp do internetu. Musisz powtórzyć ten proces dla każdej organizacji produkcyjnej w środowisku Edge.
Użyj poniższego polecenia cURL, aby zebrać dane dotyczące ruchu w określonej organizacji i środowiska w określonym przedziale czasu:
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://<ms_IP>:8080/v1/organizations/{org_name}/environments/{env_name}/stats/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"
To polecenie używa interfejsu API liczby wiadomości interfejsu Edge Get API. W tym poleceniu:
- apigee_mgmt_api_email:apigee_mgmt_api_password określa Adres e-mail konta z dostępem do interfejsów API Edge /stats.
- <ms_IP> to adres IP lub nazwa DNS urządzenia Edge Serwer zarządzania.
- {org_name} i {org_name} określają organizacji i środowiska.
- apiproxy to wymiar, który grupuje wskaźniki według serwerów proxy API.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour zawiera informacje
zakresu czasu podzielonego na jednostki czasowe danych do zebrania. Zwróć uwagę, że polecenie cURL
używa kodu szesnastkowego
%20
dla spacji w zakresie czasowym.
Aby na przykład zbierać informacje o liczbie komunikatów serwera proxy interfejsu API co godzinę w okresie 24 godzin, użyj funkcji obserwowane: do interfejsu Management API. Parametr timeRange zawiera znaki zakodowane w adresie URL.
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00"
Odpowiedź powinna mieć następujący format:
{ "environments" : [ { "metrics" : [ { "name" : "sum(message_count)", "values": [ { "timestamp": 1514847600000, "value": "35.0" }, { "timestamp": 1514844000000, "value": "19.0" }, { "timestamp": 1514840400000, "value": "58.0" }, { "timestamp": 1514836800000, "value": "28.0" }, { "timestamp": 1514833200000, "value": "29.0" }, { "timestamp": 1514829600000, "value": "33.0" }, { "timestamp": 1514826000000, "value": "26.0" }, { "timestamp": 1514822400000, "value": "57.0" }, { "timestamp": 1514818800000, "value": "41.0" }, { "timestamp": 1514815200000, "value": "27.0" }, { "timestamp": 1514811600000, "value": "47.0" }, { "timestamp": 1514808000000, "value": "66.0" }, { "timestamp": 1514804400000, "value": "50.0" }, { "timestamp": 1514800800000, "value": "41.0" }, { "timestamp": 1514797200000, "value": "49.0" }, { "timestamp": 1514793600000, "value": "35.0" }, { "timestamp": 1514790000000, "value": "89.0" }, { "timestamp": 1514786400000, "value": "42.0" }, { "timestamp": 1514782800000, "value": "47.0" }, { "timestamp": 1514779200000, "value": "21.0" }, { "timestamp": 1514775600000, "value": "27.0" }, { "timestamp": 1514772000000, "value": "20.0" }, { "timestamp": 1514768400000, "value": "12.0" }, { "timestamp": 1514764800000, "value": "7.0" } ] } ], "name" : "proxy1" } ], "metaData" : { "errors" : [ ], "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ] } }
Aby przesłać te dane do Apigee z maszyny z dostępem do internetu, użyj tego polecenia cURL polecenie:
curl -X POST -H 'Content-Type:application/json' \ -u apigee_analytics_client_id:apigee_analytics_secret \ https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/{org_name}/apis -d '{"environments"...}'
gdzie:
- apigee_analytics_client_id:apigee_analytics_secret określ Twój dane logowania na potrzeby przesyłania danych do Apigee uzyskane od zespołu pomocy Apigee.
- {org_name} określa organizację.
- {"environments"...} zawiera wyniki polecenia cURL, które zebranych w ramach powyższych statystyk.