Serverless Monitoring Tools 2018

Monitoring for AWS Lambda allows you to get an insight into all tiers of your stack. With its help, not only will you be able to see exactly what goes on during each step of the script, but also determine what went wrong by looking at the detailed logs and being able to optimize the process by measuring resource consumption.

Simply put, when resource management matters, there’s no better way to optimize for it than using an AWS Lambda monitoring tool.

Today, we’re going to look at 4 tools to monitor AWS Lambda and weigh their pros and cons, so you will have an easier time deciding which one would best suit your needs.

Dashbird

Taavi Rehemägi and Mikk Kirstein have designed it to be an accurate reporting tool without compromising on performance. Instead of injecting new code that runs between functions, Dashbird reads CloudWatch logs and presents the data gathered in an organized, structured way through graphs and lists. The data it gathers can also be used to calculate a resource cost estimate.

This tool also has great debugging features, through which you’ll be able to pinpoint exactly what went wrong on serverless workflows and when.

You can also search the logs to find the exact details. The logs and invocations are separated, so it’s of great use for the purposes of debugging during the stage of development.

When it comes to setting it up, unlike many of its competitors, Dashbird does not require you to insert a new piece of code into your existing projects to get it working, so you can get it up and running in no time.

Pro-active alerts is another one of its features. Simply put, you can set up email alerting, so whenever your functions get close to reaching memory limitations, you will receive a notification. Dashbird also allows for a seamless integration with Slack.

Pros:

  • No extra code needs to be added for it to work with AWS
  • Does not introduce performance delays

Cons:

  • About 1 minute of delay

IOPipe

Erica Windisch and Adam Johnson, it’s co-founders, have aimed for simplicity and designed this AWS monitoring tool to be easier to install than many of its competing products. It’s quite comprehensive and allows you to easily drill down into each specific invocation to see what’s going on beneath the surface.

Iopipe gathers data directly from your code through applying a wrapper and monitoring what’s going on inside of it. It even allows for customized reports by defining exactly which metrics you want to monitor, then you can customize the type and number of alerts you want to receive by setting your own conditions.

Although this is a great monitoring tool for AWS Lambda which also has Python and Node.js libraries, it does come with its own set of drawbacks. For starters, every function you want to monitor demands its own separate wrapper. Fortunately, IOPipe has developed a useful Serverless plugin to speed the process up.

Pros:

  • Simple integration
  • Customized alerts
  • Custom metrics
  • Tracing

Cons:

  • Demands a wrapper for each function
  • Slight performance delays (85ms on cold and 35ms on warm functions)

DataDog

DataDog, at its core, is an infrastructure and network monitoring tool. Just like its competitors, it allows for custom alerts, which you can easily integrate with popular teaming services such as Slack, PagerDuty, and Campfire. It’s quite flexible and allows you to set custom triggers and conditions.

In order to get it working, you’re going to need to set up IAM permissions. Its dashboard is everything you expect it to be, although the setup process can be a little bit painful. Also, it’s quite noticeable that DataDog was primarily developed to be a real-time monitoring tool.

The great thing about it is that due to how log processing is structured (the logs are sent to CloudWatch in the background), no delays will be introduced to the workflow.

Pros:

  • Does not introduce a delay
  • Custom alerts and alerting conditions

Cons:

  • Complicated setup
  • Lack of details
  • Can increase AWS bill by using CloudWatch:getMetricStatistics endpoint

AWS CloudWatch

Amazon’s CloudWatch is an AWS monitoring tool many solutions are using in one way or another, however, on its own, it does introduce around a minute of delay, so performance is not one of its stronger points. Serverless monitoring is done through the command line, or – alternatively – the visualization features that CloudWatch offers. You can examine a specific metric in more detail by searching for details like resources, metric names, regions, etc.

You can also set custom alert triggers. These are quite advanced in terms of customization, and you can set to receive an alert when, for example, one of your functions has consistently been occupying an above-expected amount of RAM for a longer period of time.

Depending on the features you want, there are different pricing tiers. The basic services all fall into the free tier, while detailed EC2 monitoring, to name an example, will require you to be a paid subscriber.

Pros:

  • Custom alert triggers
  • Available out of the box

Cons:

  • Difficult to navigate

Conclusion

So there you have it! My choice of the best monitoring tools for AWS Lambda in 2018. As you can imagine, the Serverless tooling sector is expanding every day so check back soon and maybe there will be some additions to this list. Hope you enjoyed this article.

Read our blog

AWS Lambda Cost Optimization Strategies That Work

From caching Lambda responses to building smaller functions to choosing the right memory configs. In this article, we’re exploring six specific steps you can take to optimize your AWS Lambda costs.

Serverless observability and real-time debugging with Dashbird

Learn how Dashbird helps to significantly improve observability and debugging real-time Lambda-based serverless architectures.

Challenges and Opportunities of Going Serverless in 2021

There are many obvious benefits of going serverless but also an equal amount of challenges you need to overcome to reap the fruits and really make serverless work for you. Here’s list of the challenges and advice on how to overcome each.

Made by developers for developers

Dashbird was born out of our own need for an enhanced serverless debugging and monitoring tool, and we take pride in being developers.

What our customers say

Dashbird gives us a simple and easy to use tool to have peace of mind and know that all of our Serverless functions are running correctly. We are instantly aware now if there’s a problem. We love the fact that we have enough information in the Slack notification itself to take appropriate action immediately and know exactly where the issue occurred.

Thanks to Dashbird the time to discover the occurrence of an issue reduced from 2-4 hours to a matter of seconds or minutes. It also means that hundreds of dollars are saved every month.

Great onboarding: it takes just a couple of minutes to connect an AWS account to an organization in Dashbird. The UI is clean and gives a good overview of what is happening with the Lambdas and API Gateways in the account.

I mean, it is just extremely time-saving. It’s so efficient! I don’t think it’s an exaggeration or dramatic to say that Dashbird has been a lifesaver for us.

Dashbird provides an easier interface to monitor and debug problems with our Lambdas. Relevant logs are simple to find and view. Dashbird’s support has been good, and they take product suggestions with grace.

Great UI. Easy to navigate through CloudWatch logs. Simple setup.

Dashbird helped us refine the size of our Lambdas, resulting in significantly reduced costs. We have Dashbird alert us in seconds via email when any of our functions behaves abnormally. Their app immediately makes the cause and severity of errors obvious.