Skip to main content
Skip table of contents

LibreNMS

LAST UPDATED: 09/17/2024

Overview

LibreNMS is an open-source network monitoring and management platform used to monitor the health, performance, and availability of various network devices, services, and infrastructure components within an organization's network.

D3 SOAR is providing REST operations to function with LibreNMS.

LibreNMS is available for use in:

D3 SOAR

V16.8+

Category

IT and Infrastructure

Deployment Options

Option I, Option III

Connection

To connect to LibreNMS from D3 SOAR, please follow this part to collect the required information below:

Parameter

Description

Example

Server URL

The API server URL for the LibreNMS instance at the domain level.

http://***.***.***.***/overview

API Version

The version of the LibreNMS API.

v0

API Token

The API Token obtained from the LibreNMS web interface for authentication.

*****

Configuring LibreNMS to Work with D3 SOAR

API Tokens can be created directly from within the LibreNMS web interface.

  1. Login to the LibreNMS web interface.

  2. Navigate to Settings > API > API Settings.

  3. Click on the Create API access token button.

  4. Choose the user for whom you wish to generate the token.

  5. (Optional) Enter a description.

  6. Click on the Create API Token button.

Configuring D3 SOAR to Work with LibreNMS

  1. Log in to D3 SOAR.

  2. Find the LibreNMS integration.

    1. Navigate to Configuration on the top header menu.

    2. Click on the Integration icon on the left sidebar.

    3. Type LibreNMS in the search box to find the integration, then click it to select it.

    4. Click + Connection, on the right side of the Connections section. A new connection window will appear.

  3. Configure the following fields to create a connection to LibreNMS.

    1. Connection Name: The desired name for the connection.

    2. Site: Specifies the site to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all sites defined as internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.

    3. Recipient site for events from connections Shared to Internal Sites: This field appears if you selected Share to Internal Sites for Site to let you select the internal site to deploy the integration connection.

    4. Agent Name (Optional): Specifies the proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.

    5. Description (Optional): Add your desired description for the connection.

    6. Tenant (Optional): When configuring the connection from a master tenant site, you have the option to choose the specific tenant sites you want to share the connection with. Once you enable this setting, you can filter and select the desired tenant sites from the dropdowns to share the connection.

    7. Configure User Permissions: Defines which users have access to the connection.

    8. Active: Check the checkbox to ensure the connection is available for use.

    9. System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection.
      1. Input the Server URL.
      2. Copy the API Token from the LibreNMS platform.
      3. Input the API Version. The default value is v0.

    10. Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Please refer to the password vault connection guide if needed.

    11. Connection Health Check: Updates the connection status you have created. A connection health check is done by scheduling the Test Connection command of this integration. This can only be done when the connection is active.
      To set up a connection health check, check the Connection Health Check tick box. You can customize the interval (minutes) for scheduling the health check. An email notification can be set up after a specified number of failed connection attempts.

  4. Test the connection.

    1. Click Test Connection to verify the account credentials and network connection. If the Test Connection Passed alert window appears, the test connection is successful. You will see Passed with a green check mark appear beside the Test Connection button. If the test connection fails, please check your connection parameters and try again.

    2. Click OK to close the alert window.

    3. Click + Add to create and add the configured connection.

Commands

LibreNMS includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command, you can execute these commands independently for playbook troubleshooting.

Integration API Note

For more information about the LibreNMS API, please refer to the LibreNMS API reference.

Note for Time-related parameters

The input format of time-related parameters may vary based on your account settings. As a result, the sample data provided in our commands is different from what you see. To set your preferred time format, follow these steps:

Navigate to Configuration > Application Settings. Select Date/Time Format.

Choose your desired date and time format.

After that, you will be able to view your preferred time format when configuring the DateTime input parameters for commands.

Acknowledge Alerts

Acknowledges the specified alert(s) by alert ID(s).

READER NOTE

Alert IDs is a required parameter to run this command.

  • Run the List Alerts command to obtain the Alert IDs. Alert IDs can be found in the raw data at the path $.alerts[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Alert IDs

Required

The IDs of the alerts to acknowledge. Alert IDs can be obtained using the List Alerts command.

[ 1 ]

Note

Optional

The note to add to the alert(s).

Note for Ack

Until Clear

Optional

If set to True, the alerts are acknowledged until they are cleared. If set to False, the alerts will trigger again if they worsen or improve.The default value is True.

False

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "Results": [
        {
            "AlertID": *****,
            "status": "ok",
            "message": "Alert has been acknowledged"
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "AlertIDs": [*****],
  "Messages": [ "Alert has been acknowledged" ]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

{'AlertID': *****, 'status': 'ok', 'message': 'Alert has been acknowledged'}

Error Handling

If the Return Data displays Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Acknowledge Alerts failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Bad Request.

Error Sample Data

Acknowledge Alerts failed.

Status Code: 400.

Message: Bad Request.

Get Alerts

Retrieves the details of the specified alert(s) using the provided alert ID(s).

READER NOTE

Alert IDs is a required parameter to run this command.

  • Run the List Alerts command to obtain the Alert IDs. Alert IDs can be found in the raw data at the path $.alerts[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Alert IDs

Required

An array of IDs, each corresponding to an alert for which details are to be retrieved. Alert IDs can be obtained using the List Alerts command.

[ 1 ]

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "Results": [
        {
            "status": "ok",
            "alerts": [
                {
                    "hostname": "*****",
                    "id": *****,
                    "device_id": *****,
                    "rule_id": *****,
                    "state": 0,
                    "alerted": 0,
                    "open": 0,
                    "note": "",
                    "timestamp": "2024-05-14 14:50:03",
                    "info": "{\"until_clear\":false}",
                    "severity": "critical"
                }
            ],
            "count": 1
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "AlertIDs": [*****],
  "AlertStates": [1]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

{'status': 'ok', 'alerts': [{'hostname': '*****', 'id': *****, 'device_id': *****, 'rule_id': *****, 'state': 0, 'alerted': 0, 'open': 0, 'note': '', 'timestamp': '2024-05-14 14:50:03', 'info': '{"until_clear":false}', 'severity': 'critical'}], 'count': 1}

Error Handling

If the Return Data displays Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get Alerts failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Bad Request.

Error Sample Data

Get Alerts failed.

Status Code: 400.

Message: Bad Request.

Get Device Inventory

Retrieves the flattened inventory for the specified device(s), including all inventory items regardless of their hierarchical structure. This is particularly useful for devices with nested components.

READER NOTE

Device Names is a required parameter to run this command.

  • Run the List Devices command to obtain the Device Names. Device Names can be found in the raw data at the path $.devices[*].hostname.

Input

Input Parameter

Required/Optional

Description

Example

Device Names

Required

The device host names or device IDs used to retrieve inventory. Device Names can be obtained using the List Devices command.

[ "hostname1" ]

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "Results": [
        {
            "DeviceName": "hostname1",
            "status": "ok",
            "message": "",
            "count": 1,
            "inventory": [
                {
                    "entPhysical_id": "*****",
                    "device_id": "*****",
                    "entPhysicalIndex": "262145",
                    "entPhysicalDescr": "Linux 3.3.5 ehci_hcd RB400 EHCI",
                    "entPhysicalClass": "unknown",
                    "entPhysicalName": "1:1",
                    "entPhysicalHardwareRev": "",
                    "entPhysicalFirmwareRev": "",
                    "entPhysicalSoftwareRev": "",
                    "entPhysicalAlias": "",
                    "entPhysicalAssetID": "",
                    "entPhysicalIsFRU": "false",
                    "entPhysicalModelName": "0x0002",
                    "entPhysicalVendorType": "zeroDotZero",
                    "entPhysicalSerialNum": "rb400_usb",
                    "entPhysicalContainedIn": "65536",
                    "entPhysicalParentRelPos": "-1",
                    "entPhysicalMfgName": "0x1d6b",
                    "ifIndex": "0"
                }
            ]
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "DeviceNames": ["hostname1"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

{'DeviceName': 'hostname1', 'status': 'ok', 'message': '', 'count': 1, 'inventory': [{'entPhysical_id': '*****', 'device_id': '*****', 'entPhysicalIndex': '262145', 'entPhysicalDescr': 'Linux 3.3.5 ehci_hcd RB400 EHCI', 'entPhysicalClass': 'unknown', 'entPhysicalName': '1:1', 'entPhysicalHardwareRev': '', 'entPhysicalFirmwareRev': '', 'entPhysicalSoftwareRev': '', 'entPhysicalAlias': '', 'entPhysicalAssetID': '', 'entPhysicalIsFRU': 'false', 'entPhysicalModelName': '0x0002', 'entPhysicalVendorType': 'zeroDotZero', 'entPhysicalSerialNum': 'rb400_usb', 'entPhysicalContainedIn': '65536', 'entPhysicalParentRelPos': '-1', 'entPhysicalMfgName': '0x1d6b', 'ifIndex': '0'}]}

Error Handling

If the Return Data displays Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get Device Inventory failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Bad Request.

Error Sample Data

Get Device Inventory failed.

Status Code: 400.

Message: Bad Request.

List Alert Rules

Retrieves all alert rules.

Input

N/A

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "ok",
    "count": 1,
    "rules": {
        "id": *****,
        "rule": "",
        "severity": "critical",
        "extra": "{\"mute\":false,\"count\":-1,\"delay\":300,\"invert\":false,\"interval\":300}",
        "disabled": 0,
        "name": "Device Down! Due to no ICMP response.",
        "query": "SELECT * FROM devices WHERE (devices.device_id = ?) AND (devices.status = 0 && (devices.disabled = 0 && devices.ignore = 0)) = 1 AND devices.status_reason = \"icmp\"",
        "builder": "{\"condition\":\"AND\",\"rules\":[{\"id\":\"macros.device_down\",\"field\":\"macros.device_down\",\"type\":\"integer\",\"input\":\"radio\",\"operator\":\"equal\",\"value\":\"1\"},{\"id\":\"devices.status_reason\",\"field\":\"devices.status_reason\",\"type\":\"string\",\"input\":\"text\",\"operator\":\"equal\",\"value\":\"icmp\"}],\"valid\":true}",
        "proc": null,
        "invert_map": 0,
        "notes": null,
        "devices": [],
        "groups": [],
        "locations": []
    }
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "RuleIDs": [1],
  "RuleNames": [ "A test rule" ]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

ok

count

1

rules

{'id': *****, 'rule': '', 'severity': 'critical', 'extra': '{"mute":false,"count":-1,"delay":300,"invert":false,"interval":300}', 'disabled': 0, 'name': 'Device Down! Due to no ICMP response.', 'query': 'SELECT * FROM devices WHERE (devices.device_id = ?) AND (devices.status = 0 && (devices.disabled = 0 && devices.ignore = 0)) = 1 AND devices.status_reason = "icmp"', 'builder': '{"condition":"AND","rules":[{"id":"*****","field":"macros.device_down","type":"integer","input":"radio","operator":"equal","value":"1"},{"id":"*****","field":"devices.status_reason","type":"string","input":"text","operator":"equal","value":"icmp"}],"valid":true}', 'proc': None, 'invert_map': 0, 'notes': None, 'devices': [], 'groups': [], 'locations': []}

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Alert Rules failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server URL is not valid in format.

Error Sample Data

List Alert Rules failed.

Status Code: 400.

Message: Server URL is not valid in format.

List Alerts

Retrieves all alerts that match the search criteria. The returned alerts are sorted by timestamp in descending order.

READER NOTE

Alert Rule is a required parameter to run this command.

  • Run the List Alert Rules command to obtain the Alert Rule. Alert Rules can be found in the raw data at the path $.rules[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Alert State

Optional

Filters the alerts by state. The options are:

  • 0 - Ok

  • 1 - Alert

  • 2 - Acknowledge

By default, alerts in all states will be returned.

Alert

Severity

Optional

Filters the alerts by severity. The options are:

  • Ok

  • Warning

  • Critical

By default, alerts in all severities will be returned.

Critical

Alert Rule

Optional

Filters the alerts by alert rule ID. By default, alerts triggered by any rule ID will be returned. Alert Rule can be obtained using the List Alert Rules command.

49

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "ok",
    "count": 1,
    "alerts": [
        {
            "hostname": "*****",
            "id": *****,
            "device_id": *****,
            "rule_id": *****,
            "state": 0,
            "alerted": 0,
            "open": 0,
            "note": "",
            "timestamp": "2024-05-14 14:50:03",
            "info": "{\"until_clear\":false}",
            "severity": "critical"
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "AlertIDs": [*****],
  "AlertStates": [1]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

ok

count

1

alerts

{'hostname': '*****', 'id': *****, 'device_id': *****, 'rule_id': *****, 'state': 0, 'alerted': 0, 'open': 0, 'note': '', 'timestamp': '2024-05-14 14:50:03', 'info': '{"until_clear":false}', 'severity': 'critical'}

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Alerts failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server URL is not valid in format.

Error Sample Data

List Alerts failed.

Status Code: 400.

Message: Server URL is not valid in format.

List Devices

Retrieves a list of devices matching search criteria. The returned devices are sorted by Host Name in alphabetical order.

Input

Input Parameter

Required/Optional

Description

Example

Type

Optional

Filters the devices by type. By default, the value is All.

Search By Host Name

Search Value

Optional

The value of a device field to filter by when a specific Search By option was selected in the Type parameter. For instance, if Search By IPv4 was selected, enter the IPv4 address of the device being queried.

***.***.***.***

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "ok",
    "devices": [
        {
            "device_id": *****,
            "inserted": "2024-04-29 17:44:52",
            "hostname": "***.***.***.***",
            "sysName": "***.***.***.***",
            "display": null,
            "ip": "***.***.***.***",
            "overwrite_ip": null,
            "community": null,
            "authlevel": null,
            "authname": null,
            "authpass": null,
            "authalgo": null,
            "cryptopass": null,
            "cryptoalgo": null,
            "snmpver": "v2c",
            "port": 161,
            "transport": "udp",
            "timeout": null,
            "retries": null,
            "snmp_disable": 1,
            "bgpLocalAs": null,
            "sysObjectID": null,
            "sysDescr": null,
            "sysContact": null,
            "version": null,
            "hardware": "",
            "features": null,
            "location_id": null,
            "os": "ping",
            "status": 1,
            "status_reason": "",
            "ignore": 0,
            "disabled": 0,
            "uptime": null,
            "agent_uptime": 0,
            "last_polled": "2024-04-30 15:10:03",
            "last_poll_attempted": null,
            "last_polled_timetaken": 1.0808491706848,
            "last_discovered_timetaken": 0,
            "last_discovered": "2024-04-30 12:33:02",
            "last_ping": "2024-04-30 15:10:03",
            "last_ping_timetaken": 1.21,
            "purpose": null,
            "type": "",
            "serial": null,
            "icon": null,
            "poller_group": 0,
            "override_sysLocation": 0,
            "notes": null,
            "port_association_mode": 1,
            "max_depth": 2,
            "disable_notify": 0,
            "ignore_status": 0,
            "dependency_parent_id": "1",
            "dependency_parent_hostname": "*****",
            "location": null,
            "lat": null,
            "lng": null
        }
    ],
    "count": 1
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "DeviceIDs": [*****],
  "HostNames": ["***.***.***.***"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

ok

devices

{'device_id': *****, 'inserted': '2024-04-29 17:44:52', 'hostname': '***.***.***.***', 'sysName': '***.***.***.***', 'display': None, 'ip': '***.***.***.***', 'overwrite_ip': None, 'community': None, 'authlevel': None, 'authname': None, 'authpass': None, 'authalgo': None, 'cryptopass': None, 'cryptoalgo': None, 'snmpver': 'v2c', 'port': 161, 'transport': 'udp', 'timeout': None, 'retries': None, 'snmp_disable': 1, 'bgpLocalAs': None, 'sysObjectID': None, 'sysDescr': None, 'sysContact': None, 'version': None, 'hardware': '', 'features': None, 'location_id': None, 'os': 'ping', 'status': 1, 'status_reason': '', 'ignore': 0, 'disabled': 0, 'uptime': None, 'agent_uptime': 0, 'last_polled': '2024-04-30 15:10:03', 'last_poll_attempted': None, 'last_polled_timetaken': 1.0808491706848, 'last_discovered_timetaken': 0, 'last_discovered': '2024-04-30 12:33:02', 'last_ping': '2024-04-30 15:10:03', 'last_ping_timetaken': 1.21, 'purpose': None, 'type': '', 'serial': None, 'icon': None, 'poller_group': 0, 'override_sysLocation': 0, 'notes': None, 'port_association_mode': 1, 'max_depth': 2, 'disable_notify': 0, 'ignore_status': 0, 'dependency_parent_id': '1', 'dependency_parent_hostname': '*****', 'location': None, 'lat': None, 'lng': None}

count

1

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Devices failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Bad Request.

Error Sample Data

List Devices failed.

Status Code: 400.

Message: Bad Request.

List Locations

Retrieves the list of locations.

Input

N/A

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "ok",
    "locations": [
        {
            "id": *****,
            "location": "Somewhere",
            "lat": 37.422004,
            "lng": -122.086246,
            "timestamp": "2024-04-30 14:58:12",
            "fixed_coordinates": 1
        }
    ],
    "count": 1
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "LocationIDs": [*****],
  "LocationNames": ["Somewhere"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

CODE
No Sample Data

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Locations failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server URL is not valid in format.

Error Sample Data

List Locations failed.

Status Code: 400.

Message: Server URL is not valid in format.

List Logs

Retrieves all logs or logs for a specific device. The log items are sorted by log time in descending order.

READER NOTE

Device Name is a required parameter to run this command.

  • Run the List Devices command to obtain the Device Name. Device Names can be found in the raw data at the paths $.devices[*].hostname or $.devices[*].device_id.

Input

Input Parameter

Required/Optional

Description

Example

Log Type

Required

The type log to retrieve. The options are:

Event Log

  • Syslog

  • Alert Log

  • Auth Log

Event Log

Device Name

Optional

The device host name(s) or device ID(s) used to retrieve logs. Device Name can be obtained using the List Devices command. By default, all logs will be returned. This parameter is not applicable to Auth Log.

hostname1

Start Time

Optional

The starting date and time for the search (in UTC).

2024-04-29 17:44:00

End Time

Optional

The ending date and time for the search (in UTC).

2024-04-29 17:45:00

Limit

Optional

The limit on the number of results to be returned, which must be between 1 and 1000. By default, all logs matching the search criteria will be returned.

3

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "ok",
    "logs": [
        {
            "hostname": "*****",
            "sysName": "*****",
            "host": 1,
            "event_id": 3,
            "device_id": *****,
            "datetime": "2024-04-29 22:15:04",
            "message": "IP: ***.***.***.***",
            "type": "system",
            "reference": null,
            "username": "",
            "severity": 3
        }
    ],
    "total": 6
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

ok

logs

{'hostname': '*****', 'sysName': '*****', 'host': 1, 'event_id': *****, 'device_id': *****, 'datetime': '2024-04-29 22:15:04', 'message': 'IP: ***.***.***.***', 'type': 'system', 'reference': None, 'username': '', 'severity': 3}

total

6

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Logs failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Start Time or End Time parameter(s) not valid, End Time cannot be earlier than Start Time.

Error Sample Data

List Logs failed.

Status Code: 400.

Message: Start Time or End Time parameter(s) not valid, End Time cannot be earlier than Start Time.

Unmutes Alerts

Unmutes the specified alert(s) by alert ID(s).

READER NOTE

Alert IDs is a required parameter to run this command.

  • Run the List Alerts command to obtain the Alert IDs. Alert IDs can be found in the raw data at the path $.alerts[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Alert IDs

Required

The ID(s) of the alert(s) to unmute. Alert ID can be obtained using the List Alerts command.

[ 1 ]

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "Results": [
        {
            "AlertID": *****,
            "status": "ok",
            "message": "Alert has been unmuted"
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "AlertIDs": [*****],
  "Messages": [ "Alert has been unmuted" ]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

{'AlertID': *****, 'status': 'ok', 'message': 'Alert has been unmuted'}

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Unmutes Alerts failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server URL is not valid in format.

Error Sample Data

Unmutes Alerts failed.

Status Code: 400.

Message: Server URL is not valid in format.

Test Connection

Allows you to perform a health check on an integration connection. You can schedule a periodic health check by selecting Connection Health Check when editing an integration connection.

Input

N/A

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Test Connection failed. Failed to check the connector.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the LibreNMS portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server URL is not valid in format.

Error Sample Data

Test Connection failed. Failed to check the connector.

Status Code: 400.

Message: Server URL is not valid in format.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.