MariaDB SkySQL is a database-as-a-service (DBaaS) that delivers unmatched flexibility and massive scalability in the cloud. SkySQL offers a dedicated observability portal, SkySQL Monitoring, which serves as a single pane of glass for the customer’s performance metrics across all clouds.
In this blog, we’ll provide a walkthrough of our new “Alerts and Notifications” feature, which is in Technical Preview.
Alerts and Notifications
Outsourcing the tedious task of watching NOC screens to intelligent, reliable automated assistants is not new. It can transform all the anomalies into notifications that remind us when something abnormal happens. This is the essence of the alerting feature.
For SkySQL Alerts and Notifications, we went even further, involving our own SkyDBA, Support, and SRE engineers to leverage their years of experience supporting MariaDB products. They produced fine-tuned, MariaDB tailored, recommendations in the form of predefined alerting rules. They are ready to use out-of-the-box.
We also understand that every customer is unique, and we offer our customers the choice of how they want to use those canned rules. They can be tuned to customer-specific use cases and requirements.
We help customers organize and curate all events, in categories, removing repetitive notifications, allowing focus on the important notifications for each functional team.
We understand that the interests of different functional teams are different. Support, DBA, Marketing, and Sales focus on different planes and we provide the tools to organize the notifications for each team or even person.
How to Access
Once you are logged into SkySQL, SkySQL Monitoring can be accessed on the left navigation. You must launch a service first to have access to Monitoring. More details can be found in MariaDB SkySQL Documentation.
Once you are in SkySQL Monitoring, “Alerts” can be found on the left side menu.
Or you can use the direct link in one of your email notifications.
Active is the default view. It presents a list of all active alerts sorted by the last activity date. Those are the alerts that are actively running at this moment.
Active alerts screen
History will show the log of all alerts that had been fired but are no longer firing. They can be filtered by date.
Alert history screen
Users can consult those two views for more information about the active and historical alerts.
This release of Alerting and Monitoring comes with 15 predefined alerting rules. They are configured by our support experts and cover most of the standard scenarios. Predefined Alerts include server-unavailable, CPU/disk/memory utilization, long-running queries, max connections, network errors, and accounts without passwords.
Pre-canned alert rules
By default, all predefined rules are enabled. If one of the rules is met, the notification will be sent only to the Active Alerts screen in the SkySQL Monitoring Portal.
To send an email or other notification when an alert is triggered, the customer needs to specify a rule and recipient.
Customers can change the canned alerting rules to produce custom rules that perfectly fit their specific needs or start from scratch and create their own.
On top of the alerting page, you can find a settings button. It looks like a small blue gear.
This opens the configuration screen for all components of the Alerts and Notifications.
By clicking the gear icon, you can create, edit, delete and disable specific rules.
The Rules tab in settings provides a user interface for the management of all rules. Customers can change the parameters of the existing rules or create new rules from scratch.
Alerting rules configuration screen
They can also use this screen to edit, delete, and enable/disable the alerting rules. When the rule is disabled it is not evaluated and cannot trigger any notification.
Create new alerting rule
The tag section is essential, it allows the configuration of descriptive labels that can be used for filtering or choosing the notification that will take care of this alerting rule.
We added severity and a custom tag — Development for our new rule.
Notifications are used to define who will be notified and on what conditions.
We already have several notifications defined. Customers can define their own using the same user interface.
Let’s open the notification named “Notify Ivan for Warning on Development Environment”.
Edit Notification Screen
As the name of this Notification suggests, but also visible from the attached tags, this Notification will handle all Warnings on our Development environment.
In the verification window below, we can see our rule “New rule” displayed, this is the only rule right now that can trigger this notification.
I can replace “Development” with “Production” and the set of rules that will trigger this notification will be different.
This makes matching alerting rules to notifications very flexible and easy.
Channels allow you to manage notification methods (i.e. email list, slack definitions, etc.).
The channels can be saved with user-friendly names and later attached as a notification channel to any Notification.
Let’s illustrate the process end-to-end.
As a customer, I want to create a support ticket for every alert I consider a Severity 1. I only want this to be done for the Production environment. I don’t care about the other servers that run in my account.
For me, the default severity levels Info, Warning, and Critical are limiting. I want to use 5 levels of severity — SEV1-SEV5. I don’t want to create repeating events every minute. A reminder once every 24h will be nice.
I will go to the (Alerting) Rules and define rules on my own, fitting my specific requirements for thresholds and limits. Once I am happy with those, I will label them with tags according to my own scale of severity. SEV1-SEV5
For all Severity 1 alerts, I want to send an email to email@example.com to create an internal ticket.
I want also to notify the support directly on firstname.lastname@example.org because this is high Severity.
For this, I can reuse the notification channel I created before.
Then I will link all existing rules of Severity 1 that happen to be on Production to my SEV1 Mail channel.
Here I can remove Production to create a ticket for all servers with SEV1. Or add more tags to filter the rules even more.
In all cases, the “RULES THAT WILL TRIGGER THIS NOTIFICATION” will represent the current rules that will match this Notification. I can check them before I save them.
The Channel name is pointed to SEV1 Mail. I can save and my setup is complete.
Now when “Production Server is Unavailable” or the CPU load is on 100% (CPUs are burning) starts firing for a specific server the system will send an email to the support email address designated and will create a ticket.
This will not be repeated in the next 24h — Because of the repeat interval defined in my Notification (24h). The same rule for another server will produce another notification.
Now my setup is complete and ready for some testing. I created a heavy log on those database servers.
Now in Active alerts, we can see our production servers that run on 100% CPU started generating some alerts.
We got a notification email as well.
The notification groups those 4 events together because they are part of the same service transitions-pr and the alert fired about the same time.
Our alert notification works as requested.
If in the future, I need to create a new rule, the only thing I have to do is to add labels SEV1 and Production and the rule will be automatically added to the existing configuration.
Create new rule
The name of my SEV1 Notification in “NOTIFICATIONS TRIGGERED BY THIS RULE” will confirm the new rule will be treated the same way as the other SEV1, Production issues.
Simple as that.
SkySQL Alerts and Notifications are in Technical Preview. In the GA version, you can expect more notification channels such as Slack, ServiceNow, PagerDuty, etc.
Plus, even more predefined alerting rules and more metrics.
That was a very quick introduction of the Alerts and Notifications feature. Alerts & Notifications are part of SkySQL Monitoring — an expansive tool that provides all available observability tools for your cloud database services. The best way to find out more is to try it for yourself on SkySQL.
For More Information
Sign up for SkySQL today and get a $500 credit toward up to three databases of any size and any type.
More details can be found in MariaDB SkySQL Documentation.