Edge for Private Cloud v4.18.01
Все клиенты Edge for Private Cloud должны отправлять в Apigee статистику о трафике прокси-сервера API. Apigee рекомендует клиентам загружать эту информацию раз в день, например создав задание Cron.
Вы должны предоставить данные для рабочих развертываний API, но не для развертываний API в процессе разработки или тестирования. В большинстве установок Edge вы будете определять конкретные организации или среды для своих рабочих API. Отправляемые вами данные предназначены только для этих организаций и сред.
Чтобы помочь вам загрузить эти данные, Apigee предоставляет бета-версию утилиты командной строки apigee-analytics-collector. Эта утилита отправляет отчет о количестве вызовов API обратно в Apigee. Каждая установка Edge для частного облака может использовать эту утилиту для получения и передачи данных о трафике в Apigee.
Доступ к данным, загруженным apigee-analytics-collector
После загрузки данных с помощью утилиты apigee-analytics-collector вы можете просматривать их в Apigee 360.
Чтобы посмотреть данные, войдите в Apigee 360 и выберите Usage (Использование). На странице Использование показаны график и таблица с данными об использовании для каждой из ваших организаций Edge.
Установка apigee-analytics-collector
Утилита apigee-analytics-collector – это RPM-пакет, который устанавливается с помощью утилиты apigee-service.
Где установить
Узел, на котором вы устанавливаете утилиту apigee-analytics-collector, может быть любым узлом, который может получить доступ к Edge management API на сервере Edge Management Server. Вы можете установить его непосредственно на сервер управления, на другой узел установки Edge или на отдельный узел, если этот узел может отправлять запросы к API на сервер управления.
Требования к доступу в интернет
Установите утилиту apigee-analytics-collector на компьютер с доступом к интернету. Затем утилита apigee-analytics-collector может загружать данные непосредственно в Apigee.
Если на сервере управления Edge нет узла, у которого есть доступ и к API управления Edge, и к интернету, вы можете использовать API управления Edge, чтобы сохранить данные о трафике локально. Затем вам нужно будет перенести данные на компьютер с доступом к интернету, чтобы загрузить их в Apigee. В этом случае вам не нужно использовать утилиту apigee-analytics-collector. Подробнее о том, как вручную загрузить данные в Apigee…
Установка
Чтобы установить утилиту apigee-analytics-collector, используйте следующую команду: Поскольку вы устанавливаете файл RPM, эту команду должен выполнять пользователь root или пользователь с полным доступом sudo. Полный доступ sudo означает, что пользователь может выполнять те же операции, что и суперпользователь.
> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
Запуск apigee-analytics-collector
В этом разделе описывается, как запустить утилиту apigee-analytics-collector.
Настройка пользователя для запуска apigee-analytics-collector
Запускать apigee-analytics-collector нужно от имени пользователя, не являющегося пользователем root. У этого пользователя должен быть полный доступ sudo к пользователю apigee.
Чтобы предоставить пользователю полный доступ sudo к пользователю apigee, используйте команду visudo, чтобы изменить файл sudoers и добавить:
analyticsUser ALL=(apigee) NOPASSWD: ALL
где analyticsUser – имя пользователя, запустившего утилиту apigee-analytics-collector.
После установки утилиты apigee-analytics-collector и настройки пользователя вы можете протестировать утилиту, выполнив команду help для утилиты apigee-analytics-collector:
> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help
Информация, необходимая для запуска apigee-analytics-collector
Чтобы выполнить команду apigee-analytics-collector и переслать данные в Apigee, вам потребуется следующая информация:
- apigee_mgmt_api_uri – базовый URL Edge API на сервере управления. Обычно этот URL имеет следующий вид:
http://ms_IP:8080/v1
где ms_IP – это IP-адрес или ваш сервер управления, а 8080 – порт, используемый Edge API. Если вы создали запись DNS для Edge API, то URL будет иметь следующий вид:
http://ms_DNS/v1
Если вы включите TLS в Edge Management API, то URL будет иметь следующий вид:
https://ms_IP:8080/v1
https://ms_DNS/v1 - apigee_mgmt_api_email – адрес электронной почты аккаунта с доступом к API Edge /stats. Часто это адрес электронной почты системного администратора Edge или администратора организации для ваших рабочих организаций.
- apigee_mgmt_api_password – пароль Edge для аккаунта, указанного в параметре apigee_mgmt_api_email.
- apigee_analytics_client_id и apigee_analytics_secret – ваши учетные данные для загрузки данных в Apigee. Чтобы получить apigee_analytics_client_id и apigee_analytics_secret, отправьте запрос в службу поддержки Apigee.
Примеры команд
Ниже показан пример команды для получения данных о трафике для всех организаций и сред в установке Edge и загрузки этих данных в Apigee. Обратите внимание, что для выполнения команды apigee-analytics-collector используется apigee-service:
> /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
Обратите внимание, что команда содержит всю необходимую информацию, например apigee_analytics_client_id и apigee_analytics_secret.
Результаты должны выглядеть следующим образом:
[
{
"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
}
]
}
]Для управления действиями команды используйте параметры командной строки. Чтобы указать организации и среды, которые нужно включить в сгенерированные данные, используйте следующие параметры:
- -i, --include_orgs <список элементов, разделенных запятыми>
- -x, --exclude_orgs <comma-separated list of items>
- -n, --include_envs <comma-separated list of items>
- -e, --exclude_envs <список элементов, разделенных запятыми>
Например, чтобы указать только рабочие организации и среды, используйте параметры -i (или --include_orgs) и -n (или --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
В этом примере вы собираете данные только из рабочей среды myOrg.
Чтобы вывести данные на экран и проверить их перед отправкой в Apigee, используйте параметр -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
Параметр -S отменяет загрузку данных в Apigee. Затем вы можете запустить команду без параметра -S, чтобы отправить данные в Apigee.
Параметр -S позволяет показывать разные типы данных локально. Apigee требует только загрузки данных о трафике API, но параметр -D позволяет отображать данные о продуктах API, разработчиках, приложениях или прокси-серверах API. В примере ниже используются параметры -D и -S для локального отображения данных разработчика:
> /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
Добавьте параметр -v, чтобы получить подробные выходные данные, и параметр -R, чтобы увидеть команды curl, сгенерированные 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
В следующем разделе приведен полный список параметров командной строки.
Параметры команд
В таблице ниже перечислены все параметры утилиты apigee-analytics-collector.
|
Command |
Использование |
|---|---|
|
-h, --help |
Информация об использовании выходных данных |
|
-D, --dimension <dimension> |
Параметр трафика, который нужно собирать. Допустимые параметры: apiproducts, devs, apps, apiproxy (по умолчанию). |
|
-d, --days <days> |
Количество дней, за которые нужно собрать данные, начиная с текущей даты. Значение по умолчанию – 3. Если вы указываете -d, не указывайте -s и -z, чтобы задать диапазон времени. |
|
-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri> |
URL API управления Edge. |
|
-u, --apigee_mgmt_api_email <apigee_mgmt_api_email> |
Адрес электронной почты аккаунта с доступом к API Edge /stats. Часто это адрес электронной почты системного администратора Edge или администратора организации для ваших рабочих организаций. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Пароль, связанный с аккаунтом электронной почты Edge management API, указанным в параметре -u. |
|
-i, --include_orgs <items> |
Разделенный запятыми список организаций, которые нужно включить в выходные данные. |
|
-x, --exclude_orgs <items> |
Список организаций, разделенный запятыми, которые нужно исключить из выходных данных. |
|
-n, --include_envs <items> |
Список сред, которые нужно включить в выходные данные. Через запятую. |
|
-e, --exclude_envs <items> |
Список сред, которые нужно включить в выходные данные. Через запятую. |
|
-o, --output <path> |
Путь и название файла для сохранения выходных данных. |
|
-s, --time_range_start <time_range_start> |
Начало диапазона дат для запроса статистики трафика в формате "03/01/2016 00:00". Если вы указываете -d, не указывайте -s и -z, чтобы задать диапазон дат. |
|
-z, --time_range_end <time_range_end> |
Конец диапазона дат для запроса статистики трафика в формате "04/01/2016 24:00". Если вы указываете -d, не указывайте -s и -z, чтобы задать диапазон дат. |
|
-t, --time_unit <time_unit> |
Единица времени для данных о трафике. Неделя по умолчанию. Единицы по умолчанию в час. Допустимые единицы времени: секунда, минута, час, день, неделя. |
|
-S, --standard_output |
Записать выходные данные в терминал (stdout), а не загружать их в Apigee. |
|
-c, --apigee_analytics_client_id <apigee_analytics_client_id> |
Ваш идентификатор для загрузки данных в Apigee. Чтобы получить его, отправьте запрос в службу поддержки Apigee. |
|
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Ваш секрет для загрузки данных в Apigee. Чтобы получить его, отправьте запрос в службу поддержки Apigee. |
|
-R, --include_curl_commands |
Включить сгенерированные команды cURL в выходные данные для отладки. |
|
-v, --verbose |
Показать подробные выходные данные. |
Ручная загрузка данных в Apigee
Apigee рекомендует установить утилиту apigee-analytics-collector на компьютере с доступом к интернету. Затем утилита apigee-analytics-collector может загружать данные непосредственно в Apigee.
Если у компьютера нет доступа к интернету, используйте Edge Management API для сбора данных о трафике, а затем загрузите их в Apigee с компьютера, подключенного к интернету, с помощью команд cURL. Вам придется повторить эту процедуру для каждой рабочей организации и среды в вашей установке Edge.
Чтобы собрать данные о трафике для определенной организации и среды за указанный интервал времени, используйте следующую команду cURL:
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"Эта команда использует API Edge Get API message count. В этой команде:
- apigee_mgmt_api_email:apigee_mgmt_api_password – адрес электронной почты аккаунта с доступом к API Edge /stats.
- <ms_IP> – IP-адрес или DNS-имя сервера управления Edge.
- {org_name} и {env_name} – организация и среда.
- apiproxy – параметр, который группирует показатели по прокси-серверам API.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour – диапазон дат, разделенный на единицы времени, за которые нужно собрать показатели. Обратите внимание, что в команде cURL для пробелов в диапазоне дат используется шестнадцатеричный код
%20.
Например, чтобы получить количество сообщений прокси-сервера API за каждый час в течение 24-часового периода, используйте следующий вызов Management API. Параметр timeRange содержит символы в 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"
Вы должны увидеть ответ в следующем формате:
{
"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" ]
}
}Чтобы загрузить эти данные в Apigee с компьютера с доступом к интернету, используйте следующую команду 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"...}'где:
- apigee_analytics_client_id:apigee_analytics_secret – ваши учетные данные для загрузки данных в Apigee, полученные от службы поддержки Apigee.
- {org_name} – название организации.
- {"environments"...} содержит результаты команды cURL, которую вы использовали для сбора статистики выше.