Edge dla chmury prywatnej w wersji 4.18.01
Wszyscy klienci korzystający z Edge dla chmury prywatnej muszą przesyłać do Apigee statystyki dotyczące ruchu przez serwery proxy interfejsu API. Apigee zaleca klientom przesyłanie tych informacji raz dziennie, na przykład przez utworzenie zadania cron.
Musisz przesłać dane dotyczące wdrożeń produkcyjnych interfejsów API, ale nie interfejsów API we wdrożeniach deweloperskich lub testowych. W większości instalacji Edge definiuje się konkretne organizacje lub środowiska dla produkcyjnych interfejsów API. Przesłane dane dotyczą tylko tych organizacji i środowisk produkcyjnych.
Aby ułatwić przesyłanie tych danych, Apigee udostępnia wersję beta narzędzia wiersza poleceń apigee-analytics-collector. To narzędzie wysyła raport o liczbie wywołań interfejsu API z powrotem do Apigee. Każda instalacja Edge for chmura prywatna może używać tego narzędzia do pobierania i raportowania danych o ruchu do Apigee.
Uzyskiwanie dostępu do danych przesłanych przez apigee-analytics-collector
Po przesłaniu danych za pomocą narzędzia apigee-analytics-collector możesz je wyświetlić w Apigee 360.
Aby wyświetlić dane, zaloguj się w Apigee 360, a następnie wybierz opcję Usage (Użycie). Na stronie Wykorzystanie wyświetlany jest wykres wykorzystania oraz tabela z danymi o wykorzystaniu dla każdej organizacji Edge.
Instalowanie apigee-analytics-collector
Narzędzie apigee-analytics-collector to RPM, który instalujesz za pomocą narzędzia apigee-service.
Gdzie zainstalować
Narzędzie apigee-analytics-collector możesz zainstalować na dowolnym węźle, który ma dostęp do interfejsu API zarządzania Google Analytics Edge na serwerze zarządzania Edge. Możesz go zainstalować bezpośrednio na serwerze zarządzania, w innym węźle instalacji Edge lub w osobnym węźle, o ile ten węzeł może wysyłać żądania do interfejsu API do serwera zarządzania.
Wymagania dotyczące dostępu do internetu
Zainstaluj narzędzie apigee-analytics-collector na komputerze z dostępem do internetu. Następnie narzędzie apigee-analytics-collector może przesyłać dane bezpośrednio do Apigee.
Jeśli nie ma węzła, który ma dostęp do interfejsu Edge Management API na serwerze zarządzania Edge i do zewnętrznego internetu, możesz użyć interfejsu Edge Management API, aby zapisać dane o ruchu lokalnie. Następnie musisz przenieść dane na komputer z dostępem do internetu, aby przesłać je do Apigee. W tym scenariuszu nie musisz używać narzędzia apigee-analytics-collector. Więcej informacji znajdziesz poniżej w sekcji Ręczne przesyłanie danych do Apigee.
Instalacja
Użyj tego polecenia, aby zainstalować narzędzie apigee-analytics-collector. Ponieważ instalujesz plik RPM, to polecenie musi zostać uruchomione przez użytkownika root lub użytkownika z pełnym dostępem sudo. Pełny dostęp sudo oznacza, że użytkownik ma dostęp sudo do wykonywania tych samych operacji co 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 uruchamiania apigee-analytics-collector
Musisz uruchomić apigee-analytics-collector jako użytkownik inny niż root. Ten użytkownik musi mieć pełny dostęp sudo do użytkownika „apigee”.
Aby skonfigurować użytkownika tak, aby miał pełny dostęp sudo do użytkownika „apigee”, użyj polecenia „visudo”, aby zmodyfikować plik sudoers i dodać:
analyticsUser ALL=(apigee) NOPASSWD: ALL
gdzie analyticsUser to nazwa użytkownika, który uruchamia narzędzie apigee-analytics-collector.
Po zainstalowaniu narzędzia apigee-analytics-collector i skonfigurowaniu użytkownika możesz przetestować narzędzie, uruchamiając polecenie pomocy dla narzędzia apigee-analytics-collector:
> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help
Informacje wymagane do uruchomienia apigee-analytics-collector
Aby uruchomić polecenie apigee-analytics-collector i przekazywać dane do Apigee, potrzebujesz tych informacji:
- apigee_mgmt_api_uri: podstawowy adres URL interfejsu API Edge na serwerze zarządzania. Ten adres URL ma zwykle postać:
http://ms_IP:8080/v1
Gdzie ms_IP to adres IP serwera zarządzania, a 8080 to port używany przez interfejs API Edge. Jeśli masz wpis DNS dla interfejsu API Edge, adres URL ma postać:
http://ms_DNS/v1
Jeśli włączysz TLS w interfejsie API zarządzania Edge, adres URL ma postać:
https://ms_IP:8080/v1
https://ms_DNS/v1 - 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 Edge lub administratora organizacji w organizacjach produkcyjnych.
- apigee_mgmt_api_password: hasło Edge do 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. Aby uzyskać apigee_analytics_client_id i apigee_analytics_secret, prześlij zgłoszenie do zespołu pomocy Apigee.
Przykładowe polecenia
Poniżej znajdziesz przykładowe polecenie, które pobiera dane o ruchu dla wszystkich organizacji i środowisk w instalacji Edge i przesyła je do Apigee. Zwróć uwagę, jak używasz apigee-service do uruchamiania polecenia 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 polecenie zawiera wszystkie wymagane informacje, takie jak apigee_analytics_client_id i apigee_analytics_secret.
Powinny pojawić się wyniki w takiej postaci:
[
{
"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
}
]
}
]Aby kontrolować działanie polecenia, użyj opcji wiersza poleceń. Użyj tych opcji, aby określić organizacje i środowiska, które mają być uwzględnione w wygenerowanych danych:
- -i, --include_orgs <lista elementów rozdzielona przecinkami>
- -x, --exclude_orgs <lista elementów rozdzielona przecinkami>
- -n, --include_envs <lista elementów rozdzielona przecinkami>
- -e, --exclude_envs <lista elementów rozdzielona przecinkami>
Aby na przykład określić tylko organizacje i środowiska produkcyjne, użyj opcji -i (lub --include_orgs) i -n (lub --include_envs):
> /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 organizacji myOrg.
Aby wyświetlić dane na ekranie i sprawdzić je przed wysłaniem do Apigee, użyj opcji -S:
> /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 przesyłanie danych do Apigee. Następnie możesz ponownie uruchomić polecenie bez opcji -S, aby wysłać dane do Apigee.
Jednym z powodów użycia opcji -S jest możliwość wyświetlania różnych typów danych lokalnie. Apigee wymaga tylko przesłania danych o ruchu związanym z interfejsem API, ale opcja -D umożliwia wyświetlanie danych o usługach interfejsu API, deweloperach, aplikacjach lub serwerach proxy interfejsu API. W poniższym przykładzie użyto opcji -D i -S, aby wyświetlić dane dewelopera 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
Dołącz opcję -v, aby uzyskać szczegółowe dane wyjściowe, oraz opcję -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
W następnej sekcji znajdziesz pełną listę opcji wiersza poleceń.
Parametry polecenia
W tabeli poniżej znajdziesz pełny zestaw opcji narzędzia apigee-analytics-collector:
|
Command |
Użycie |
|---|---|
|
-h, --help |
Informacje o użyciu danych wyjściowych |
|
-D, --dimension <dimension> |
Wymiar związany z ruchem, który ma być zbierany. Prawidłowe wymiary: apiproducts, devs, apps, apiproxy (domyślny) |
|
-d, --days <days> |
Liczba dni wstecz, licząc od bieżącej daty, z których mają być zbierane dane. Wartość domyślna to 3. Jeśli określisz parametr -d, nie podawaj parametrów -s i -z, aby ustawić zakres czasu. |
|
-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri> |
Adres URL interfejsu API zarządzania Edge. |
|
-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 Edge lub administratora organizacji w organizacjach produkcyjnych. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Hasło powiązane z kontem e-mail interfejsu API zarządzania Google Analytics Edge określonym przez -u. |
|
-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> |
Lista środowisk rozdzielona przecinkami do uwzględnienia w danych wyjściowych. |
|
-o, --output <path> |
Ścieżka i nazwa pliku do zapisania danych wyjściowych. |
|
-s, --time_range_start <time_range_start> |
Czas rozpoczęcia zapytania o statystyki ruchu w formacie: „03/01/2016 00:00”. Jeśli określisz parametr -d, nie podawaj parametrów -s i -z, aby ustawić zakres czasu. |
|
-z, --time_range_end <time_range_end> |
Koniec zakresu czasu dla zapytania o statystyki ruchu w formacie: „04/01/2016 24:00”. Jeśli określisz parametr -d, nie podawaj parametrów -s i -z, aby ustawić zakres czasu. |
|
-t, --time_unit <time_unit> |
Jednostka czasu dla danych o ruchu. Tydzień domyślny. Domyślne jednostki na godzinę. 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> |
Identyfikator do przesyłania danych do Apigee. Aby go uzyskać, prześlij zgłoszenie do zespołu pomocy Apigee. |
|
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Twój obiekt tajny do przesyłania danych do Apigee. Aby go uzyskać, prześlij zgłoszenie do zespołu pomocy Apigee. |
|
-R, --include_curl_commands |
Dołącz wygenerowane polecenia cURL do danych wyjściowych na potrzeby debugowania. |
|
-v, --verbose |
Wyświetlaj szczegółowe dane wyjściowe. |
Ręczne przesyłanie danych do Apigee
Apigee zaleca zainstalowanie narzędzia apigee-analytics-collector na komputerze 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 maszyna nie ma zewnętrznego dostępu do internetu, użyj interfejsu API zarządzania Google Analytics Edge, aby zebrać dane o ruchu, a następnie użyj poleceń cURL, aby przesłać je do Apigee z maszyny z dostępem do internetu. Musisz powtórzyć ten proces w przypadku każdej organizacji produkcyjnej i środowiska w instalacji Edge.
Użyj tego polecenia cURL, aby zebrać dane o ruchu w określonej organizacji i środowisku 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 Edge Get API message count 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 serwera zarządzania Edge.
- {org_name} i {env_name} określają organizację i środowisko.
- apiproxy to wymiar, który grupuje dane według proxy interfejsów API.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour określa zakres czasu podzielony na jednostki czasu, dla których mają być zbierane dane. Zwróć uwagę, że polecenie cURL używa kodu szesnastkowego
%20dla spacji w zakresie czasu.
Aby na przykład zebrać liczbę komunikatów proxy interfejsu API godzina po godzinie w ciągu 24 godzin, użyj tego wywołania interfejsu API zarządzania Google Analytics. Parametr timeRange zawiera znaki zakodowane na potrzeby adresu 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"
Powinna pojawić się odpowiedź w takiej formie:
{
"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 komputera z dostępem do internetu, użyj tego polecenia 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: podaj dane logowania do przesyłania danych do Apigee, które zostały uzyskane od zespołu pomocy Apigee.
- {org_name} określa organizację.
- {"environments"...} zawiera wyniki polecenia cURL użytego do zebrania statystyk powyżej.