Entuity

Send monitoring events from Entuity to BigPanda.

Supported Versions:Type:Authentication Type:
v19 to v21WebhookBearer token

Entuity is a server management software designed to help businesses specify parameters to automatically discover networks. Entuity enables NetOps teams to more efficiently and effectively monitor, visualize, and manage their networks. Use the integration to forward events from Entuity to BigPanda.

👍

Open Integration Manager

The Open Integration Manager is available for use with Entuity. For more information, see the Open Integration Manager documentation.

️Payload Size

Alert payloads must be 6MB or smaller. Larger payloads will fail to process with BigPanda. We recommend reviewing your configurations to ensure that only actionable, useful information is being sent to BigPanda.

Install the Integration

Create an Entuity action to send events to BigPanda

  1. From the Main Menu, click Administration.
  2. On the Administration page, click Events Administration, and then from the Events Administration page, click the Actions tab.
  3. At the bottom of the page, click Add to open the Add Action window.
  4. Enter a name and description for the action.
  5. Next to Action Steps, click the Add button and select Groovy Script from the type dropdown.
  6. Paste the script below into the Script field.
  7. Click OK to save the script, and then click OK to save the action.

def getEventOrIncidentPrefix = {
    return (incident ? "i" : "e")
}

def constructUrl = { sourceDescriptor ->
    def url = "";

    def classicType = sourceDescriptor?.classicType
    def OBJ_TYPE_SYSTEM = com.entuity.events.event.ObjType.OBJ_TYPE_SYSTEM.toInt()
    def OBJ_TYPE_VIEW = com.entuity.events.event.ObjType.OBJ_TYPE_VIEW.toInt()

    if(classicType != OBJ_TYPE_VIEW) {

        def proto = getConfigProperty("server.ssl_enabled") == "true" ? "https" : "http"
        def swId = sourceDescriptor.swId;

        if (swId != null) {
            url = "${proto}://"

            def consolidationServerName = getConfigProperty("consolidation_server_name")
            def consolidationServerWebPort = getConfigProperty("consolidation_server_web_port")

            if (consolidationServerName) {
                if (consolidationServerWebPort) {
                    url += "${consolidationServerName}:${consolidationServerWebPort}"
                } else {
                    url += consolidationServerName
                }
            } else {
                url += shortHostname
            }
            if (classicType != OBJ_TYPE_SYSTEM) {
                url += "/webUI/main.do?url=/webUI/objectSummary.do%3Fserver%3D${sourceDescriptor?.eyeServerId}%26id%3D${swId}"
            } else {
                url += "/webUI/main.do?url=/webUI/viewEvents.do%3Fserver%3D${sourceDescriptor?.eyeServerId}%26view%3DMy%20Network"
            }
        }
    }
    return url.toString()
}

def sendRequest = { data ->
    logger.info("Forwarding event data to Big Panda");
    logger.info("Data to be sent: " + data);
    
    def urlString = "`https://integrations.bigpanda.io/entuity/alerts?access_token=<Your Org Bearer Token>&app_key=<Your App Key>`"
    
    def url = new URL(urlString);
    def connection = url.openConnection();
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.doOutput = true;

    def writer = new OutputStreamWriter(connection.outputStream);
    writer.write(data);
    writer.flush();
    writer.close();
    connection.connect();
    logger.info("Forward to Big Panda response code: " + connection.getResponseCode());
}

def sourceDescriptor = sourceDescriptor
sourceDescriptor.enrich(facilities)

def data = [
    incidentClosed   : (incident && !stateOpen) ? true : false,
    entuity_url      : constructUrl(sourceDescriptor),
    id               : getEventOrIncidentPrefix() + id,
]

def allowedTypesArray = ["Long", "Short", "UUID", "EmptyList", "List", "String", "Integer", "NullObject", "Boolean"]
Map<?, ?> adapteeProperties = this.adaptee.properties
Map<?, ?> sourceDescriptorProperties = this.adaptee.sourceDescriptor.properties
Map<?, ?> actorProperties = this.adaptee.actor.properties

adapteeProperties.each {
  def thisClass = it.value.getClass().getSimpleName()
  if (allowedTypesArray.contains(thisClass )) {
    data["incident_" + it.key] = it.value
  }
}

sourceDescriptorProperties.each {
  def thisClass = it.value.getClass().getSimpleName()
  if (allowedTypesArray.contains(thisClass )) {
    data["sourceDescriptor_" + it.key] = it.value
  }
}

actorProperties.each {
  def thisClass = it.value.getClass().getSimpleName()
  if (allowedTypesArray.contains(thisClass )) {
    data["actor_" + it.key] = it.value
  }
}

def jsonBody = groovy.json.JsonOutput.toJson(data);
sendRequest(jsonBody);

Set up an event trigger

  1. From the Main Menu, click Administration.

  2. On the Administration page, click Events Administration, and then from the Events Administration page, click the Incidents tab.

  3. At the bottom of the page, click Edit Global Triggers. In the new window, click Add to create a new trigger.

  4. Enter the following options into the Create Trigger window:

    • Name: Forward incident to BigPanda
    • Description: Trigger to forward incidents to BigPanda
    • On transition to: Any Change
    • Condition: None
    • Delay: None
    • Condition: None
  5. Next to Action Steps, click the Add button. In the type dropdown, select the action created in the first part of these instructions and click OK.

  6. Click the enabled checkbox to ensure the trigger is active, and click OK to save the trigger.

  7. Save and deploy the Event Project.

The BigPanda integration is now installed and all of your Entuity incidents will be automatically sent to BigPanda!

Delete the Integration

Deleting an integration requires that you remove the integration in both the integrated system and BigPanda. We recommend that you first uninstall the integration on the integrated system to prevent traffic from being sent and rejected by BigPanda, since the app key will not exist once you delete the integration in BigPanda.

❗️

Caution During Replacement

When replacing an existing integration with a new tool or system, we recommend configuring the new integration first to ensure no data is lost.

Deactivate Inbound Integration

If you want to stop sending data to BigPanda but don’t want to delete your integration, you can temporarily deactivate it.

This feature is currently only available for inbound integrations.

To deactivate an inbound integration:

  1. In BigPanda, navigate to the Integrations tab and select the desired integration from the list. This will open integration details on the right side of the window.
  2. At the top of the integration details, click the Active/Inactive toggle next to the application name to change the status of the integration.

In the integrations list, inactive integrations will be marked with a gray bar.

Stop Sending Data to BigPanda

Within the integrated system, disable any settings that send data to BigPanda.

Each system requires specific changes to disable the integration with BigPanda. For example, you must delete the topic in CloudWatch, and you must disable the alert channel in New Relic. To determine the changes for your integrated system, reference the relevant documentation or contact BigPanda support.

Delete the Integration in BigPanda

Take the following steps to delete the integration from BigPanda:

  1. In BigPanda, navigate to the Integrations tab and select the desired integration from the list.
  2. In the integration details on the right of the page, click the trash icon, then confirm you want to delete the integration. The integration will be removed immediately.

👍

️Automatic Alert Resolution for Deleted Integrations

All active alerts from the integration will be resolved after deletion.

❗️

Data Removal

This procedure does not remove any data from the integrated system.