Apigee develop trace tool not working, is that using separate proxy or just simulating policies?

Hi I am new to apigee, so I am playing arround but I am little bit confused about trace tool.

Is it really tracing the request through my api-proxy (K8s micogateway)? As when I try traicing I am calling apigee url and getting:
```
{ "fault": { "faultstring": "The Service is temporarily unavailable", "detail": { "errorcode": "messaging.adaptors.http.flow.ServiceUnavailable" } } }
```

While I call my ingeress IP where behind is microgateway I am getting responses Ok. Also when I start the Trace session and call the api proxy (k8s ingress in front of the service apigee microgateway) I don't see any data in tracing window

My guess is that Trace is simulating

- I am using Apigee microgateway 3.0.1 with Kubernetes deployed as a service behind K8s ingress accroding to getting started and hello example
- I have registered reverse proxy starting with edgemicro_ prefix and base path /hello bacend service is service IP address of hello k8s service
- Created API product, developer and app according to getting started instructions

- when I call ingress IP with path /hello I see response correctly

- When I update policy on apigee UI and deploy to test env (as confiigured and registered microgateway to apigii ui) I see status deployed on the ui

- When I start trace session and call ingress IP with /hello path I don't see any traces

- When I try apigee url generated for my eval account and suggeste by apigee UI http://*account*-eval-test.apigee.net/hello I see the trace but getting an immediate error

In microgateway logs on K8s I see that update configuration was downloaded from apigee server.

Microgateway is using default configuration AFAIK and followed getting started manual from GCP.

0 7 455
7 REPLIES 7

Apigee Trace does not rely on simulations.

You have provided some observations:

  1. Nothing appears in the Trace window when you send in a request
  2. The response you see when sending in a request is something like "The Service is temporarily unavailable"
  3. Your upstream system (microservices in k8s) is healthy and can respond directly to requests

Based on all of those observations I think that the requests that you THINK you are sending to the Apigee proxy are not reaching the Apigee proxy you are tracing.

Why might that be the case?

Maybe you have used the incorrect hostname. Maybe the wrong scheme. Maybe the request you send is using a basepath that is handled by a different proxy, not the proxy you are watching in Trace.

The message "The service is temporarily unavailable" appears to be a message that would be sent from Apigee, IF the Apigee proxy receives the request AND if the upstream system is not responding. So if you have a different proxy that is pointed to a URL for which there is no server, you might see this.

Re-check all your configurartion; something is not connected properly.

if you provide more details (basepaths, hostnames, curl commands you used, ... you know... "details".), someone might be able to help diagnose.

Hi,
thanks for answer. But I don't think that it reveals the problem. So providing more details:

- I am using Apigee microgateway 3.0.1 with Kubernetes deployed as a service behind K8s ingress accroding to getting started and hello example
- I have registered reverse proxy starting with edgemicro_ prefix and base path /hello bacend service is service IP address of hello k8s service
- Created API product, developer and app according to getting started instructions

- when I call ingress IP with path /hello I see response correctly

- When I update policy on apigee UI and deploy to test env (as confiigured and registered microgateway to apigii ui) I see status deployed on the ui

- When I start trace session and call ingress IP with /hello path I don't see any traces

- When I try apigee url generated for my eval account and suggeste by apigee UI http://*account*-eval-test.apigee.net/hello I see the trace but getting an immediate error


In microgateway logs on K8s I see that update configuration was downloaded from apigee server.

Microgateway is using default configuration AFAIK and followed getting started manual from GCP.

Let me know what would be nice to provide

Thanks for helping me out

9505-img-20191212-215552.jpg

The proxy editor Trace in the UI cannot listen on your ingress IP invocation.

If you check the image the Trace only listens to the revisions deployed to a particular environment.

For micro gateway logs you need to rely on the logs created and stored locally by micro gateway.

Even micro gateway is registered in the proxy tab and deployed to the environment so from the UI perspective all seems ok. As micro gateway is registered and assigned to environment so I thought that micro gateway is pushing activity logs back to UI management console. So it just seems it didn't work and from limitation page that wasn't mentioned there as well

As micro gateway is registered and assigned to environment so I thought that micro gateway is pushing activity logs back to UI management cconsol

No it does not push logs, because though it is assigned to an environment you are not using the url provided in the UI.

You will use the ingress IP which is not listened by the proxy Trace.

As mention in the image it supports file based logging.

Micro gateway asynchronously pushes analytics and hence these are visible in the UI analytics page.

sidd-harth
Participant V

You can check the doc for additional logging into on micro gateway.

https://docs.apigee.com/api-platform/microgateway/3.0.x/operation-and-configuration-reference-edge-m...

ericschult
Participant II

for additional info see https://docs.apigee.com/api-platform/microgateway/2.5.x/overview-edge-microgateway.html#whatyouneedt...


The characteristics of Edge Microgateway-aware proxies are:

  • They provide Edge Microgateway with two key pieces of information: a base path and target URL.
  • They must point to HTTP target endpoints. The backend target cannot be a Node.js app referenced by a ScriptTarget element in the TargetEndpoint definition. See the preceding note for more information.
  • The proxy names must be prefixed with edgemicro_. For example: edgemicro_weather.
  • You can't add policies or conditional flows to these proxies. If you try, they are ignored. Otherwise, Edge Microgateway-aware proxies appear in the Edge Management UI the same as any other API proxy on Edge.
  • They can be bundled into products and associated with developer apps.
  • Traffic data shows up in Edge Analytics.
  • They cannot be traced using the Apigee Edge Trace tool.