How to track a message End to End

asurajpai
Participant V

We know that the API call comes for the Router - Message Processor - Policies handled by cassandra and finally routed to the backed.

Is there a way to find out if in case there was a failure in the cassandra, then that particular API call failed due to the cassandra executing policies? How do we track a API call End 2 end, which logs we need to look at - for failures on a multinode (13 node ) cluster?

Case 845466

0 5 1,000
5 REPLIES 5

Not applicable

There is no variable that tells the name of the policy that failed, but in most of the cases you can understand which policy (policies that depend on C*)failed from the error response.

If you are on an on-premise , system.logs can provide you exception details like below. If you have a setup , you can definitely replicate the scenario and see if you can find what all you need from system.logs .

2015-01-20 08:07:55,053 org: env: Apigee-Main-9 WARN  m.p.c.c.HConnectionManager - HConnectionManager.operateWithFailover() : Exception: 
me.prettyprint.hector.api.exceptions.HTimedOutException: TimedOutException()
at LookupCacheStepDefinition.fetchCachedEntry.

However it will not be easy to map request-policy-response-exception , but with the help of system.log + messagelogging MesssageLogging you can derive that information .

Tools like splunk can help you filter data ,view and export in your desired way . (splunk can point you to the exact host too like (source=/mnt/apigee4/var/log/apigee/message-processor/logs/system.log | host=mp1 ) .

In addition to what Maruti says, for monitoring for failures please see the OPDK Operations Guide that came with the OPDK. Also check out this recent post here on using JMX: http://community.apigee.com/articles/2236/apigee-edge-on-premise-deployment-monitoring-api-p.html

@Carlos Eberhardt I do not have access to your mentioned page. Could you please assign me the access?

There is no access control on that community page. You should be able to view it anonymously. Please verify the link: http://community.apigee.com/articles/2236/apigee-edge-on-premise-deployment-monitoring-api-p.html

Not applicable

The glue between request, response, and error is messageId variable. This contains universal unique identifier set by Edge as soon as the request come at the gateway. Detail is:

http://apigee.com/docs/api-services/reference/variables-reference