Can you expose statistic (response/request) to other service/destination?

Hello everyone,

I'm not new to apigee but I use it in a pretty simple way and this is I think little tougher topic so I would love it if the community would help me.

I would like to send analytics data directly outside of apigee to the BI system and i have a question. Is this possible to add some kind of step like StatisticsCollector policy or enable streaming directly to the outside the system?

The best flow that I would like to achieve would be:

REQUEST

- > APIGEE PROXY

-> AUTH

-> COPY OF REQUEST SEND TO BI

-> SEND REQUEST TO TARGET

API

-> RESPONSE

-> APIGEE PROXY

-> COPY OF RESPONSE SEND TO BI

This way I would have normal flow when you get a response to your request and a copy of it would be directly in BI. I hope you understood what I'm talking and you would help me or direct me where and what i should read

Solved Solved
0 1 194
1 ACCEPTED SOLUTION

There is a way to bulk export stats from Apigee; for example you can export to a GCS bucket, and from there, import it (via Dataflow / dataproc) into some other system for analysis.

Otherwise there is not a way to pipe the analytics data from Apigee into a non-Apigee system, some system outside of Apigee.

It is possible to introduce in the PostClientFlow, a ServiceCallout that logs arbitrary data to an arbitrary endpoint. Through this, you'd be able to send data outside of Apigee to a collector endpoint associated to your BI system. BUT, this is not "analytics data", it's just data that you manually assemble within the context of an API request.

You CAN log things like

  • API Product name
  • proxy name
  • request and response size
  • response status
  • timing information
  • etc

...but you'd have to assemble all that data and log it in the form that the remote endpoint expects.

You can search here on community for "ServiceCallout" and PostClientFlow to get hints on this I believe.

View solution in original post

1 REPLY 1

There is a way to bulk export stats from Apigee; for example you can export to a GCS bucket, and from there, import it (via Dataflow / dataproc) into some other system for analysis.

Otherwise there is not a way to pipe the analytics data from Apigee into a non-Apigee system, some system outside of Apigee.

It is possible to introduce in the PostClientFlow, a ServiceCallout that logs arbitrary data to an arbitrary endpoint. Through this, you'd be able to send data outside of Apigee to a collector endpoint associated to your BI system. BUT, this is not "analytics data", it's just data that you manually assemble within the context of an API request.

You CAN log things like

  • API Product name
  • proxy name
  • request and response size
  • response status
  • timing information
  • etc

...but you'd have to assemble all that data and log it in the form that the remote endpoint expects.

You can search here on community for "ServiceCallout" and PostClientFlow to get hints on this I believe.