In this blog, we compare Instana and Sysdig - two popular monitoring tools which claim to show APM metrics without need to instrument code
We are running Sock Shop application open sourced by WeaveWorks to test 2 popular monitoring solutions - Instana and Sysdig.
Both these tools claim that they can start showing metrics without any need to instrument application code. The code in Sock Shop application doesn’t have any instrumentation in built. So, this would give us a good understanding of how these products compare when there is no in-built instrumentation.
Key Metrics to monitor
The key metrics to monitor for any resource can be derived from the RED method. This philosophy basically entails the following:
For every resource, monitor:
- Rate (the number of requests per second)
- Errors (the number of those requests that are failing)
- Duration (the amount of time those requests take)
How many services are the products able to discover and how accurate are these?
Kubernetes Integration
Instana has better integration with Kubernetes. Immediately checks all kubernetes base info like services etc - and shows pod load etc.
What are the different features which each product is focusing on
Instana has better integration with Kubernetes. Immediately checks all Kubernetes base info. Sysdig is not able to find services from Kubernetes services name.
Automatic Service Detection
Instana
The Services dashboard gives important metrics like inbound calls, error rates, mean latency, etc. out of the box.
Sysdig
List of services discovered
The architecture of Sock Shop application looks like as shown below:
Instana is only able to detect the following services : queue-master, shipping, orders and carts.
Sysdig detects almost all the services which are part of the architecture. This they are able to do without putting any load to Sock Shop application - and hence are not dependent on API calls.
Sysdig provides very granular way of how to see metrics. It is called Groupings.
The underlying technology
Instana seems to be using Rest API based tracing while Sysdig directly listens through ePBF. Instana is only able to detect services when we add load to a services and the APIs are actually called. Sysdig is able to discover services based on internal calls also.