cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Monitoring akka-http applications

daniel.beskin
Wanderer

Hi,

 

I'm trying to evaluate AppDynamics for usage with our akka-http based application.

I've set up a Java agent and I see the applications in the controller. Although the applications are there, I don't see much useful information about them, other than a request-rate, There aren't any connections between the nodes, and the response times for requests are always set to 0ms.

 

Is there anything I can do about this, or is it the case that AppDynamics cannot fully monitor akka-http applications?

5 REPLIES 5

gurmitsa
Architect

Hi Daniel,

 

Do you know the exit points for your application? meaning the systems that you application talks to?

If so, it would be worth to look at creating custom exit points configurations.

 

Also, how have you configured tier. nodes?

You said, you are not seeing connections between nodes, are all nodes having same code and prpvide same functionality or different nodes provide different functionalities? If later, then you have to configure those nodes as separate tiers.

 

Perhaps you can provide a brief flow of your application and someone can help you with how a typical configuration should look like.

 

Thanks

Gurmit.

You can monitor akka appications with AppDynamics, but the built-in configuration that tracks thread hand offs, entries and exits is quite sensitive to the precise version of the framework in use.

 

What agent version are you using, and what akka version?



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

Communication between the services I tried monitoring happens using akka-http, but the services themselves are behind a HAProxy, so it's not direct service-to-service communication.

There's also Kafka messaging going outside, which I don't see on the diagram, but I didn't get to that yet.

I'm not yet familiar with "custom exit points", any pointers would be appreciated.

 

I didn't touch the default tier configuration, but I did give logical node names to the different server

types. Each node-type does something different, but I thought that having them in the same tier would be okay (e.g., all of them in the "backend" tier). Did I misunderstand something?

 

The flow (for that sub-part of the system) is:

- A request from an external client is received in an akka-http server

- That server communicates via akka-http -> HAProxy with another akka-http server

- And then another jump of the same kind

- When the last server completes, it returns the result in the same way but upstream

 

(There's also another jump from the third server that uses Thrift over Twitter Finagle, but I've yet to get to that.)

 

Any suggestions as to how to configure monitoring would be greatly appreciated.

 

Thanks.

The agent's version is 4.4.2.22394

The Akka version is 2.5.7

 

Thanks

Radhika.Puthiyetath
AppDynamics Team (Retired)

Hi @daniel.beskin

 

Please be advised that we have released Java Agent 4.5.4 with the following Akka HTTP server capabilities:

 

  • Correlated EUM and Business Transaction visibility with applications built on the Akka framework
  • Automatic instrumentation for applications built using the latest version of the Play framework (2.6), with the Akka HTTP server implementation out of the box for both Java and Scala

 Product Update, November 2018 (v4.5.4) provides complete information on what's new in v4.5.4. 

 

Hope it's helpful.