# Opsgenie

[Opsgenie](https://www.atlassian.com/software/opsgenie) is an incident management and alerting tool by Atlassian. You can set up Wallarm to send alerts to Opsgenie.

## Setting up integration

In [Opsgenie UI](https://app.opsgenie.com/teams/list):

1. Go to your team ➝ **Integrations**.
2. Click the **Add integration** button and choose **API**.
3. Enter the name for a new integration and click **Save Integration**.
4. Copy the provided API key.

In Wallarm UI:

1. Open the **Integrations** section.
1. Click the **Opsgenie** block or click the **Add integration** button and choose **Opsgenie**.
1. Enter an integration name.
1. Paste the copied API key to the **API key** field.
1. If using the [EU instance](https://docs.opsgenie.com/docs/european-service-region) of Opsgenie, select the appropriate Opsgenie API endpoint from the list. By default, the US instance endpoint is set.
1. Choose event types to trigger notifications.

    ![Opsgenie integration](https://docs.wallarm.com/images/user-guides/settings/integrations/add-opsgenie-integration.png)

    Details on available events:
      
    * System related:
        * [User](https://docs.wallarm.com/user-guides/settings/users.md) changes (newly created, deleted, role change)
        * [Integration](https://docs.wallarm.com/user-guides/settings/integrations/integrations-intro.md) changes (disabled, deleted)
        * [Application](https://docs.wallarm.com/user-guides/settings/applications.md) changes (newly created, deleted, name change)
        * Errors during regular update of specifications used for [rogue API detection](https://docs.wallarm.com/api-discovery/rogue-api.md) or [API specification enforcement](https://docs.wallarm.com/api-specification-enforcement/setup.md#step-1-upload-specification)
    * [Rules](https://docs.wallarm.com/user-guides/rules/rules.md) and [triggers](https://docs.wallarm.com/user-guides/triggers/triggers.md) changed (creating, updating, or deleting the rule or trigger)
    * [Security issues](https://docs.wallarm.com/user-guides/vulnerabilities.md) detected by [all methods](https://docs.wallarm.com/about-wallarm/detecting-vulnerabilities.md#detection-methods), all or only for the selected risk level(s):
        * Critical risk
        * High risk
        * Medium risk
        * Low risk
        * Info risk
1. Click **Test integration** to check configuration correctness, availability of the target system, and the notification format.

    This will send the test notifications with the prefix `[Test message]`:

    ![Test Opsgenie message](https://docs.wallarm.com/images/user-guides/settings/integrations/test-opsgenie-new-vuln.png)

1. Click **Add integration**.

!!! info "Wallarm Cloud IP addresses"
    To provide Wallarm Cloud access to your system, you may need a list of its public IP addresses:

    **US Cloud:**

    ```
    34.102.90.100
    34.94.156.115
    35.235.115.105
    34.94.85.217
    34.94.51.234
    34.102.59.122
    34.94.238.72
    35.235.100.79
    34.102.45.38
    34.94.241.21
    34.94.203.193
    34.94.238.221
    34.94.9.235
    34.94.118.150
    34.94.193.9
    ```

    **EU Cloud:**

    ```
    34.141.230.156
    34.91.138.113
    34.90.114.134
    35.204.127.78
    34.90.24.155
    34.7.147.149
    ```

    **ME Cloud:**

    ```
    34.166.215.174
    ```
## Setting up additional alerts

Besides the notifications you have already set up through the integration card, Wallarm triggers allow you to select additional events for notifications:

* Number of [attacks](https://docs.wallarm.com/glossary-en.md#attack), [hits](https://docs.wallarm.com/glossary-en.md#hit) or incidents per time interval (day, hour, etc.) exceeds the set number

    !!! info "What is not counted"
        * For attacks: 
            * The experimental attacks based on the [custom regular expressions](https://docs.wallarm.com/user-guides/rules/regex-rule.md).
        * For hits:
            * The experimental hits based on the [custom regular expressions](https://docs.wallarm.com/user-guides/rules/regex-rule.md).
            * Hits not saved in the [sample](https://docs.wallarm.com/user-guides/events/grouping-sampling.md#sampling-of-hits).

* [Changes in API](https://docs.wallarm.com/api-discovery/track-changes.md) took place
* IP address was [denylisted](https://docs.wallarm.com/user-guides/ip-lists/overview.md)
* New [rogue API](https://docs.wallarm.com/api-discovery/rogue-api.md) (shadow, zombie) was detected
* New user was added to the company account

For condition detailing, you can add one or more filters. As soon, as condition and filters are set, select the integration through which the selected alert should be sent. You can select several integrations simultaneously.

![Choosing an integration](https://docs.wallarm.com/images/user-guides/triggers/select-integration.png)
### Example: Opsgenie notification if 2 or more incidents are detected in one second

If 2 or more incidents with the application server or database are detected in one second, the notification about this event will be sent to Opsgenie.

![Example of a trigger sending the data to Splunk](https://docs.wallarm.com/images/user-guides/triggers/trigger-example3.png)

**To test the trigger**, it is required to send the attack exploiting an active vulnerability to the protected resource. The Wallarm Console → **Vulnerabilities** section displays active vulnerabilities detected in your applications and the examples of attacks that exploit these vulnerabilities.

If the attack example is sent to the protected resource, Wallarm will record the incident. Two or more recorded incidents will trigger sending the following notification to Opsgenie:

```
[Wallarm] Trigger: The number of incidents exceeded the threshold

Notification type: incidents_exceeded

The number of detected incidents exceeded 1 in 1 second.
This notification was triggered by the "Notification about incidents" trigger.

Additional trigger’s clauses:
Target: server, database.

View events:
https://my.wallarm.com/attacks?q=incidents&time_from=XXXXXXXXXX&time_to=XXXXXXXXXX

Client: TestCompany
Cloud: EU
```

* `Notification about incidents` is the trigger name
* `TestCompany` is the name of your company account in Wallarm Console
* `EU` is the Wallarm Cloud where your company account is registered

!!! info "Protecting the resource from active vulnerability exploitation"
    To protect the resource from active vulnerability exploitation, we recommend patching the vulnerability in a timely manner. If the vulnerability cannot be patched on the application side, please configure a [virtual patch](https://docs.wallarm.com/user-guides/rules/vpatch-rule.md) to block attacks exploiting this vulnerability.

## Disabling and deleting an integration

You can delete or temporarily disable the integration. While deleting stops sending notifications and completely deletes all configuration, disabling just stops sending notifications which you can at any moment re-enable with the same settings.

If for the integration the **System related** events are selected to trigger notifications, Wallarm will notify about both of these actions.
## System unavailability and incorrect integration parameters

Notifications to the system are sent via requests. If the system is unavailable or integration parameters are configured incorrectly, the error code is returned in the response to the request.

If the system responds to Wallarm request with any code other than `2xx`, Wallarm resends the request with the interval until the `2xx` code is received:

* The first cycle intervals: 1, 3, 5, 10, 10 seconds
* The second cycle intervals: 0, 1, 3, 5, 30 seconds
* The third cycle intervals:  1, 1, 3, 5, 10, 30 minutes

If the percentage of unsuccessful requests reaches 60% in 12 hours, the integration is automatically disabled. If you receive system notifications, you will get a message about automatically disabled integration.

