Heroku is one of the most popular PaaS out there. It allows you to develop, deploy, scale, and manage your applications with ease. However, things tend to go wrong - that's why it is always useful to have a monitoring solution in place.
Heroku offers 1000 free dyno hours, which drives in many developers who are just starting out, or those who just want to try it, without really committing. It is also really easy to work with and emphasizes the central role of a developer, meaning that developers can dedicate their undivided attention to their project, instead of focusing oun the management of architecture. A combination of all these features explains, why is Heroku so successful.
How to monitor Heroku applications?
First of all, it's important to mention that monitoring itself is a set of practices helping you understand the overall health of your project and also its weaknesses. Meaning that two solutions that offer Heroku monitoring might monitor completely different aspects of your project.
Heroku divides monitoring into multiple different areas:
- Application performance monitoring
- Error Monitoring
- Platform Monitoring
- Heroku Threshold alerting
- Uptime Monitoring
- Heroku Notifications for apps and databases
- Heroku Status
- Alert Management
- Database Monitoring.
In this article, we will take a closer look at the Uptime Monitoring Add-ons. Heroku’s documentation describes uptime monitoring as means of observing your app’s availability from the end user’s perspective. To monitor your Heroku apps you can use Heroku built-in functions or go for an add-on.
Heroku Dashboard is the primary web interface of the Heroku Platforms allowing you to manipulate apps, view app metrics, configure add-ons, Manage Heroku Teams, Create Pipelines, Configure Deployment integrations, and overview usage.
Using Heroku, you can collect metrics such as:
- Memory Usage
- Dyno Load
You can also collect Metrics for Web Dynos such as:
- Response Time
Heroku Dashboard offers only basic monitoring options and its incident management is also quite rigid, since multiple add-ons offer a free package, it is recommended to choose a Monitoring Solution using an add-on.
Best Heroku Monitoring Tools and Add-ons in 2023
Now you know how important it is to monitor your Heroku apps. Now let’s take a look at the best Heroku Monitoring Tools and Add-ons.
1. Better Stack
Better Stack offers a radically better Uptime monitoring covering HTTP(s) keyword checks, cron jobs, ping, TLD, TCP/UDP, POP3/IMAP/SMTP, and DNS server monitoring. Your website is monitored as often as every 30 seconds from multiple locations to prevent false alerts, and you can also set geo-specific checks to focus on location-related issues. Apart from Heroku, Better Stack offers integrations with the most popular third-party tools and platforms such as Datadog, New Relic, Grafana, On-Call, AWS Cloud Watch, and Google Cloud.
Thanks to Incident management built-in, you can also handle alerts using Better Stack's dashboard. Each error is documented with a screenshot and an error log, a second by second incident timeline, post-mortem, and has advanced incident escalation rules. You can benefit from its On-call scheduling and integrations to plan in advance and always have first-responders on the line. In case of any downtime, you can create custom Status Pages with customizable designs that your users can subscribe to.
Better Stack is available for free in a basic monitoring and incident management package. Its premium packages start at $24/month.
Main benefits of Better Stack:
- 30 seconds multi-location checks
- Incident management built-in
- Generous free subscription package
- Works great in tandem with Better Stack Logs - a log management solution from Better Stack
2. Raygun Real User Monitoring
Raygun RUM allows you to discover poor-performing parts of your application, find root cause faster, and understand how your application interacts with your customers. Real User Monitoring allows you to monitor front-end performance to see how your work actually impacts your application and how your users respond to it.
Raygun RUM supports web, single page, and mobile application performance monitoring. You will definitely benefit from understanding individual interactions between your users and your app. Detailed waterfall charts will visualize load time breakdown for every page request.
While you can greatly benefit from Real User Monitoring, bear in mind that synthetic monitoring is equally, if not more, important. If you decide to go for a RUM solution, make sure to get also a synthetic monitoring solution.
Main benefits of Raygun RUM:
- Real User Monitoring helps you to discover many geography and device-related issues
- Crash Reporting and APM solutions are also available
AppOptics helps you to trace and analyze application performance issues and find root causes easier. Distributed tracing across Dynos and Apps allows you to navigate along the entire path of your request. You can even add internal services, or APIs, for a better understanding of deep-down bottlenecks.
AppOptics monitors your application continuously and makes sure to alert you about any application or runtime errors before they impact your users. Thanks to custom dashboards, you can easily visualize Heroku runtime and application metrics, or build your own, to suit your needs.
AppOptics also allows you to monitor database queries from your applications and drill down on any database query in order to identify what causes poor performance. Database Monitoring supports multiple DBMS, including dozens of DBMS metrics for Postgres and Redis.
Main Benefits of AppOptics:
- It can be deployed alongside other SolarWinds products to suit your needs
- Intelligent alerting that easily integrates with services such as PagerDuty, Slack, email, and more
Atatus also offers error monitoring and alerting. You can start tracking all errors in real-time or recreate and replay the errors for better analysis. Alerting is handled by multiple integrations with incident management tools. Pricing is based on the usage of the number of dynos each month. Subscriptions start at $39/month.
Main Benefits of Atatus:
- A complex Heroku Monitoring Solution
AppDynamics automatically discovers all the relations inside your application, including external web services, and allows you to trace essential business transactions solely on production app behavior. The DevOps Virtual War Room capability allows you to collaborate with your whole team while sharing the same performance data and, therefore, resolve any application issues faster.
Thanks to smart alerting, you should not receive any false alarm thanks to dynamic baselining and alerting. Integration with incidents and alerting systems ServiceNow, PagerDuty, and JIRA ensure that you will always be the first to know about any issue.
AppDynamics offers a really broad coverage. From Node.js in Heroku environment through Java, .NET, PHP, Python, and C/C++. AppDynamics really offers one of the most complex and innovative solutions to monitoring there is.
Main benefits of AppDynamics:
- Intelligent alerting and incident management
- Automatic discovery of dependencies
- Broad support of languages and frameworks
6. Dead Man's Snitch
Dead Man's Snitch is a great Scheduler monitoring solution. Unfortunately, that's it. Still, they do their job excellently. Dead Man's Snitch monitors Heroku Scheduler, cron jobs, or any periodic processes, ensuring not only the smooth performance of your application but also its continuity.
Each snitch gets a name, an interval, and a unique Snitch URL for each job you want to monitor, or you can add it to Heroku Scheduler. Thanks to integrations into alerting and on-call systems such as Slack or PagerDuty, you will never miss an error.
Dead Man's Snitch gets the job done. It's true that many monitoring solutions offer a heartbeat monitor, however, sometimes that could be all you need, and you can save a lot of hassle by deploying DMS.
Main benefits of Dead Man's Snitch:
- It is super easy to set up
- It offers all the integrations you need, and if you need more, you can use Webhooks to build them
- Push notifications on iPhone and Android.
7. Pingdom (SolarWinds)
Pingdom focuses on the outside availability of your application rather than its internal performance like we see in AppOptics. They both come from SolarWinds' toolshed, but here we focus on different aspects of monitoring.
Pingdom continuously checks your app's availability from all over the world, double-checks them, and in case of an emergency, alerts you. Contextual alerts offer you a summarized report answering the fundamental questions about an incident.
Pingdom focuses on synthetic and real user monitoring, so you can see how your app behaves in a simulated setting but also in interaction with real users.
Also, if you combine Pingdom and AppOptics, you can achieve a solid infrastructure and uptime monitoring solution.
Main benefits of Pingdom:
- Huge software enterprise backing, allowing you to work within an ecosystem of add-ons
- Both Synthetic and Real User Monitoring solutions
8. HostedGraphite Heroku Monitoring
HostedGraphite, aka HG, offers a complete infrastructure and application monitoring platform. It is a combination of open-source monitoring tools. Depending on your setup, you can go for either Hosted Prometheus or Graphite and visualize everything in Grafana Dashboards in real-time. HostedGraphite also offers a wide range of tools, add-ons, and plugins, allowing you to custom-tailor this solution according to your needs.
Graphite is great for measuring great amounts of time-series data, especially in cases when you are not ready to attribute it with individual importance. Grafana Dashboards are built automatically, based on your Heroku metrics, or you can build them on your own. Data visualization also benefits from responsive, interactive graphs, which offer plenty of features. HostedGraphite also offers advanced team collaboration features.
In case of any issues, you can receive alerts in Email, HipChat, PagerDuty, Slack, and using WebHooks.
Main benefits of HG:
- HostedGraphite is highly scalable, which comes for a price
9. New Relic APM
New Relic is another application performance monitoring add-on for Heroku. It allows you to monitor critical transactions across your entire web and microservices, with end-to-end transaction tracking. Thanks to New Relic Insights, you can observe your application in great detail and by a wide range of attributes.
Observability from one dashboard is definitely a huge plus, and you can monitor your application's interaction with other services, including your own internal apps and third-party services.
New Relic also offers support for a wide range of languages and platforms. You can navigate across front-end and backend applications in JS, Ruby, Java, Python, Node.js, and PHP.
New Relic calculates your bill based on monthly average dynos, which means that the price is based on the average number of standard dynos used.
Main benefits of New Relic APM:
- New Relic ONE offers a plethora of other monitoring solutions. Full observability is easily achievable
- Emphasis on backend monitoring for mobile devices
- Reasonable pricing model
Librato allows you to monitor native Heroku Metrics and visualize them in pre-set graphs and dashboards. You can monitor either one of the essential Application Performance Monitoring Metrics such as to request performance and SQL queries, or create custom metrics according to your needs.
By setting thresholds on any monitored metrics, in case of any issue, you can set the alarm in multiple DevOps tools integrations such as PagerDuty, Slack HipChat, Email, and custom WebHooks. You can annotate charts with one-time events to give more context around events and invite other users to enhance collaboration.
Librato offers a free package. Their pricing starts at $21/month.
Main Benefits of Librato:
- Annotation and collaboration options
- Pre-set curated dashboards
In this article, we took a closer look at Heroku, how it works and how to monitor it. We explained the basics of Heroku monitoring and offered a brief introduction to Heroku Add-ons. Then we offered a list of the best Heroku Monitoring Solutions in 2023.
10 Best Cloud Monitoring Tools in 2023
Cloud monitoring enables monitoring and managing of cloud workflow to verify if the cloud is operational.Comparisons
10 Best Kubernetes Monitoring Tools in 2023
Kubernetes monitoring allows you to utilize any containerized infrastructure more efficiently to improve uptime, resource distribution and utilization, and interactions between individual components of your cluster.Comparisons
10 Best Docker Monitoring Tools in 2023
Containers revolutionized the digital space and more and more projects are relying on this type of deployment. This emphasizes the need for a good Docker monitoring solution even more.Comparisons
Heroku Logging Tools in 2023
Heroku’s Logplex router is keeps only the most recent 1500 lines of your consolidated logs, expiring after a week. That's the main reason why you should have a logging solution.Comparisons