# LogicMonitor

[<mark style="color:blue;">LogicMonitor</mark>](https://www.logicmonitor.com/) is a fully-automated, cloud-based infrastructure monitoring platform for Enterprise IT and Managed Service Providers giving full-stack visibility into networks, cloud, and servers with one unified view.

Route detailed monitoring alerts from LogicMonitor to the right users in Squadcast.

### How to integrate LogicMonitor with Squadcast

### In Squadcast: Using LogicMonitor as an Alert Source

1. Navigate to **Services** -> **Service Overview** -> select or search for your Service. Expand the accordion -> In the Alert Sources section, click **Add**.

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-4fbd74e7ca0b30173c47a1d58ed6a0804a0465aa%2FAlert_Sources.png?alt=media\&token=aaca6610-9d18-4dd4-9cf5-320042f326f1)

2\. Select **LogicMonitor.** Copy the displayed **Webhook URL** to[ configure](#in-logicmonitor-add-a-webhook-for-squadcast) it within **LogicMonitor**. Finish by clicking **Add Alert Source** -> **Done.**

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-31185c7bed25dc3bcad05c8eb03a0ac5eb337c26%2FLogicMonitor.png?alt=media\&token=ff7156aa-fb5c-45b0-8985-a5922ee5ace0)

{% hint style="warning" %}
**Important:**

When an alert source turns Active, it’ll show up under Configured Alert Sources, you can either generate a test alert from the integration or wait for a real-time alert to be generated by the Alert Source. An Alert Source is active if there is a recorded incident via that Alert Source for the Service.
{% endhint %}

### In LogicMonitor: Add a webhook for Squadcast

**(1)** From the dashboard, navigate to **Settings**

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-d29389b8f12892280acb8c898e44193c2e8ed2d0%2Flogic-monitor1.png?alt=media\&token=5faf3b4c-75f7-493a-9d5f-b9ea1dc06d5f)

**(2)** Select **Integrations** from the sidebar

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-d480b8ad86b95cf2f67ba87c9aaafdc43657e036%2Flogic-monitor2.png?alt=media)

**(3)** Select **Add** to add the new endpoint

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-eb06969a939a9af45a5c07f3fb4ee5040518efbf%2Flogic-monitor3.png?alt=media)

**(4)** Select **Custom HTTP Delivery** since we want to configure a custom webhook

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-4d60f0bbef02e1f5e99a49cc0a0624698df69312%2Flogic-monitor4.png?alt=media)

* Give the integration a meaningul **Name**, such as, *Squadcast Webhook*
* Provide an *optional* **Description**
* You can either choose to **Use the same URL and data to notify on various alert activity** (one single Squadcast Service webhook) or **Use differents URLs or data formats to notify on various alert activity** (multiple Squadcast Services webhooks). Either of the options you choose, you can follow the steps below, as many times as required (per each webhook)
* Choose **Cleared** checkbox since this will enable **auto-resolution** for incidents in Squadcast
* **HTTP Method**: From the drop-down, choose **HTTP Post**. Do *not* enable/use Custom Headers
* In the **URL** field, first select **https\://** from the drop-down on the left and paste the copied Squadcast webhook by removing the *https\://* prefix from the URL
* Provide **Username** and **Password** if applicable

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-257327c4b833032e0013869ed445c0674dd47825%2Flogic-monitor5.png?alt=media)

* Within **Alert Data**, paste the following template:

```
service=##SERVICE##&alertid=##ALERTID##&alerttype=##ALERTTYPE##&alertstatus=##ALERTSTATUS##&level=##LEVEL##&host=##HOST##&datasource=##DATASOURCE##&eventsource=##EVENTSOURCE##&batchjob=##BATCHJOB##&group=##GROUP##&datapoint=##DATAPOINT##&start=##START##&finish=##FINISH##&duration=##DURATION##&value=##VALUE##&threshold=##THRESHOLD##&userdata=##USERDATA##&cmdline=##CMDLINE##&exitCode=##EXITCODE##&stdout=##STDOUT##&stderr=##STDERR##&agent=##AGENT_DESCRIPTION##&checkpoint=##CHECKPOINT##&datapointdesc=##DPDESCRIPTION##&hostdesc=##HOSTDESCRIPTION##&hostinfo=##system.sysinfo##&hostips=##system.ips##&hosturl=##DEVICEURL##&instance=##INSTANCE##&dsidesc=##DSIDESCRIPTION##&batchdesc=##BJDESCRIPTION##&hostname=##system.hostname##&dsdesc=##DSDESCRIPTION##&eventmsg=##LIMITEDMESSAGE##&eventlogmsg=##MESSAGE##&eventcode=##EVENTCODE##&eventtype=##TYPE##&eventuser=##USER##&eventlogfile=##LOGFILE##&servicedetail=##DETAIL##&serviceurl=##URL##&servicegroup=##SERVICEGROUP##&date=##DATE##&clearvalue=##CLEARVALUE##&internalid=##INTERNALID##&alerturl=##ALERTDETAILURL##
```

{{site.data.alerts.blue-note-md}} **Note: Custom User Defined Variables**

Users can define two custom variables within **Alert Data**. The two variables can be added in the format mentioned below :

**\&CustomVariable1Name=##Name##\&CustomVariable1Value=##Value## \&CustomVariable2Name=##Name##\&CustomVariable2Value=##Value##**

Replace the **##Name##** & **##Value##** with proper values and add at the end of the variables mentioned in **Step 4**. This is how it would look like :

```
service=##SERVICE##&alertid=##ALERTID##&alerttype=##ALERTTYPE##&alertstatus=##ALERTSTATUS##&level=##LEVEL##&host=##HOST##&datasource=##DATASOURCE##&eventsource=##EVENTSOURCE##&batchjob=##BATCHJOB##&group=##GROUP##&datapoint=##DATAPOINT##&start=##START##&finish=##FINISH##&duration=##DURATION##&value=##VALUE##&threshold=##THRESHOLD##&userdata=##USERDATA##&cmdline=##CMDLINE##&exitCode=##EXITCODE##&stdout=##STDOUT##&stderr=##STDERR##&agent=##AGENT_DESCRIPTION##&checkpoint=##CHECKPOINT##&datapointdesc=##DPDESCRIPTION##&hostdesc=##HOSTDESCRIPTION##&hostinfo=##system.sysinfo##&hostips=##system.ips##&hosturl=##DEVICEURL##&instance=##INSTANCE##&dsidesc=##DSIDESCRIPTION##&batchdesc=##BJDESCRIPTION##&hostname=##system.hostname##&dsdesc=##DSDESCRIPTION##&eventmsg=##LIMITEDMESSAGE##&eventlogmsg=##MESSAGE##&eventcode=##EVENTCODE##&eventtype=##TYPE##&eventuser=##USER##&eventlogfile=##LOGFILE##&servicedetail=##DETAIL##&serviceurl=##URL##&servicegroup=##SERVICEGROUP##&date=##DATE##&clearvalue=##CLEARVALUE##&internalid=##INTERNALID##&alerturl=##ALERTDETAILURL##&CustomVariable1Name=##Name##&CustomVariable1Value=##Value##&CustomVariable2Name=##Name##&CustomVariable2Value=##Value##
```

{{site.data.alerts.blue-note-md}} **Note: Custom User Defined Incident Message**

Users can define custom Incident Message within **Alert Data**. The variable can be added in the format mentioned below :

**\&CustomIncidentMessage=##IncidentMessage##**

Replace the **##IncidentMessage##** with proper values and add at the end of the variables mentioned in **Step 4**. This is how it would look like :

```
service=##SERVICE##&alertid=##ALERTID##&alerttype=##ALERTTYPE##&alertstatus=##ALERTSTATUS##&level=##LEVEL##&host=##HOST##&datasource=##DATASOURCE##&eventsource=##EVENTSOURCE##&batchjob=##BATCHJOB##&group=##GROUP##&datapoint=##DATAPOINT##&start=##START##&finish=##FINISH##&duration=##DURATION##&value=##VALUE##&threshold=##THRESHOLD##&userdata=##USERDATA##&cmdline=##CMDLINE##&exitCode=##EXITCODE##&stdout=##STDOUT##&stderr=##STDERR##&agent=##AGENT_DESCRIPTION##&checkpoint=##CHECKPOINT##&datapointdesc=##DPDESCRIPTION##&hostdesc=##HOSTDESCRIPTION##&hostinfo=##system.sysinfo##&hostips=##system.ips##&hosturl=##DEVICEURL##&instance=##INSTANCE##&dsidesc=##DSIDESCRIPTION##&batchdesc=##BJDESCRIPTION##&hostname=##system.hostname##&dsdesc=##DSDESCRIPTION##&eventmsg=##LIMITEDMESSAGE##&eventlogmsg=##MESSAGE##&eventcode=##EVENTCODE##&eventtype=##TYPE##&eventuser=##USER##&eventlogfile=##LOGFILE##&servicedetail=##DETAIL##&serviceurl=##URL##&servicegroup=##SERVICEGROUP##&date=##DATE##&clearvalue=##CLEARVALUE##&internalid=##INTERNALID##&alerturl=##ALERTDETAILURL##&CustomVariable1Name=##Name##&CustomVariable1Value=##Value##&CustomVariable2Name=##Name##&CustomVariable2Value=##Value##&CustomIncidentMessage=##IncidentMessage##
```

Enable **Raw**. Additionally, from the **Format** drop-down, select **Form Data**

* Do *not* enable the checkbox for **Include an ID provided in HTTP response when updating alert status**

**(5)** Click on **Test Alert Delivery**. This is will send a *Test* alert to Squadcast, triggering a *Test* incident. Verify this to ensure the integration is working as expected

**(6)** **Save** the integration configuration

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-190ec8ac2ddb10f051c9ed20c682c3c5dbae4e5b%2Flogic-monitor6.png?alt=media\&token=650c920f-f2fb-4a63-b833-1f3a01f825bf)

Find more details on how each of these parameters for **Custom HTTP Endpoints** can be configured [here](https://www.logicmonitor.com/support/alerts/integrations/custom-http-delivery)

**(7)** Select **Escalation Chains** from the sidebar. Either **Add** a new Escalation Chain or edit an existing one

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-a097615843279c2de3123d6ee3923304409894af%2Flogic-monitor7.png?alt=media)

**(8)** Configure the *Squadcast Webhook* within your Escalation Chain and **Save** it

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-45e738ea097552f753b1c1e88542ac484e4bcfc4%2Flogic-monitor8.png?alt=media)

Find more details on how each of these parameters for **Escalation Chains** can be configured [here](https://www.logicmonitor.com/support/alerts/alert-delivery/escalation-chains)

**(9)** Select **Alert Rules** from the sidebar from under **Alert Settings**. Either **Add** a new Alert Rule or edit an existing one

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-5395d4d6d5dedd4e41caf07f673bce51e7137708%2Flogic-monitor9.png?alt=media)

**(10)** Fill in all the relevant details. *Enable* the checkbox **Send notification when alerts clear**. Choose the configured **Escalation Chain** from the drop-down and **Save** it

![](https://1574591692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8TaWz01jmUJl58p4ZVel%2Fuploads%2Fgit-blob-f66c36b0ef8a77513d20788999804afa45a96f41%2Flogic-monitor10.png?alt=media)

Find more details on how each of these parameters for **Alert Rules** can be configured [here](https://www.logicmonitor.com/support/alerts/alert-delivery/alert-rules)

That is it, you are now good to go! Whenever an alert is triggered in LogicMonitor, an incident will be created automatically in Squadcast.

{% hint style="info" %}
**FAQ:**

Q: If an alert gets resolved in LogicMonitor, does LogicMonitor send auto-resolve signals to Squadcast?

A: Yes, LogicMonitor sends auto-resolve signals to Squadcast.
{% endhint %}

*Have any other questions?* [*Ask the community*](https://community.squadcast.com/view/home)*.*
