Komiser introduces: Custom webhooks feature
Flexibility and seamless integration is key. With our custom webhook feature, you can send cost alerts to any platform or endpoint, ensuring no alert goes unnoticed.
If you were to ask an open source enthusiast about what's appealing to them about the world of open source software (OSS), they would likely mention several reasons. Firstly, the opportunity to learn from the best developers in the world is a significant draw. Additionally, the incredibly open and inviting communities surrounding open-source software contribute to its appeal. However, one of the most valuable and undeniable features of almost all OSS projects is their interoperability. The fact that you can work on a project that fits like a puzzle piece with other tools increases the chance that it will be used by others, and as a software engineer there is nothing more satisfying than creating tools and systems that people actually use. The ecosystem thrives on tools that seamlessly integrate with one another. Even the concept of a software stack is a truly OSS concept in essence.
Komiser is a tool that enables you to consolidate and manage your cloud resources, retrieving them from various providers across different locations. One of its standout features is the capability to filter and organize the resulting resource inventory across multiple cloud platforms. This functionality surpasses the limitations of managing individual cloud providers directly, allowing you to create custom views, and logical groupings that enhance your management and analysis capabilities.
Even though we put a lot of effort into making Komiser as robust and complete as possible, we are in no way trying to make an all-in-one platform to take care of every single need you might have with regard to managing your cloud infrastructure. This is where the value of interoperability comes into play, inspiring the latest feature available from Komiser v3.0.18 onwards, the Custom Webhook integration.
After creating a custom view in Komiser, you can further enhance your monitoring capabilities by configuring cost or resource alerts. These alerts ensure that any unexpected behavior, such as a sudden increase in cost or an unanticipated resource scale-out, is promptly detected. Previously, the only way to receive these alerts was through the Slack integration. However, with the introduction of the custom webhook integration, you now have the flexibility to use the Komiser alert action as the initial trigger for your preferred custom automation. In this article, we will delve into one of the potential automations made possible by the custom webhook integration.
What’s a webhook
A webhook is a method of communication between applications or services. It is a way for one application to notify or trigger another application about an event or specific data in real time.
Typically, a webhook is implemented as an HTTP callback, where an application (referred to as the sender or source) sends an HTTP POST request to a specific URL (known as the webhook endpoint) provided by the receiving application (referred to as the receiver or destination). The receiver then processes the incoming request and takes appropriate actions based on the provided data.
Think of a webhook as the perfect baseball throw, the pitcher (sender) is communicating with the batter’s (receiver) bat (endpoint) by way of a ball (HTTP POST).
Cost alerts use-case
In this article we will look at a simple use case that is easily applicable to larger organizations also. As a Komiser user you’ve created a custom view that gathers all of the cloud resources that support a certain application. The application is just a POC so you want to make sure that the cost associated to the infrastructure doesn’t go over a certain threshold. If it does, and the alert is triggered you will want to be informed in the appropriate channel and you will also want a ticket to be created on a task management platform so any work done to remediate the spike in cost can be tracked in the ticket.
💡 To follow along in you will need:
- A running instance of Komiser, if you need any help with that you can watch this tutorial or access the documentation.
- Access to a Zapier account
- Some sort of messaging platforms like Slack or Discord
- An account on a task management tool such as Linear or Jira.
As we’ve seen, every webhook needs a source and a destination. In this demo, the source will be the alert that is applied to the Project-1 custom view in Komiser. The destination will be the endpoint URL that points to Zapier (an automation orchestrator platform). Once Zapier detects that the endpoint URL has been hit it will put a zap in motion which is a proprietary term that refers to a sequence of automations. In this case, the zap will consist of two steps (a post triggering the webhook endpoint). It will send a customized warning message to a Discord channel that I’ve configured and subsequently, it will create a ticket in my Linear account (task management platform) which would serve as a place to document the remediation work done to address the cause of the cost alert.
Let’s take it one step at a time
Create a custom view
In this case, I filtered the resource inventory and grouped all resources tagged App:jake-blog
Create an alert
By clicking on the top right Alerts button I can choose between either the Slack or Webhook integration. If you want more of an in-depth look into alerts, check out this video.
Once you’ve chosen the type of integration you want, you can then choose the type of alert. By choosing cost we are setting a numerical dollar value associated with the cost of the Project-1 resources. Once breached the alarm will be triggered. Here you can add a name, the dollar threshold and the endpoint URL.
Adding the endpoint URL
The endpoint URL will be generated by the destination. In this case, I’m using a Catch Hook in Webhooks by Zapier to initiate a chain of automated steps (a zap). This is where you will source the newly generated endpoint URL.
Add your webhook endpoint
Grab the endpoint URL and add it to the endpoint box to finish configuring the Komiser cost alert. We have also added a button to test if the endpoint URL is valid or not.
If your webhook requires a Secret it can be added just below the endpoint box.
Configure what you want the webhook to trigger
I’ve configured a simple zap that performs two steps after the source Catch Hook is triggered by the Komiser custom view alert. As can be seen down below it sends a customized message to a private channel on my Discord server and subsequently it creates a ticket with a custom description that specifies the nature of the alert and serves as a place to document the work done after the team is alerted.
This is the resulting Discord message:
This is the resulting Linear ticket:
Watch the hand’s on tutorial
The concept is pretty straightforward as you can see. With the introduction of the Komiser Custom webhook integration, a realm of new possibilities emerges. Now, there is no excuse for not staying fully informed about the state of your cloud resource budget at all times, regardless of the technology stack you are using. By leveraging third-party automation tools like Zapier, you can bridge the gap and seamlessly integrate Komiser into your cloud management suite, enabling a tighter and more efficient workflow.