All-in-one serverless DevOps platform.
Full-stack visibility across the entire stack.
Detect and resolve incidents in record time.
Conform to industry best practices.
Disclaimer: This article was written by BK Lim, Co-founder of Interviewer.AI, and originally published on Medium. The information provided is solely based on his personal usage and opinion on the Dashbird platform.
tl;drUsing Dashbird.io allows us to monitor our AWS Serverless resources better and helps us nailed down on specific errors quickly and more efficiently.
tl;dr
Using Dashbird.io allows us to monitor our AWS Serverless resources better and helps us nailed down on specific errors quickly and more efficiently.
As a startup, we always want to focus on the most important thing — to deliver value to our customers. For that reason, we are a huge fan of the serverless options provided by AWS (Lambda) and GCP (Cloud Function) as these allow us to maintain and quickly deploy bite-size business logic to production, without having to worry too much about maintaining the underlying servers and computing resources. Additionally, using services like AWS Step Functions allows us to orchestrate the Lambda function in a high-level visual and low-code fashion, at the same time allowing us to execute different functions in a specific order.
Monitoring the execution of Lambda functions starts to become a real issue when you have tens or hundreds of functions running at the same time. When we first started, we relied a lot on Cloudwatch Logs as the Lambda function forwards the execution logs to Cloudwatch automatically without any additional setup. This helps when the number of invocation is small, but as you can see in the screenshot down below, the native log streams provided by Cloudwatch doesn’t contain the necessary information to help to debug or to troubleshoot the errors:
A lot of times we have to look at the timing of the failed invocation and click on a specific log stream around the timestamp, only to realize that it was not the log stream we are interested to see. Cloudwatch also clubs the logs from multiple invocations if they were close to each other, potentially making important information harder to find for developers. Before we were introduced to monitoring products like Dashbird.io, we were manually creating additional logic in the Lambda function to send off Slack notifications when an error happens in the function, resulting in a bigger deployment than what is needed.
Instead of creating a serverless monitoring tool ourselves, we were exploring off-the-shelf monitoring options in the market. Dashbird.io was one of the services we explored. In this section, I will share the experience of using Dashbird.io, particularly on the onboarding process and the main offering by the platform.
Dashbird.io offers a forever-free tier for smaller infrastructures of up to 1 million invocations and a free 2-week trial that encompasses the professional plan. Both include not just AWS Lambda monitoring, but also additional AWS-managed services such as Step Function, ECS and more. After signing up an account, we were asked to launch the CloudFormation stack in AWS, which basically creates a role that has read-only permission to access those services that Dashbird.io will monitor. The instructions are lined up clearly as shown below:
One great thing to point out here is that all the permissions that are being requested are read-only access. For companies that are particular about the third-party product having access to your computing resources, this is definitely an advantage compare to services that require write permission.
Once the role is created and the Role Arn is copied and pasted here, Dashbird will start syncing information from the AWS account and soon enough we will start seeing information populated in the dashboard.
The insights section is something refreshing to me, as it provides tips and best practices to optimize our cloud resources.
Moving on to the main objective which is to monitor our resources (in Dashbird.io, it’s on the Inventory tab), we have a high-level overview of our resources. At the point of writing, Dashbird.io supports AWS Lambda, ECS, Step Function, SQS and API Gateway.
Filtering down to one of our Lambda functions, we can see the metrics on the function such as invocations count, errors count etc.
There are 3 things I like about the information here:
That basically summarizes how I use Dashbird so far. There are other tabs that I won’t go into detail about in this article, but a summary of them down here:
Using a third-party monitoring platform like Dashbird.io can help the development team in identifying the root cause of a problem and optimize the cloud resources better. As mentioned at the start of the article, as a startup, you probably want to focus more on delivering value to the customer, and not spending engineering resources in searching through CloudWatch logs or building a separate monitoring tool.
Today we are excited to announce scheduled searches – a new feature on Dashbird that allows you to track any log event across your stack, turn it into time-series metric and also configure alert notifications based on it.
One of the most vital aspects to monitor is the metrics. You should know how your cluster performs and if it can keep up with the traffic. Learn more about monitoring Amazon OpenSearch Service.
Dashbird recently added support for ELB, so now you can keep track of your load balancers in one central place. It comes with all the information you expect from AWS monitoring services and more!
Dashbird was born out of our own need for an enhanced serverless debugging and monitoring tool, and we take pride in being developers.
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.