Edge para nube privada v4.18.01
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.
Accede a los datos que subió apigee-analytics-collector
Después de subir datos con la utilidad apigee-analytics-collector, puedes verlos en Apigee 360.
Para ver los datos, accede a Apigee 360 y, luego, selecciona la opción Uso. En la página Uso, se muestra un gráfico de uso y una tabla de datos de uso para cada una de tus organizaciones de Edge.
Instala apigee-analytics-collector
La utilidad apigee-analytics-collector es un RPM que instalas con la utilidad apigee-service.
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 de forma manual a Apigee a continuación para obtener más información.
Instalación
Usa el siguiente comando para instalar la utilidad apigee-analytics-collector. Debido a que instalarás un archivo RPM, este comando lo debe ejecutar el usuario raíz o un usuario que tenga acceso completo a sudo. El acceso sudo completo significa que el usuario tiene acceso sudo para realizar las mismas operaciones que el usuario raíz.
> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
Ejecuta apigee-analytics-collector
En esta sección, se describe cómo ejecutar la utilidad apigee-analytics-collector.
Configura un usuario para que ejecute apigee-analytics-collector
Debes ejecutar apigee-analytics-collector como un usuario que no sea raíz. Este usuario debe tener acceso sudo completo al usuario "apigee".
Para configurar un usuario de modo que tenga acceso sudo completo al usuario "apigee", usa el comando "visudo" para editar el archivo sudoers y agregar lo siguiente:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Donde analyticsUser es el nombre de usuario de la persona que ejecuta la utilidad apigee-analytics-collector.
Después de instalar la utilidad apigee-analytics-collector y configurar el usuario, puedes probar la utilidad ejecutando el comando de ayuda para la utilidad apigee-analytics-collector:
> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help
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. Observa cómo usas apigee-service para ejecutar el comando 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
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):
> /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
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:
> /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
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:
> /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
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:
> /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
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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"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.
- apiproxy es la dimensión que agrupa las métricas por proxies de API.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour especifica el período dividido en unidades de tiempo de las métricas que se recopilarán. Ten en cuenta que el comando cURL
usa el código hexadecimal
%20para los espacios en el período.
Por ejemplo, para recopilar los recuentos de mensajes del proxy de API hora por hora durante un período de 24 horas, usa la siguiente llamada a la API de administración. El timeRange contiene caracteres codificados en 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"
Deberías ver una respuesta en el formulario como la siguiente:
{
"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" ]
}
}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.