- Notify on-call responders based on alerts sent from Kuvasz if any of your monitors is down or has an invalid SSL certificate
- Incidents will automatically resolve in PagerDuty when the metric in Kuvasz returns to normal (e.g. your monitor is up again, or you renew your site's certificate)
- If one of your monitor is down, has an invalid SSL certificate, or the certificate will expire in 30 days, Kuvasz will send an event to a service in PagerDuty. Events from Kuvasz will trigger a new incident on the corresponding PagerDuty service, or group as alerts into an existing incident.
- Once your monitor is up again, or has a valid SSL certificate, a resolve event will be sent to the PagerDuty service to resolve the alert, and associated incident on that service.
There are no special requirements prior to this setup to successfully integrate PagerDuty and Kuvasz.
If you need help with this integration, please contact the maintainer of Kuvasz, Adam Kobor at adam@akobor.me.
- From the Configuration menu, select Services.
- There are two ways to add an integration to a service:
- If you are adding your integration to an existing service: Click the name of the service you want to add the integration to. Then, select the Integrations tab and click the New Integration button.
- If you are creating a new service for your integration: Please read our documentation in section Configuring Services and Integrations and follow the steps outlined in the Create a New Service section, selecting "Kuvasz" as the Integration Type in step 4. Continue with the "In Kuvasz" section (below) once you have finished these steps.
- Enter an Integration Name in the format
monitoring-tool-service-name
(e.g. Kuvasz-Shopping-Cart) and select "Kuvasz" from the Integration Type menu. - Click the Add Integration button to save your new integration. You will be redirected to the Integrations tab for your service.
- An Integration Key will be generated on this screen. Keep this key saved in a safe place, as it will be used when you configure the integration with Kuvasz in the next section.
You have to set up two things in Kuvasz in order to make the integration work:
- Provide an environment variable to the application with the name
ENABLE_PAGERDUTY_EVENT_HANDLER
and a value oftrue
. You can read more about the available configuration variables of Kuvasz here. - Set your PagerDuty integration key for the desired monitor in one of the following ways:
Providing a key when you create your monitor:
curl --location --request POST 'https://your.kuvasz.host:8080/monitors/' \
--header 'Authorization: Bearer YourKuvaszAccessToken' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "my_first_monitor",
"url": "https://website.to.check",
"uptimeCheckInterval": 60,
"pagerdutyIntegrationKey": "YourSecretIntegrationKeyFromPagerDuty"
}'
Adding/updating a key for an existing monitor:
curl --location --request PUT 'https://your.kuvasz.host:8080/monitors/4/pagerduty-integration-key' \
--header 'Authorization: Bearer YourKuvaszAccessToken' \
--header 'Content-Type: application/json' \
--data-raw '{
"pagerdutyIntegrationKey": "YourSecretIntegrationKeyFromPagerDuty"
}'
If you want to disable a monitor's integration with PagerDuty, you can just simply delete the integration key of it with an API call like that:
curl --location --request DELETE 'https://your.kuvasz.host:8080/monitors/4/pagerduty-integration-key' \
--header 'Authorization: Bearer YourKuvaszAccessToken'
Alternatively you can disable the integration between Kuvasz and PagerDuty globally by setting the value of the ENABLE_PAGERDUTY_EVENT_HANDLER
to false
(or by omitting it completely, since its default value is false
too).