Amazon Web Services (AWS) offers 100+ services, each focusing on a specific area of functionality. However, it can be challenging to pick the right services for the task and also to provision them. AWS Elastic Beanstalk, lets you easily deploy and manage applications without the need to learn about the underlying infrastructure that runs these applications. This blog explains how to set up AWS Elastic Beanstalk-Squadcast integration and route detailed monitoring alerts from AWS Elastic Beanstalk to the right users for quick and efficient incident response.
This blog will focus on the following:
Amazon SNS is a managed service that offers message delivery from publishers to subscribers. Publishers use this service to communicate asynchronously with subscribers by sending messages to a 'topic'. A topic is a logical access point and communication channel. To receive published messages, users/consumers can subscribe to an SNS topic, using a supported endpoint type.
This service can fan out alerts to millions of subscribers, and it offers capabilities like,
AWS CloudWatch is a monitoring and management service offered by Amazon Web Services that offers actionable insights for your applications and infrastructure resources that reside on AWS cloud, on-premises or hybrid environments. It lets you track performance and operational data which is in the form of logs and metrics, from a single platform.
With this service, you can monitor your applications, infrastructure, and services and also use data from alarms, logs, and events. With this data you can take automated actions and reduce mean time to resolution (MTTR).
Step1: In Squadcast, navigate to Services and click on Service Overview then select/search for your Service. Expand the accordion and in the Alert Sources section, click on Add.
Step2: Select AWS Elastic Beanstalk via CloudWatch. Copy the displayed Webhook URL to configure it within AWS Elastic Beanstalk via CloudWatch. Finish by clicking Add Alert Source and then click on Done.
Note: When an alert source turns Active, it’ll show up under Configured Alert Sources, you can either generate a test alert from the integration or wait for a real-time alert to be generated by the Alert Source. An Alert Source is active if there is a recorded incident via that Alert Source for the Service.
Step1: Log in to your AWS account and proceed to Simple Notification Service - SNS.
Step2: From the sidebar on the left, select Topics.
Step3: Click on Create Topic.
Step4: Fill in the details as per your requirements and then click on Create Topic.
Step5: Now, click on Create Subscription.
Step6: Here, select the Protocol as HTTPS and under Endpoint, paste the previously copied Webhook URL from Squadcast (Ensure that the Raw Message Delivery checkbox is disabled.)
Step7: Finally, click on Create Subscription to create the subscription.
Step8: The Status for this Subscription should immediately change from PendingConfirmation to Confirmed. Click on the refresh button to verify the same.
Step1: In the AWS Elastic Beanstalk service, within your Environment, navigate to Monitoring.
Step2: Click on the bell icon on the graphs for which you want to create an Alarm and route alerts to Squadcast.
Step3: Configure the required parameters in the Add Alarm dialog box. In the Notify drop-down, select the Subscription that was previously created. Under 'Notify when state changes to', enable OK and Alarm checkboxes. Finally, click on Add to create the Alarm.
That is it, you are now good to go! Whenever an Alarm is triggered in AWS Elastic Beanstalk, an incident will be automatically created in Squadcast. Whenever an Alarm is resolved in AWS Elastic Beanstalk, the corresponding incident is auto-resolved in Squadcast as well.
AWS Elastic Beanstalk makes it easy to deploy and scale web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger and IIS. By integrating this service with Squadcast you can route detailed alerts from AWS Elastic Beanstalk via CloudWatch to the right users in Squadcast and thus enhance your Incident Response and Management.