LogicMonitor

LogicMonitor provides on-premise, cloud, and hybrid datacenter monitoring. Build this integration to correlate LogicMonitor alerts into high-level incidents in BigPanda.

Supported Versions:
SaaS Deployments

Type:
Webhook

How It Works

Logicmonitor is a SaaS based infrastructure monitoring and alerting platform that can give you a single-pane-of-glass view of your entire infrastructure.

Just deploy a handful of collectors behind your firewalls (you don’t need to install an agent on each device you wish to monitor) and define which hosts you want monitored.

LogicMonitor will use standard protocols your devices already speak to identify, categorize, and subsequently monitor them with our out of the box templates.

Using Sample Code

These samples are meant to provide a helpful starting point for your custom integration. Though you may be able to copy some of the samples and use them without modifications, your system administrators must review and test all scripts and methods before using them, as per good practices.

Prerequisites

  • BigPanda account

  • LogicMonitor account

Step 1: In BigPanda, create an App Key.

  1. In BigPanda, click the Integrations tab at the top of the screen.

  2. In the left pane, click New Integration.

  3. On the Monitoring tab, click Alerts REST API.

  4. In Step 1, enter the name of the integration.
    For example, enter LogicMonitor.

  5. Click Generate App Key.

  6. Make a note of the app key and your BigPanda authorization token.
    You will use them to configure the webhook in Step 2.

Step 2: In LogicMonitor, set up two Custom HTTP integrations to send your alerts to BigPanda

  1. In LogicMonitor, go to Settings > Integrations > Add > Custom HTTP Delivery.

  2. Enter a name -- we recommend BigPanda - Warning

  3. Select the Use different URLs or data formats to notify on various alert activity option.

  4. Check Use Custom Headers and copy/paste the following two sets of key/value pairs, substituting in the authorization token from step 6 in the BigPanda Steps:

    Key: Content-Type
    Value: application/json

    Key: Authorization
    Value: Bearer <your unique token is here>

  1. Change the URL scheme to https:// and copy in the BigPanda URL: api.bigpanda.io/data/v2/alerts

  2. Under Alert Data select Raw

  3. Under Format, select JSON

  4. Copy this JSON payload into the large field:

You must include the BigPanda app key, which identifies LogicMonitor as the source of the alert. Be sure to replace the app key value with the value you obtained in Step 1.

{
    "app_key": "<YOUR APP KEY from Step 1>",
    "status": "warning",
    "alert_id": "##ALERTID##",
    "alert_type": "##ALERTTYPE##",
    "batchjob": "##BATCHJOB##",
    "check": "##DATAPOINT##",
    "checkpoint": "##CHECKPOINT##",
    "cmdline": "##CMDLINE##",
    "current_collector": "##AGENTID##",
    "current_collector_description": "##AGENT_ID##",
    "datapoint": "##DATAPOINT##",
    "datapoint_description": "##DPDESCRIPTION##",
    "datasource": "##DATASOURCE##",
    "description": "##MESSAGE##",
    "detail": "##DETAIL##",
    "device_url": "##DEVICEURL##",
    "exitcode": "##EXITCODE##",
    "facility": "##FACILITY##",
    "finish": "##FINISH##",
    "host": "##HOST##",
    "instance": "##INSTANCE##",
    "lm_severity_level": "##LEVEL##",
    "message": "##MESSAGE##",
    "service": "##SERVICE##",
    "service_group": "##SERVICEGROUP##",
    "service_url": "##URL##",
    "start": "##START##",
    "startepoch": "##STARTEPOCH##",
    "system_ips": "##SYSTEM.IPS##",
    "system_preferred_collector_description": "##system.prefcollectordesc##",
    "system_preferred_collector_id": "##system.prefcollectorid##",
    "system_sysinfo": "##SYSTEM.SYSINFO##",
    "threshold": "##THRESHOLD##",
    "userdata": "##USERDATA##",
    "value": "##VALUE##"
}
  1. The above steps created a handler for Active alerts to be sent to BigPanda. Now let’s set up a step to send Acknowledgement.

  2. Click the + to add another handler

  3. Select only the Acknowledged checkbox at the top

  4. Follow steps 4 through 7 again. The JSON payload will look exactly like the last one, except the status field must be changed to acknowledged:

{
    "app_key": "<YOUR APP KEY from Step 1>",
    "status": "acknowledged",
    "alert_id": "##ALERTID##",
    "alert_type": "##ALERTTYPE##",
    "batchjob": "##BATCHJOB##",
    "check": "##DATAPOINT##",
    "checkpoint": "##CHECKPOINT##",
    "cmdline": "##CMDLINE##",
    "current_collector": "##AGENTID##",
    "current_collector_description": "##AGENT_ID##",
    "datapoint": "##DATAPOINT##",
    "datapoint_description": "##DPDESCRIPTION##",
    "datasource": "##DATASOURCE##",
    "description": "##MESSAGE##",
    "detail": "##DETAIL##",
    "device_url": "##DEVICEURL##",
    "exitcode": "##EXITCODE##",
    "facility": "##FACILITY##",
    "finish": "##FINISH##",
    "host": "##HOST##",
    "instance": "##INSTANCE##",
    "lm_severity_level": "##LEVEL##",
    "message": "##MESSAGE##",
    "service": "##SERVICE##",
    "service_group": "##SERVICEGROUP##",
    "service_url": "##URL##",
    "start": "##START##",
    "startepoch": "##STARTEPOCH##",
    "system_ips": "##SYSTEM.IPS##",
    "system_preferred_collector_description": "##system.prefcollectordesc##",
    "system_preferred_collector_id": "##system.prefcollectorid##",
    "system_sysinfo": "##SYSTEM.SYSINFO##",
    "threshold": "##THRESHOLD##",
    "userdata": "##USERDATA##",
    "value": "##VALUE##"
}
  1. Click + to add another handler

  2. Select only the Cleared checkbox at the top

  3. Redo steps 4 through 7.

  4. Use the same JSON payload, this time with the status set to ok:

{
    "app_key": "<YOUR APP KEY from Step 1>",
    "status": "ok",
    "alert_id": "##ALERTID##",
    "alert_type": "##ALERTTYPE##",
    "batchjob": "##BATCHJOB##",
    "check": "##DATAPOINT##",
    "checkpoint": "##CHECKPOINT##",
    "cmdline": "##CMDLINE##",
    "current_collector": "##AGENTID##",
    "current_collector_description": "##AGENT_ID##",
    "datapoint": "##DATAPOINT##",
    "datapoint_description": "##DPDESCRIPTION##",
    "datasource": "##DATASOURCE##",
    "description": "##MESSAGE##",
    "detail": "##DETAIL##",
    "device_url": "##DEVICEURL##",
    "exitcode": "##EXITCODE##",
    "facility": "##FACILITY##",
    "finish": "##FINISH##",
    "host": "##HOST##",
    "instance": "##INSTANCE##",
    "lm_severity_level": "##LEVEL##",
    "message": "##MESSAGE##",
    "service": "##SERVICE##",
    "service_group": "##SERVICEGROUP##",
    "service_url": "##URL##",
    "start": "##START##",
    "startepoch": "##STARTEPOCH##",
    "system_ips": "##SYSTEM.IPS##",
    "system_preferred_collector_description": "##system.prefcollectordesc##",
    "system_preferred_collector_id": "##system.prefcollectorid##",
    "system_sysinfo": "##SYSTEM.SYSINFO##",
    "threshold": "##THRESHOLD##",
    "userdata": "##USERDATA##",
    "value": "##VALUE##"
}
  1. Click Save until you get back to the list of integrations.

  2. Click the gear icon to Manage the integration you just created, then click Clone.

  3. Change the name to BigPanda - Critical (this is where you will route Error and Critical alerts from LogicMonitor to BigPanda)

  4. Click the pencil to edit the handler for Active alerts.

  5. Scroll down to the JSON payload, and change the status from warning to critical. The other handlers are fine as they are.

  6. You’re all set! Now go set up some Alert Rules and Escalation Chains to use the new integration and get those alerts sent to BigPanda!

LogicMonitor


LogicMonitor provides on-premise, cloud, and hybrid datacenter monitoring. Build this integration to correlate LogicMonitor alerts into high-level incidents in BigPanda.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.