Micro Focus is now part of OpenText. Learn more >

You are here

You are here

5 open-source APM tools compared

public://pictures/zecc4hr7_400x400.jpg
Matthew David Digital Leader, Accenture
 

Many application performance monitoring tools (also referred to as application performance monitoring), come with a hefty price tag to cover licensing fees. But there are plenty of open-source APM alternatives to consider if you're just getting started — and these tools may also complement commercial alternatives.

APM as a discipline has never been more important. Work from home is driving demand for digital systems to all-time highs, with demand for these systems expected to continue to increase through the end of the year, particularly for e-commerce services. When a system goes down or responds slowly, it can translate into losses of thousands of dollars per minute, or even more. 

Keep in mind, though, that while open-source systems are free, they are not without cost. While there's no up-front purchase price for the tools, in some cases open source can be more expensive to deploy and can increase the cost of risk, says David Linthicum, Chief Cloud Strategy Officer at Deloitte Consulting. 

Open source tools are typically the result of a team of developers who have decided to invest in a product that may not always yield significant investment returns. The challenge is that you must rely on the good will of those developers continuing to do work for free to implement updates and fixes to code issues. 

Implementing reliable monitoring that incorporates a cloud option should be an essential consideration in any project, since slow response times can cause disastrous problems. Cloud solutions typically have higher availability and can mitigate slow response times that can cause disastrous problems for any enterprise.

Another factor that often contributes to slow response times is a management team that does not have the time to devote to training. Training is an issue for both open-source and commercial APM. The difference is that open source is often more complex and typically relies on text-driven commands in a terminal window. An agile platform that has a wide range of functionalities and a set of automated updates is more suitable for the majority of projects. 

By implementing APM, you can cut costs from downtime, and reduce the time required to fix any issues.

What open-source APM offers

Open-source options for application monitoring let you monitor thousands of applications, including custom ones. These tools are a natural complement to DevOps, initiatives designed to improve the software development and deployment process.

Given the variety of open-source tools available, it isn't easy to know which are the most suitable for a given project. Open-source options include a variety of features and pricing structures. 

Whichever option you go with, you might want to first consider cloud-based APM tools. Advantages include:

  • Availability: Unlike with a local server, there is no need for a user to have physical access to use a cloud system. This makes it highly accessible to users who are based in different locations.
  • Compatibility: The user does not need to know precisely how to set it up. The system can be installed with a single command, and any updates and troubleshooting are handled automatically by the APM vendor.
  • Ability to migrate: If the monitoring system becomes outdated or the business's needs require a shift toward a different monitoring solution, it is much easier to move to a new one. 
  • Cost: A cloud-based monitoring solution is usually less expensive overall than are on-premises APM systems. 

By using the monitoring system's insights and making the right changes, these cost savings can be translated into extra resources that can be invested into other business areas.

Five tools to consider 

The ever-increasing demand for APM is being driven by ever more complex infrastructure, including hybrid IT architectures that include on-premises and multiple cloud systems. It is critical that any tool you choose can work across your entire infrastructure.    

Here are five open-source APM tools you can use to monitor different environments.

PinPoint

PinPoint is a good choice if you are running a large number of Java or Python applications. It is loosely based on Google's Dapper distributed systems tracing infrastructure, and includes many of the same features.

These include being able to visualize your services topology, real-time monitoring of your applications, code-level visibility for every transaction, and the ability to install agents without changing any of the code. And PinPoint has a minimal impact on the overall performance of monitored systems.

Apache SkyWalking

Arguably the most robust tool in the tools covered here, Apache SkyWalking was designed to help monitor APIs, microservices, and Kubernetes-managed environments. As with most of these tools, you get real-time monitoring agents, but you also get distributed tracing, service mesh telemetry analysis, metric aggregation, and visualization, all in one place.

What separates Apache SkyWalking from other tools is that it was explicitly designed for cloud and API systems. On the other hand, SkyWalking may not be the right solution for legacy applications.

Stagemonitor

Stagemonitor is another robust APM tool for Java server applications. It offers real-time metrics, request trace activity monitoring, call tree view, and comprehensive configuration management tools. Stagemonitor can be extended to support additional systems with core functionality, such as with open tracing.

Scouter

Taking inspiration from New Relic and AppDynamics, Scouter is modular, with four core modules:

  • Java agent: Web application (on Tomcat, JBoss, Resin), standalone Java application
  • Host agent: Linux, Windows, Unix
  • Supports Redis, Nginx, Apache HTTPd, haproxy, Kafka, MySQL, MongoDB, RabbitMQ, ElasticSearch, and Kube
  • Provides Zipkin instrumentations (on C#, Go, Python, JavaScript, PHP, others) that are shown in an XLog (scatter) chart

Scouter provides extensions to additional open-source projects, including Telegraf and Zipkin, and the Scouter community is very active, which is always a good sign.

inspectIT Ocelot

inSpectIT Ocelot is a zero-configuration Java agent for dynamically collecting application performance, tracing, and behavior data based on the OpenCensus library, and might just be the easiest tool to set up.  Indeed, the tool's strength comes from the liberal use of other open-source software, including Prometheus, Zipkin, and Jaeger. Ocelot offers an intuitive interface with powerful APM management capabilities.

Other factors 

Implementing effective enterprise APM requires a set of tools that can be easily deployed by all staff members.

Also keep in mind the issues around manual versus automated monitoring. Although manual monitoring has several benefits including setting up alerts, it is not suitable for all projects. This is especially true for users who are less technically capable.

To avoid wasting time on manual tasks, it is better to move toward an automated monitoring tool that includes analytics, insights, and reports. Automation can be set up in just a few minutes, though it requires knowledge to know how to configure it correctly.

Find the right mix

What tools best suit your needs? Consider ease of use and deployment, the robustness of the community, and whether your infrastructure includes both on-premises and cloud, whether cloud-based monitoring is desirable, and the types of applications you're running. Also consider the total lifecycle cost of open source APM tools, not just up-front licensing costs, in any comparison with commercial alternatives.

Open source is a great way to get started. Ultimately, however, the choice may not boil down to licensed software versus open source, but a mix of tools that can also be run in the cloud.

Keep learning

Read more articles about: Enterprise ITIT Ops