Heroku is a platform as a service (PaaS) product for developers to build, run, and operate applications entirely in the cloud. Heroku, among other PaaS services, is important for both the Development and DevOps teams because of the developer experience (DX) it offers. Specifically, Heroku tries to bring an app-centric approach to software delivery, so developers can focus solely on developing applications.
The Heroku continuous delivery feature allows developers to spend minimal time configuring a continuous delivery pipeline. Furthermore, you can also choose to deploy directly from popular tools such as Git, GitHub, or other continuous integration (CI) systems.
Nowadays, Heroku has become popular because of the extensive add-on ecosystem called the Heroku Elements Marketplace. This allows developers to access preconfigured building blocks to support every stage of your app development and operations. For example, third-party services can offer building blocks to communicate with an external tool. Let’s say you want to export all your logs to a log analysis platform such as SolarWinds® Papertrail™. For this, you can use the Papertrail logging add-on.
To continue about logging data, every application you deploy using Heroku generates logs. You can manually inspect logs via the Heroku interface, but there are better solutions than manually reviewing logs. We can use log management add-ons to automatically process log data.
This article explores the best log management add-ons in 2020. But first, let’s quickly discuss the reasons you’d want to use logging add-ons over the Heroku log management interface.
4 Reasons to Use Heroku Logging Add-Ons
Why spend time manually analyzing logs when you have many preconfigured options to choose from? Here are four important reasons you should consider using Heroku add-ons to manage your logs.
Connected Logging Tools
The foremost reason you probably want to use a Heroku add-on to manage your logs is the need to connect logging tools. A logging tool can help you with log analysis, aggregation, or storage. Furthermore, logs play an important role in monitoring your application’s health. To give an example, you can use a log aggregation platform to set alerts to detect anomalies.
Complex Log Stream Configuration
Instead of inspecting logs using the Heroku logging interface, you want to configure different log streams. For example, you might want to send HTTP logs to a log analysis platform while sending other application logs to a storage provider.
Different Needs for Log Data
Different teams within your organization want to use log data for different insights. For example, your QA engineers want to look at the error logs to detect issues, while your CIO wants to access log data to use with a business intelligence (BI) tool. A log analysis tool would help these different teams because they can store the logs and use them for analysis later.
Log History Limits
Lastly, the Heroku logging interface stores only the latest 1,500 lines of your consolidated logs. On top of that, your logs expire after 1 week. If you want to analyze your logging data or store this data, you have to use a logging add-on.
Top 3 Log Management Heroku Add-Ons
Here’s a list of three log management Heroku add-ons:
The Logentries log management add-on provides “a simple, intelligent, intuitive, and powerful solution for log management with out-of-the-box built-in Heroku-specific alerting.”
By piping your logging data to the Logentries log management platform, you can stream and live tail Heroku application logs. Furthermore, the platform provides you with filtering, alerting, and detection capabilities. Additionally, Logentries makes up a great solution as it allows further integrations with application performance monitoring (APM) tools such as New Relic. This is a powerful integration as developers can now track the performance of their applications.
Benefits of Using Logentries
- Access to alerting functionality
- Integration with APM tools
- Live log streaming
- AWS S3 archiving integration to back up log data daily in a SOC 2-compliant data center
The Papertrail add-on offering is similar to the Logentries offering. For example, Papertrail also offers real-time log tailing and searching. Furthermore, the platform offers error tracking and alerting functionality.
However, most value lies in the integrations Papertrail offers. For example, you can integrate Papertrail with Slack, PagerDuty, Redshift, Librato Metrics, Amazon S3, Campfire, Elastic MapReduce (Hive/Hadoop), and more. Here, the goal is to avoid reinventing the wheel by making use of existing services.
Papertrail adds value by creating a single ecosystem from which you can control all sorts of integrations for monitoring logs, tracing errors, or filtering logs without losing context. Where traditionally you would lose context when using different tools to accomplish this goal, by connecting all these tools and passing logging data, you’ll have to spend less time on troubleshooting problems. Furthermore, developers can quickly set up all their monitoring needs using the Papertrail integration ecosystem.
Benefits of Using Papertrail
- Plenty of integrations
- One ecosystem of connected tools without losing context
- Integration with APM tools—for example, one-click integration with APM tool SolarWinds AppOptics™ (try the APM integration demo)
- Ability to quickly find the root cause of issues
- Real-time log monitoring and searching capabilities
As with other log management tools, Coralogix provides live log tailing. Furthermore, Coralogix also focuses on integrations. For example, there’s an integration with AWS S3 buckets for archiving log data. Moreover, there’s an integration with the Kibana dashboard, so you can monitor, visualize, and search your logging data.
Coralogix offers integrations for many different log streams. Let’s say you’re running an application on Heroku, but you’re also running a couple of applications on DigitalOcean. You can create multiple log pipelines to point logging data to your Coralogix account. In other words, you can analyze both Heroku and DigitalOcean logging data at the same time.
Coralogix is SOC 2 compliant because it has periodic security and availability audits by an external firm. Lastly, you can customize your dashboard using widgets. Say you want to see application metrics while live tailing logs. You can configure this using two widgets to create such a dashboard.
Benefits of Using Coralogix
- Integration with AWS S3 buckets and Kibana dashboard
- Ability to configure multiple different log pipelines
- SOC 2 compliance
- Auto alerting for Heroku error codes and ability to set custom alerts
- Flexible dashboard creation using widgets
This article gives you a better understanding of the different logging add-ons available. Furthermore, we’ve explored why you should use a log management platform to store or analyze logs. Logging data is valuable, and you can retrieve a lot of important insights about your application’s health by analyzing your logging data.
Heroku stores only up to 1,500 lines of consolidated logs. On top of that, these logs expire after one week. I recommend using a log management platform such as Papertrail to process your production logs. SolarWinds Papertrail is one of the best options as it provides you with one connected ecosystem of tools with better insights without losing context or having to switch applications.
Want to learn more about Heroku logging? Definitely check out the following Heroku article, which explains the different types of Heroku logs: runtime logs, build logs, and application logs. Furthermore, this article explains how you can use some basic filtering capabilities from the Heroku logging interface.
This post was written by Michiel Mulders. Michiel is a passionate blockchain developer who loves writing technical content. Besides that, he loves learning about marketing, UX psychology, and entrepreneurship. When he’s not writing, he’s probably enjoying a Belgian beer!