Edge para nube privada v. 4.16.09
Todos los clientes de Edge para nube privada deben enviar a Apigee estadísticas sobre el tráfico de proxy de API. Apigee recomienda que los clientes suban esa información una vez al día, posiblemente creando un trabajo cron.
Debes enviar los datos de tus implementaciones de APIs de producción, pero no de las APIs en implementaciones de desarrollo o prueba. En la mayoría de las instalaciones de Edge, definirás organizaciones o entornos específicos para tus APIs de producción. Los datos que envíes solo serán para esas organizaciones y entornos de producción.
Para ayudar a subir estos datos, Apigee proporciona la versión beta de la utilidad de línea de comandos apigee-analytics-collector. Esta utilidad envía el informe de volumen de llamadas a la API de vuelta a Apigee. Cada instalación de Edge para la nube privada puede usar esta utilidad para recuperar y, luego, informar datos de tráfico a Apigee.
Para obtener más información sobre el proceso de carga de datos de tráfico en Apigee, consulta las Preguntas frecuentes.
Mira un video breve para ver la herramienta en acción.
Instala apigee-analytics-collector
La utilidad apigee-analytics-collector es un módulo de Node.js que instalas con npm.
Requisitos de instalación
La utilidad apigee-analytics-collector requiere lo siguiente:
- npm 2.x o posterior
- Node.js 4.x.
Dónde instalarlo
El nodo en el que instalas la utilidad apigee-analytics-collector puede ser cualquier nodo que pueda acceder a la API de Management de Edge en el servidor de administración de Edge. Puedes instalarlo directamente en el servidor de administración, en otro nodo de la instalación de Edge o en un nodo independiente, siempre que ese nodo pueda realizar solicitudes a la API al servidor de administración.
Requisitos de acceso a Internet
Instala la utilidad apigee-analytics-collector en una máquina con acceso externo a Internet. Luego, la utilidad apigee-analytics-collector puede subir datos directamente a Apigee.
Si no hay ningún nodo con acceso a la API de Edge Management en el servidor de Edge Management y con acceso a Internet externo, puedes usar la API de Edge Management para guardar los datos de tráfico de forma local. Luego, debes transferir los datos a una máquina con acceso a Internet para subirlos a Apigee. En esta situación, no necesitas usar la utilidad apigee-analytics-collector. Consulta Sube datos a Apigee de forma manual a continuación para obtener más información.
Instalación
Usa el siguiente comando para instalar la utilidad apigee-analytics-collector:
> npm install apigee-analytics-collector -g
Ejecuta apigee-analytics-collector
En esta sección, se describe cómo ejecutar la utilidad apigee-analytics-collector.
Información obligatoria para ejecutar apigee-analytics-collector
Necesitas la siguiente información para ejecutar el comando apigee-analytics-collector y reenviar datos a Apigee:
- apigee_mgmt_api_uri: Es la URL base de la API de Edge en tu servidor de administración. Por lo general, esta URL tiene el siguiente formato:
http://ms_IP:8080/v1
En el ejemplo anterior, ms_IP es la dirección IP o el servidor de administración, y 8080 es el puerto que usa la API de Edge. Si creaste una entrada de DNS para la API de Edge, la URL tiene el siguiente formato:
http://ms_DNS/v1
Si habilitas TLS en la API de administración de Edge, tiene el siguiente formato:
https://ms_IP:8080/v1
https://ms_DNS/v1 - apigee_mgmt_api_email: Es la dirección de correo electrónico de una cuenta con acceso a las APIs de Edge /stats. A menudo, este será el correo electrónico del administrador del sistema de Edge o el del administrador de la organización para tus organizaciones de producción.
- apigee_mgmt_api_password: Es la contraseña de Edge para la cuenta que especifica apigee_mgmt_api_email.
- apigee_analytics_client_id y apigee_analytics_secret: Son tus credenciales para subir datos a Apigee. Envía un ticket a la asistencia de Apigee para obtener apigee_analytics_client_id y apigee_analytics_secret.
Comandos de ejemplo
A continuación, se muestra un comando de ejemplo para recuperar datos de tráfico de todas las organizaciones y entornos en la instalación de Edge y subir esos datos a 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
Observa que el comando contiene toda la información requerida, como tu apigee_analytics_client_id y apigee_analytics_secret.
Deberías ver resultados con el siguiente formato:
[
{
"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
}
]
}
]Usa las opciones de línea de comandos para controlar sus acciones. Usa las siguientes opciones para especificar las organizaciones y los entornos que se incluirán en los datos generados:
- -i, --include_orgs <lista de elementos separados por comas>
- -x, --exclude_orgs <lista de elementos separados por comas>
- -n, --include_envs <lista de elementos separados por comas>
- -e, --exclude_envs <lista de elementos separados por comas>
Por ejemplo, para especificar solo las organizaciones y los entornos de producción, usa las opciones -i (o --include_orgs) y -n (o --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
En este ejemplo, solo recopilas datos del entorno de producción de myOrg.
Para volcar los datos en una pantalla y examinarlos antes de enviarlos a Apigee, usa la opción -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
La opción -S omite la carga de datos a Apigee. Luego, puedes volver a ejecutar el comando sin la opción -S para enviar los datos a Apigee.
Un motivo para usar la opción -S es que puedes mostrar diferentes tipos de datos de forma local. Apigee solo requiere que subas datos de tráfico de la API, pero la opción -D te permite mostrar datos sobre productos de API, desarrolladores, apps o proxies de API. En el siguiente ejemplo, se usan las opciones -D y -S para mostrar los datos del desarrollador de forma local:
> 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
Incluye la opción -v para obtener un resultado detallado y la opción -R para ver los comandos curl que genera 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
En la siguiente sección, se incluye una lista completa de las opciones de línea de comandos.
Parámetros de comando
En la siguiente tabla, se muestra el conjunto completo de opciones para la utilidad apigee-analytics-collector:
|
Comando |
Uso |
|---|---|
|
-h, --help |
Información de uso de los resultados |
|
-D, --dimension <dimension> |
Es la dimensión del tráfico que se recopilará. Dimensiones válidas: apiproducts, devs, apps, apiproxy (predeterminado) |
|
-d, --days <days> |
Es la cantidad de días anteriores, a partir de la fecha actual, de los que se recopilarán datos. El valor predeterminado es 3. Si especificas -d, no especifiques también -s ni -z para establecer un período. |
|
-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri> |
Es la URL de la API de administración de Edge. |
|
-u, --apigee_mgmt_api_email <apigee_mgmt_api_email> |
La dirección de correo electrónico de una cuenta con acceso a las APIs de Edge /stats. A menudo, este será el correo electrónico del administrador del sistema de Edge o el correo electrónico del administrador de la organización para tus organizaciones de producción. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Es la contraseña asociada a la cuenta de correo electrónico de la API de Management de Edge que se especifica con -u. |
|
-i, --include_orgs <items> |
Es una lista separada por comas de las organizaciones que se incluirán en el resultado. |
|
-x, --exclude_orgs <items> |
Es una lista separada por comas de las organizaciones que se excluirán del resultado. |
|
-n, --include_envs <items> |
Es una lista de entornos separados por comas que se incluirán en el resultado. |
|
-e, --exclude_envs <items> |
Es una lista separada por comas de los entornos que se incluirán en el resultado. |
|
-o, --output <path> |
Ruta de acceso y nombre de archivo para guardar el resultado. |
|
-s, --time_range_start <time_range_start> |
Es el período de inicio para consultar las estadísticas de tráfico, con el formato "03/01/2016 00:00". Si especificas -d, no especifiques también -s y -z para establecer un período. |
|
-z, --time_range_end <time_range_end> |
Es el final del período para consultar las estadísticas de tráfico, con el formato "04/01/2016 24:00". Si especificas -d, no especifiques también -s y -z para establecer un período. |
|
-t, --time_unit <time_unit> |
Es la unidad de tiempo de los datos de tráfico. Semana predeterminada. Unidades predeterminadas por hora. Unidades de tiempo válidas: segundo, minuto, hora, día, semana. |
|
-S, --standard_output |
Escribe el resultado en la terminal (stdout), en lugar de subirlo a Apigee. |
|
-c, --apigee_analytics_client_id <apigee_analytics_client_id> |
Es tu ID para subir datos a Apigee. Envía un ticket a la asistencia de Apigee para obtenerlo. |
|
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Es tu secreto para subir datos a Apigee. Envía un ticket a la asistencia de Apigee para obtenerlo. |
|
-R, --include_curl_commands |
Incluye los comandos cURL generados en el resultado para la depuración. |
|
-v, --verbose |
Muestra un resultado detallado. |
Sube datos a Apigee de forma manual
Apigee recomienda que instales la utilidad apigee-analytics-collector en una máquina con acceso a Internet externo. Luego, la utilidad apigee-analytics-collector puede subir datos directamente a Apigee.
Sin embargo, si la máquina no tiene acceso a Internet externo, usa la API de administración de Edge para recopilar datos de tráfico y, luego, usa comandos de cURL para subirlos a Apigee desde una máquina con acceso a Internet. Debes repetir este proceso para cada organización y entorno de producción en tu instalación de Edge.
Usa el siguiente comando de cURL para recopilar datos de tráfico de una organización y un entorno específicos durante un intervalo de tiempo determinado:
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://<ms_IP>:8080/v1/organizations/{org_name}/environments/{env_name}/stats/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"Este comando usa la API de Edge para obtener el recuento de mensajes de la API. Este comando incluye lo siguiente:
- apigee_mgmt_api_email:apigee_mgmt_api_password especifica la dirección de correo electrónico de una cuenta con acceso a las APIs de Edge /stats.
- <ms_IP> es la dirección IP o el nombre de DNS del servidor de administración de Edge.
- {org_name} y {env_name} especifican la organización y el entorno.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM especifica el período de las estadísticas que se recopilarán. Observa que el comando cURL usa el código hexadecimal %20 para los espacios en el período.
Por ejemplo, para recopilar estadísticas de un período de 24 horas, usa el siguiente comando:
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"
Deberías ver una respuesta en el formulario como la siguiente:
{
"environments" : [ {
"metrics" : [ {
"name" : "sum(message_count)",
"values" : [ "42.0" ]
} ],
"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" ]
}
}Luego, para subir esos datos a Apigee desde una máquina con acceso a Internet, usa el siguiente comando de 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"...}'Donde:
- apigee_analytics_client_id:apigee_analytics_secret especifica tus credenciales para subir datos a Apigee que obtuviste de la asistencia de Apigee.
- {org_name} especifica la organización.
- {"environments"...} contiene los resultados del comando cURL que usaste para recopilar las estadísticas anteriores.