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
Wiersz 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.
Wymagane: przed przesłaniem danych skontaktuj się z zespołem pomocy Apigee
Aby móc przesyłać dane do Apigee, musisz skontaktować się z zespołem pomocy Apigee Edge w celu dokończenia wprowadzenia. proces tworzenia konta.
Instalowanie apigee-analytics-collector
apigee-analytics-collector
to RPM instalowany przy użyciu narzędzia apigee-service
.
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 przesyłać dane 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
i dostępu do zewnętrznego internetu, możesz użyć interfejsu Edge Management API, aby zapisać 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 używać apigee-analytics-collector
za media. Zobacz
Ręczne przesyłanie danych do
Apigee
Instalacja
Aby zainstalować narzędzie apigee-analytics-collector
, użyj poniższego polecenia. Ponieważ
jeśli instalujesz plik RPM, to polecenie musi wykonać użytkownik root lub
pełny dostęp do sudo. Aby uzyskać pełny dostęp sudo, oznacza to, że użytkownik ma dostęp sudo, który pozwala wykonać to samo
jako root.
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
Uruchamianie apigee-analytics-collector
W tej sekcji opisano, jak uruchomić narzędzie apigee-analytics-collector
.
Konfigurowanie użytkownika do uruchomienia narzędzia apigee-analytics-collector
Musisz uruchomić aplikację apigee-analytics-collector
jako użytkownik inny niż root
użytkownika. Ten użytkownik musi mieć pełny dostęp sudo do „apigee” użytkownika.
Aby skonfigurować użytkownika, aby miał pełny dostęp sudo do „apigee” , należy użyć funkcji „visudo”, polecenie do wyedytuj plik sudoers, dodając:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Gdzie analyticsUser to nazwa użytkownika biegu
apigee-analytics-collector
.
Po zainstalowaniu narzędzia apigee-analytics-collector
i konfigurując użytkownika, możesz przetestować to narzędzie, uruchamiając polecenie pomocy
narzędzie apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic --help
Informacje wymagane do uruchomienia narzędzia apigee-analytics-collect
Aby uruchomić polecenie apigee-analytics-collector
, potrzebujesz tych informacji
i przekazywanie danych do Apigee:
apigee_mgmt_api_uri
: podstawowy adres URL interfejsu Edge API w zarządzaniu Serwer Adres URL ma zwykle następującą postać: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 Interfejsy API Edge/stats
. 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 z konta określone przezapigee_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 Edge, aby uzyskaćapigee_analytics_client_id
iapigee_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 przesyłając te dane do Apigee. Zwróć uwagę na to,
użyj apigee-service
do
uruchom polecenie apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service 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 comma-separated list of items
-x, --exclude_orgs comma-separated list of items
-n, --include_envs comma-separated list of items
-e, --exclude_envs comma-separated list of items
Aby na przykład określić tylko organizacje i środowiska produkcyjne, użyj funkcji
-i
(lub --include_orgs
) i -n
(lub
--include_envs)
– opcje:
/opt/apigee/apigee-service/bin/apigee-service 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 zbadania ich przed wysłaniem do Apigee, użyj funkcji -S
opcja:
/opt/apigee/apigee-service/bin/apigee-service 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 uruchomić polecenie ponownie bez opcji -S
, aby wysłać
do Apigee.
Jednym z powodów, dla których warto korzystać z narzędzia -S
pozwala wyświetlać lokalnie różne typy danych. Apigee wymaga tylko
przesyła dane o ruchu w interfejsie API, ale opcja -D
umożliwia wyświetlanie danych o tym interfejsie
usług, deweloperów, aplikacji ani serwerów proxy interfejsów API. W przykładzie poniżej użyto atrybutów -D
i
Opcje wyświetlania danych dewelopera za pomocą -S
lokalnie:
/opt/apigee/apigee-service/bin/apigee-service 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
Dodaj opcję -v
, aby uzyskać
szczegółowe dane wyjściowe oraz opcja -R
aby zobaczyć polecenia curl wygenerowane przez apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service 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
Poniższa tabela zawiera pełny zestaw opcji
Narzędzie apigee-analytics-collector
:
Polecenie | Opis |
---|---|
-h, --help |
Wyjściowe informacje o wykorzystaniu |
-D, --dimension dimension |
Wymiar ruchu, który ma być rejestrowany. Prawidłowe wartości to:
|
-d, --days days
|
Liczba danych, które należy zebrać w minionych dniach, począwszy od bieżącej daty. domyślna wartość to 3. Jeśli podasz |
-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 |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
Hasło powiązane z kontem e-mail interfejsu Edge Management API określonym przez
|
-i, --include_orgs items
|
Rozdzielona przecinkami lista organizacji, które mają zostać uwzględnione w danych wyjściowych. |
-x, --exclude_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 mają zostać uwzględnione w danych wyjściowych. |
-e, --exclude_envs items
|
Rozdzielona przecinkami lista środowisk, które mają zostać uwzględnione 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 należy przesyłać zapytania o statystyki natężenia ruchu, w formacie „MM/DD/YYYY HH:MM”. Jeśli określasz |
-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 określasz |
-t, --time_unit time_unit
|
Jednostka czasu danych o natężeniu ruchu. Wartością domyślną jest
Jeśli ustawisz |
-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 Edge 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 Edge do uzyskać. |
-R, --include_curl_commands
|
W danych wyjściowych umieść wygenerowane polecenia |
-v, --verbose
|
Wyświetl szczegółowe dane wyjściowe. |
Ręczne przesyłanie danych do Apigee
Apigee zaleca zainstalowanie narzędzia apigee-analytics-collector
komputer z zewnętrznym dostępem do internetu. Następnie narzędzie apigee-analytics-collector
może przesyłać dane 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 potem za pomocą poleceń curl
przesłać je do Apigee z
maszyna z
dostęp do internetu. Musisz powtórzyć ten proces w przypadku każdej organizacji produkcyjnej
w środowisku Edge.
Aby zebrać dane o ruchu w określonej organizacji – użyj tego polecenia curl
ś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 env_name określają organizacji i środowiska.
- apiproxy to wymiar grupujący wskaźniki według serwerów proxy API.
MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour
określa zakresu czasu podzielonego na jednostki czasowe danych do zebrania. Zwróć uwagę, że Poleceniecurl
używa kodu szesnastkowego%20
dla spacji w czasie zakres dat.
Aby na przykład zbierać informacje o liczbie komunikatów serwera proxy interfejsu API co godzinę w okresie 24 godzin, użyj funkcji obserwowane: Wywołanie interfejsu API.
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&timeUnit=hour"
(Pamiętaj, że timeRange
zawiera znaki zakodowane w adresie URL).
Odpowiedź powinna mieć następujący format:
{ "environments" : [ { "dimensions" : [ { "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" } ], "name" : "prod" } ], "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
Polecenie curl
:
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 dane logowania na potrzeby przesyłania danych do Apigee uzyskane z Apigee.
- org_name określa nazwę organizacji.
- "environments"... zawiera wyniki polecenia
curl
, które zebranych w ramach powyższych statystyk.