Mattermost is the self-hosted open source alternative to Slack, which can also be provided with notifications via webhook.
2. Configuring Mattermost
If you have just set up the Mattermost server, webhooks will already be active. However you can also enable them later in the Mattermost System Console — i.e. the server’s administration interface — under Integrations > Integration Management.
Another prerequisite is that you have at least one group — otherwise you will not be able to access the Web Client view at all. Proceed as follows:
In the group view, open Integrations from the main menu.
Create a new webhook via Incoming Webhooks > Add Incoming Webhook.
Enter a name and description as required, and select the channel for the postings with the notifications.
With these actions the webhook URL will be generated — copy this URL for use in the next step.
3. Configuration in Checkmk
You have already learned how to set up Checkmk notifications in general in the article about notifications.
As a reminder:
You can not only specify individual users and contact groups as recipients of the notifications. Instead, you can also define a ticket system or an event engine as the target of the notifications, for example. However, you must then take two factors into account when creating the notification rules:
Only a single user may be entered as a contact, i.e. neither a contact group nor an object contact, otherwise several notifications will be sent to the target system for each event.
If the first point is fulfilled, but this user is used in several notification rules that are of the same type (e.g. ServiceNow), then only the last rule applies in each case. It is therefore advisable to create a separate functional user for each of these notification rules.
As with Slack, an activation in Checkmk now only requires the webhook URL:
For the Notification Method choose Slack or Mattermost.
Enter the copied webhook URL.
Optionally, you may specify URL prefixes to control links on your Checkmk GUI within the notification. Instead of specifying the webhook URL directly here, you can also use Checkmk’s password store and read the URL from one of its entries.
For testing you can use the Fake check results and Custom notification commands.