Analytics

This component was created and is maintained by an Istio partner. Please address support questions to the partner directly.

The analytics template represents a single request reported to Apigee’s analytics processing system. Complete Apigee documentation on the concepts and usage of this adapter is also available on the Apigee Adapter for Istio site. For more information and product support, please contact Apigee support.

Example config:

  1. apiVersion: config.istio.io/v1alpha2
  2. kind: analytics
  3. metadata:
  4. name: apigee
  5. namespace: istio-system
  6. spec:
  7. api_key: request.api_key | request.headers["x-api-key"] | ""
  8. api_proxy: api.service | destination.service | ""
  9. response_status_code: response.code | 0
  10. client_ip: source.ip | ip("0.0.0.0")
  11. request_verb: request.method | ""
  12. request_uri: request.path | ""
  13. request_path: request.path | ""
  14. useragent: request.useragent | ""
  15. client_received_start_timestamp: request.time
  16. client_received_end_timestamp: request.time
  17. target_sent_start_timestamp: request.time
  18. target_sent_end_timestamp: request.time
  19. target_received_start_timestamp: response.time
  20. target_received_end_timestamp: response.time
  21. client_sent_start_timestamp: response.time
  22. client_sent_end_timestamp: response.time
  23. api_claims: # from jwt
  24. json_claims: request.auth.raw_claims | ""

Template

This Template provides Istio telemetry data to the Apigee Analytics engine. For additional information on this adapter or support please contact anchor-prega-support@google.com.

FieldTypeDescription
apiProxystring

The name of the proxy (usually the Istio API or service name).

responseStatusCodeint64

HTTP response code

clientIpistio.policy.v1beta1.IPAddress

Client IP address

requestVerbstring

HTTP request verb

requestUristring

HTTP request URI

requestPathstring

HTTP request path

useragentstring

HTTP user agent header

clientReceivedStartTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy started receiving the request.

clientReceivedEndTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy finished receiving the request.

clientSentStartTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy started sending the request to the target.

clientSentEndTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy finished sending the request to the target.

targetSentStartTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy started request to target.

targetSentEndTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy finished sending request to target.

targetReceivedStartTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy started receiving response from target.

targetReceivedEndTimestampistio.policy.v1beta1.TimeStamp

Timestamp of when the api_proxy finished receiving response from target.

apiClaimsmap<string, string>

The JWT claims that were used for authenticating the request (if any) Use subkey “json_claims” for passing all claims in as a single JSON field.

apiKeystring

The API KEY that was used for authenticating the request (if any)