Todos los clientes de Edge para la nube privada deben enviar estadísticas de Apigee sobre la API el tráfico del proxy. Apigee recomienda que los clientes suban esa información una vez al día, posiblemente mediante crear un trabajo cron.
Debes enviar los datos para tus implementaciones de producción de API, pero no para las APIs en desarrollo o implementaciones de prueba. En la mayoría de las instalaciones de Edge, definirás organizaciones o entornos para tus APIs de producción. Los datos que envíes son solo para aquellos organizaciones y entornos.
Para ayudar en la carga de estos datos, Apigee proporciona la versión beta del
Línea de comandos de apigee-analytics-collector
o de terceros. Esta utilidad envía el informe del volumen de llamadas a la API a Apigee. Todas las ventajas de la
La instalación de nube privada puede usar esta utilidad para recuperar datos de tráfico e informarlos a
Apigee
Obligatorio: Comunícate con la asistencia de Apigee antes de subir datos
Antes de poder subir datos a Apigee, debes comunicarte con el equipo de asistencia de Apigee Edge para completar la integración el proceso de administración de recursos.
Instala apigee-analytics-collector
El apigee-analytics-collector
es un RPM que instalas con la utilidad apigee-service
.
Dónde instalar la app
El nodo en el que instalas la utilidad apigee-analytics-collector
puede ser cualquier
que puede acceder a la API de Edge Management en ese servidor. Puedes instalarlo
directamente en el servidor de administración, en otro nodo de la instalación de Edge o en un
siempre que ese nodo pueda enviar solicitudes a la API al servidor de administración.
Acceso a Internet requisitos
Instala la utilidad apigee-analytics-collector
en un
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 ese servidor
y acceso a la Internet externa, puedes usar la API de Edge Management para guardar el tráfico
los datos de forma local. Luego, debes transferir los datos a una máquina con acceso a Internet para subirlos a
Apigee En este caso, no necesitas usar apigee-analytics-collector
.
o de terceros. Consulta
Carga manual de datos a
Apigee para obtener más información.
Instalación
Usa el siguiente comando para instalar la utilidad apigee-analytics-collector
. Porque
estás instalando un archivo RPM, el usuario raíz o un usuario que tenga
Acceso total al sudo. Para obtener acceso completo sudo, el usuario tiene acceso sudo para realizar el mismo
de servicio como 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 no raíz.
usuario. Este usuario debe tener acceso completo de sudo a “apigee” usuario.
Configurar un usuario para que tenga acceso completo sudo a “apigee” usuario, utiliza el comando "visudo" para edita el archivo sudoers y agrega lo siguiente:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Donde analyticsUser es el nombre de usuario de la persona que dirige
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 help
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 para reenviar datos a Apigee:
apigee_mgmt_api_uri
: Es la URL base de la API de Edge en tu administración. Servidor. Por lo general, esta URL tiene el siguiente formato:http://ms_IP:8080/v1
Donde ms_IP es la dirección IP, o tu 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 está el formulario:
http://ms_DNS/v1
Si habilitas TLS en la API de Edge Management, se mostrará de la siguiente manera:
https://ms_IP:8080/v1 https://ms_DNS/v1
apigee_mgmt_api_email
: Es la dirección de correo electrónico de una cuenta que tiene acceso a la API de Edge/stats
. A menudo, esto será el correo electrónico del administrador del sistema perimetral o del administrador de la organización para las organizaciones de producción.apigee_mgmt_api_password
: Es la contraseña de Edge para la cuenta que especifica el usuario.apigee_mgmt_api_email
apigee_analytics_client_id
y apigee_analytics_secret: Tus credenciales para subir datos a Apigee. Envía un ticket al equipo de asistencia de Apigee Edge para obtenerloapigee_analytics_client_id
yapigee_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
en la instalación de Edge y subir esos datos a Apigee. Observa cómo
usa apigee-service
para
Ejecuta 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
Ten en cuenta que el comando contiene toda la información requerida, como tu apigee_analytics_client_id y apigee_analytics_secret
Deberías ver los resultados en 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 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 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
Por ejemplo, para especificar solo las organizaciones y los entornos de producción, usa el
-i
(o --include_orgs
) y -n
(o
Opciones de --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
Si deseas volcar los datos en una pantalla para examinarlos antes de enviarlos a Apigee, usa -S
.
opción:
/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 los datos
subir a Apigee. Luego, puedes volver a ejecutar el comando sin la opción -S
para enviar el
a Apigee.
Un motivo para usar -S
es que podrás mostrar diferentes tipos de datos de forma local. Apigee solo requiere que
subir datos de tráfico de la API, pero la opción -D
te permite mostrar datos sobre la API
desarrolladores, apps o proxies de API. En el siguiente ejemplo, se usan -D
y
-S
opciones para mostrar datos del desarrollador
localmente:
/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
resultado detallado y la opción -R
para ver los comandos curl que generó 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 opciones de línea de comandos.
Parámetros de comando
En la siguiente tabla, se enumera el conjunto completo de opciones para
Utilidad apigee-analytics-collector
:
Comando | Descripción |
---|---|
-h, --help |
Información de uso de salida |
-D, --dimension dimension |
La dimensión de tráfico que se debe recopilar Estos son los valores válidos:
|
-d, --days days
|
La cantidad de datos de los últimos días que se recopilarán, a partir de la fecha actual. El el valor predeterminado es 3. Si especificas |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
URL a la API de Edge Management. |
-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 |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
La contraseña asociada a la cuenta de correo electrónico de la API de Edge Management que especifica el
|
-i, --include_orgs items
|
Una lista de organizaciones separadas por comas para incluir en el resultado. |
-x, --exclude_orgs items
|
Una lista separada por comas de las organizaciones que se excluirán del resultado. |
-n, --include_envs items
|
Una lista separada por comas de entornos para incluir en el resultado. |
-e, --exclude_envs items
|
Una lista separada por comas de entornos para incluir del resultado. |
-o, --output path
|
La ruta de acceso y el nombre de archivo para guardar el resultado. |
-s, --time_range_start time_range_start
|
Es el intervalo de tiempo en el que se empieza a consultar las estadísticas de tráfico, con el formato “MM/DD/YYYY HH:MM”. Si especificas |
-z, --time_range_end time_range_end
|
Finalización del intervalo de tiempo para consultar las estadísticas de tráfico, con el formato "04/01/2016 24:00". Si especificas |
-t, --time_unit time_unit
|
Unidad de tiempo para los datos de tráfico. El valor predeterminado es
Si estableces |
-S, --standard_output
|
Escribe la salida en la terminal (stdout), en lugar de subirlo a Apigee. |
-c, --apigee_analytics_client_id apigee_analytics_client_id
|
Tu ID para subir datos a Apigee. Envía un ticket al equipo de asistencia de Apigee Edge para que puedes obtener. |
-r, --apigee_analytics_secret apigee_analytics_secret
|
Tu secreto para subir datos a Apigee. Envía un ticket al equipo de asistencia de Apigee Edge para que puedes obtener. |
-R, --include_curl_commands
|
Incluye los comandos |
-v, --verbose
|
Muestra un resultado detallado. |
Sube datos a Apigee de forma manual
Apigee recomienda que instales la utilidad apigee-analytics-collector
en un
con acceso externo a Internet. Luego, la utilidad apigee-analytics-collector
puede subir datos directamente a Apigee.
Sin embargo, si la máquina no tiene acceso externo a Internet, usa la API de Edge Management para
recopilar datos de tráfico y, luego, usar los comandos de curl
para subirlos a Apigee desde un
máquina con
acceso a Internet. Debes repetir este proceso para cada organización de producción y
en tu instalación de Edge.
Usa el siguiente comando de curl
para recopilar datos de tráfico de una organización específica y
entorno durante un intervalo de tiempo específico:
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 recuento de mensajes de la API de Edge Get. En este comando, la siguiente instrucción:
- 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 perímetro. de Google.
- org_name y env_name especifican la organización y 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 intervalo de tiempo dividido en unidades de tiempo de las métricas que se recopilarán. Ten en cuenta que el El comandocurl
usa el código hexadecimal%20
para los espacios en el tiempo del rango de destino de la ruta.
Por ejemplo, para recopilar recuentos de mensajes del proxy de API hora por hora durante un período de 24 horas, usa el siguiendo a Llamada a la 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"
(ten en cuenta que timeRange
contiene caracteres con codificación URL).
Deberías ver una respuesta en el formulario como la siguiente:
{ "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" ] } }
Luego, para subir esos datos a Apigee desde una máquina con acceso a Internet, usa el siguiente comando:
Comando 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"...'
Aquí:
- apigee_analytics_client_id:apigee_analytics_secret especifica tu las credenciales para subir a Apigee los datos que obtuviste de Apigee.
- org_name especifica el nombre de la organización.
- "environments"... contiene los resultados del comando
curl
que que usaste para recopilar estadísticas arriba.