--- title: OpsGenie v2 event handler list_title: OpsGenie v2 description: > The OpsGenie v2 event handler allows you to send Kapacitor alerts to OpsGenie. This page includes configuration options and usage examples. aliases: - /kapacitor/v1/event_handlers/opsgenie/ - /kapacitor/v1/event_handlers/opsgenie/v2/ menu: kapacitor_v1: name: OpsGenie weight: 900 parent: Event handlers --- [OpsGenie](https://www.opsgenie.com/) is an incident response orchestration platform for DevOps & ITOps teams. Kapacitor can be configured to send alert messages to OpsGenie. > This page is specific to OpsGenie's v2 API. If still using their v1 API, view > the [OpsGenie v1 event handler](/kapacitor/v1/reference/event_handlers/opsgenie/v1/) documentation. ## Configuration Configuration as well as default [option](#options) values for the OpsGenie v2 event handler are set in your `kapacitor.conf`. Below is an example configuration: ```toml [opsgenie2] enabled = true api-key = "mysupersecretapikey" teams = ["team1", "team2"] recipients = ["recipient1", "recipient2"] url = "https://api.opsgenie.com/v2/alerts" recovery_action = "notes" details = false global = false ``` #### `enabled` Set to `true` to enable the OpsGenie v2 event handler. #### `api-key` Your OpsGenie API Key. #### `teams` Default OpsGenie teams. _Can be overridden per alert._ #### `recipients` Default OpsGenie recipients. _Can be overridden per alert._ #### `url` The OpsGenie API URL. _**This should not need to be changed.**_ #### `recovery_action` The recovery action specifies which action to take when alerts recover. Valid values include: * `notes` - Add a note to the alert. * `close` - Close the alert. * custom - Use the `.RecoveryAction()` method to specify the `recovery_action` in a TICK script. #### `details` If `true`, the alert details field is sent as the OpsGenie alert description field. If `false`, details are encoded as description. #### `global` If `true`, all alerts are sent to OpsGenie without specifying `opsgenie2` in the TICKscript. The team and recipients can still be overridden. ## Options The following OpsGenie v2 event handler options can be set in a [handler file](/kapacitor/v1/reference/event_handlers/#create-a-topic-handler-with-a-handler-file) or when using `.opsGenie2()` in a TICKscript. | Name | Type | Description | | ---- | ---- | ----------- | | teams-list | list of strings | List of teams. | | recipients-list | list of strings | List of recipients. | ### Example: handler file ```yaml id: handler-id topic: topic-name kind: opsgenie2 options: teams-list: - 'team1' - 'team2' recipients-list: - 'recipient1' - 'recipient2' ``` ### Example: TICKscript ```js |alert() // ... .opsGenie2() .teams('team1', 'team2') .recipients('recipient1', 'recipient2') ``` ## OpsGenie Setup To allow Kapacitor to send alerts to OpsGenie, [create an OpsGeneie API Integration](https://docs.opsgenie.com/docs/api-integration#section-using-api-integration). Use the generated API key as the `api-key` in the `[opsgenie2]` section of your `kapacitor.conf` ## Using the OpsGenie event handler With the OpsGenie v2 event handler enabled and configured in your `kapacitor.conf`, use the `.opsGenie2()` attribute in your TICKscripts to send alerts to OpsGenie or define an OpsGenie v2 handler that subscribes to a topic and sends published alerts to OpsGenie. The examples below use the following OpsGenie configuration defined in the `kapacitor.conf`: _**OpsGenie v2 settings in kapacitor.conf**_ ```toml [opsgenie2] enabled = true api-key = "mysupersecretapikey" teams = ["engineering"] recipients = ["supervisor1", "supervisor2"] url = "https://api.opsgenie.com/v2/alerts" recovery_action = "close" global = false ``` ### Send alerts to OpsGenie from a TICKscript The following TICKscript uses the `.opsGenie2()` event handler to send the message, "Hey, check your CPU", to OpsGenie whenever idle CPU usage drops below 10%. _**opsgenie2-cpu-alert.tick**_ ```js stream |from() .measurement('cpu') |alert() .crit(lambda: 'usage_idle' < 10) .message('Hey, check your CPU') .opsGenie2() .teams('engineering', 'support') .recoveryAction('notes') ``` ### Send alerts to OpsGenie from a defined handler The following setup sends an alert to the `cpu` topic with the message, "Hey, check your CPU". An OpsGenie v2 handler is added that subscribes to the `cpu` topic and publishes all alert messages to OpsGenie. Create a TICKscript that publishes alert messages to a topic. The TICKscript below sends an alert message to the `cpu` topic any time idle CPU usage drops below 10%. _**cpu\_alert.tick**_ ```js stream |from() .measurement('cpu') |alert() .crit(lambda: 'usage_idle' < 10) .message('Hey, check your CPU') .topic('cpu') ``` Add and enable the TICKscript: ```bash kapacitor define cpu_alert -tick cpu_alert.tick kapacitor enable cpu_alert ``` Create a handler file that subscribes to the `cpu` topic and uses the OpsGenie v2 event handler to send alerts to OpsGenie. _**opsgenie2\_cpu\_handler.yaml**_ ```yaml id: opsgenie-cpu-alert topic: cpu kind: opsgenie2 options: teams-list: - 'engineering' - 'support' ``` Add the handler: ```bash kapacitor define-topic-handler opsgenie2_cpu_handler.yaml ```