Splunk® Edge Hub OS

Setup and Configuration Guide

For documentation on other necessary components for Splunk Edge Hub, see the Splunk App for Edge Hub documentation, Splunk Edge Hub mobile app documentation, and Splunk Edge Hub hardware documentation.

Download a configuration file and upload it to another Splunk Edge Hub device

After completing a MQTT, SNMP, OPC-UA, or Modbus configuration, you can download a configuration file to use it with other Splunk Edge Hub devices. Update the configuration file to replace values that are applicable to other Splunk Edge Hub devices.

Downloading and uploading a configuration file means you don't have to repeat the configuration steps again for multiple Splunk Edge Hub devices.

See the following steps, information, and file sample to use configuration files with other Splunk Edge Hub devices.

Download a configuration file

Here's how to download a configuration file:

  1. In the Splunk Edge Hub advanced settings page, navigate to the tab you want to download a configuration file for.
  2. Under Configuration, select Download to the file to a local folder.
  3. Open the downloaded configuration file and make any necessary changes to the values so that it suits your other Splunk Edge Hub device.

Upload a configuration file

Here's how to upload a configuration file to another Splunk Edge Hub device:

  1. In the Splunk Edge Hub advanced settings page, navigate to the tab you want to upload a configuration file for.
  2. Under Configuration, upload the configuration file that you previously downloaded and modified.
  3. Select Upload.
  4. Select Yes to confirm the action.

MQTT configuration file details

The following tables provide MQTT configuration fields, their descriptions, and their sample values.

Configuration information

Field Description Sample values
externalBrokerEnabled Indicates if the external broker is enabled (true) or disabled (false).

true false

topicRules Rules configured for topics on the external broker.

[ TopicRule1, TopicRule2, …] See TopicRule format in following table.

username Username to be used in combination with the password for connecting to the external MQTT broker in the Splunk Edge Hub device. "mqtt_user"
password Password to be used in combination with the username for connecting to the external MQTT broker in the Splunk Edge Hub device. "mqtt_password"
certfile Path to the certificate file for TLS (Transport Layer Security). "/etc/splunk/splunkiotpuck/ca_certs/user_ext_mqtt_certifile.key"
keyfile Path to the key file for TLS. "/etc/splunk/splunkiotpuck/ca_certs/user_ext_mqtt_keyfile.pem"


TopicRule

Field Description Sample values
topicName Specifies the topic where these attributes will be applied. "external/al1350/vibration"
sensorId Unique sensor identifier created for this rule. "6a19dd4a-f23c-5c52-9090-e7deb3b3f25f"
sensorType Describes the 'sensor_type' dimension in Splunk metrics for effective filtering. "ext_ifm_vibration"
description Flexible field for additional notes or relevant information. "IFM Vibration Sensor VVB001"
metricRules Rules for transforming incoming messages to this topic.

[ MetricRule1, MetricRule2, …] See MetricRule format in the following table.

timestamp Rules for transforming timestamp-related fields. TopicTimestampRule
dimensionRules Rules for transforming dimensions in incoming messages. [ DimensionRule1, DimensionRule2, …]

MetricRule

Field Description Sample values
metricName Name assigned to the generated metric. "ext_crest"
unit Unit of measurement for the generated metric. "m/s"
value Rule transforming incoming messages to produce an int/float for the metric's value. "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 32, 4)),'0') * 0.1"
metricID Unique identifier associated with the metric rule. "e8a616f9-eb21-53e0-a2ea-8272ddb090e4"

TopicTimestampRule

Field Description Sample values
seconds Rule applied to transform the seconds level of a timestamp in incoming messages. "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 8, 4)),'0') * 1234560"
nanos Rule applied to transform the nanos level of a timestamp in incoming messages. "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 8, 4)),'0') * 1234560 *10000"

DimensionRule

Field Description Sample values
dimension_key Key identifier for the dimension. "ext_crest_as_dimension"
dimension_value Rule transforming incoming messages to produce a string value sent to the Splunk platform. "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 32, 4)),'0') * 0.1"
dimension_id Unique identifier associated with the dimension rule. "995a0ed9-8116-5d57-91c7-800a4e6671c3"

MQTT sample configuration file

The following is a sample MQTT configuration file:

// 
{
  "externalBrokerEnabled": true,
  "topicRules": [
    {
      "topicName": "external/al1350/vibration",
      "sensorId": "6a19dd4a-f23c-5c52-9090-e7deb3b3f25f",
      "sensorType": "ext_ifm_vibration",
      "description": "IFM Vibration Sensor VVB001",
      "metricRules": [
        {
          "metricName": "ext_crest",
          "unit": "m/s",
          "value":  "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 32, 4)),'0') * 0.1",
          "metricId": "e8a616f9-eb21-53e0-a2ea-8272ddb090e4"
        }
      ],
      "timestamp": {
        "seconds": "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 8, 4)),'0') * 1234560",
        "nanos": "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 8, 4)),'0') * 1234560 * 10000"
      },
      "dimensionRules": [
        {
          "dimensionKey": "ext_crest_as_dimension",
          "dimensionValue": "$parseInteger($string('0x'&$substring(data.payload.'/iolinkmaster/port[1]/iolinkdevice/pdin'.data, 32, 4)),'0') * 0.1",
          "dimensionId": "995a0ed9-8116-5d57-91c7-800a4e6671c3"
        }
      ]
    }
  ],
  "username": "mqtt_user",
  "password": "mqtt_password",
  "certifile": "etc/splunk/splunkiotpuck/ca_certs/user_ext_mqtt_certifile.key",
  "keyfile": "etc/splunk/splunkiotpuck/ca_certs/user_ext_mqtt_keyfile.pem",
}

SNMP configuration file details

The following tables provide SNMP configuration fields, their descriptions, and their sample values.

Configuration information

Field Description Sample values
default Default values used when attributes of the deviceSetting are not explicitly defined. See DefaultSetting in the following table.
deviceSettings Communication settings between the SNMP manager and the target device. [ DeviceSetting1, DeviceSetting2, DeviceSetting3, … ]

See DeviceSetting in the following table.

DefaultSettings

Field Description Sample values
credentials Default community string used for SNMP communication. "public"
port Default port number used for SNMP communication. 161
sources Default URLs to accessing SNMP MIB files.

[ "http://mibs.thola.io/asn1/", "http://www.circitor.fr/Mibs/Mibs.php" ]

DeviceSettings

Field Description Sample values
ipAddress IP address of the SNMP device. "192.168.4.39"
port Port number on which SNMP agents listen for incoming SNMP requests. 161
snmpVersion Version of SNMP used for communication. Currently only SNMPv1 and SNMPv2c are supported. "SNMPv1"
metrics Symbolic Names for metrics that can be monitored or managed on the network device. "SNMPv2-MIB::sysDescr", "SNMPv2-MIB::sysObjectID", "SNMPv2-MIB::sysUpTime",
credentials Community strings serving as authentication in SNMP, controlling access to SNMP-enabled devices. "public"

SNMP sample configuration file

The following is a sample SNMP configuration file:

"default": {
    "credentials": "public",
    "port": 161,
    "sources": [
      "http://mibs.thola.io/asn1/",
      "http://www.circitor.fr/Mibs/Mibs.php"
    ]
  },
  "deviceSettings": [
    {
      "ipAddress": "192.168.4.39",
      "port": 161,
      "snmpVersion": "SNMPv1",
      "metrics": [
        "SNMPv2-MIB::sysDescr",
        "SNMPv2-MIB::sysObjectID",
        "SNMPv2-MIB::sysUpTime"
      ],
      "credentials": "public"
    }
  ]
}

Modbus configuration file details

The following tables provide Modbus configuration fields, their descriptions, and their sample values.

Configuration information

Field Description Sample values
servers A list of ModbusServer configurations, each specifying settings for communication with Modbus servers. [ ModbusServer1, ModbusServer2, ModbusServer3, … ]

See ModbusServer format in the following table.

ModbusServer

Field Description Sample values
id Modbus device identifier. "55a8898f-7971-45fd-a5bd-132ccce22175"
deviceName User-defined device name. "erbessd 189303146 x"
captureHostname IP address of the connected device. "192.168.189.223"
destPort Port of the connected device. 502
startingAddress Starting point of the source address of the client. 1
endingAddress End point of the source address of the client. 10
pollingInterval Systemd timers for periodic service execution. 10
unitIdentifier Data type and size used to decode the message. "FLOAT_32BIT"

Modbus sample configuration file

The following is a sample Modbus configuration file:

"servers": [
    {
      "id": "55a8898f-7971-45fd-a5bd-132ccce22175",
      "deviceName": "erbessd 189303146 x",
      "captureHostname": "192.168.189.223",
      "destPort": 502,
      "endingAddress": 1,
      "pollingInterval": 10,
      "unitIdentifier": "FLOAT_ 32BIT"
    }
  ]
}

OPC configuration file details

The following tables provide OPC configuration fields, their descriptions, and their sample values.

Configuration information

Field Description Sample values
servers A list of MonitorServerSchema configurations, each specifying settings for communication with OPC servers. {MonitorServerSchema1, MonitorServerSchema2, MonitorServerSchema3, …}

See Monitor ServerSchema below.

MoniterServerSchema

Field Description Sample values
serverId User-defined server name set up through advanced configuration for OPC server communication. "opcua_server"

MonitorApiServerSchema

Field Description Sample values
uri URI of the connecting server for OPC communication. opc.tcp://192.168.68.51:53530/test/SimulationServer"
pollingIntervalMs Duration for pushing data to the Splunk platform. 1000
tags A list of MonitorTag configurations, specifying settings for monitoring tags in the OPC server.

[MonitorTag1, MonitorTag2, MonitorTag3, … ] See MonitorTag in the following table.

splunkIndexName The name of the index where the user designates data to be pushed in the Splunk platform. "index"
securityOptions OPC security configuration options for enhanced communication security.

OpcSecurityOptions See OpcSecurityOptions in the following table.

MonitorTag

Field Description Sample values
id Identification of the OPC tag. "i=2254"
alias Alias name for the OPC tag. "ServerArray"

OpcSecurityOption

Field Description Sample values
credentialAuthentication Username and password for authentication to connect to the OPC server.

{

 "userName": "opc_user",
 "password": "opc_password"

}

securitySettings Security modes and security policy settings for communication with the OPC server.

{

 "opcSecurityMode": 1,
 "opcSecurityAlgorithm": 2

}

See values for opcSecurityMode and opcSecurityAlgorithm below.


opcSecurityMode

Field Value
0 Invalid
1 None
2 Sign
3 SignAndEncrypt

opcSecurityAlgorithm

Field Value
0 Auto
1 Custom
2 None
3 Basic128Rsa15
4 Basic256
5 Basic256Sha256
6 Https

OPC sample configuration file

The following is a sample OPC configuration file:

{
  "servers": {
    "opcua_server": {
      "uri": "opc.tcp://192.168.68.51:53530/test/SimulationServer",
      "pollingIntervalMs": 1000,
      "tags": [
        {
          "id": "i=2254",
          "alias": "ServerArray"
        }
      ],
      "splunkIndexName": "index",
      "securityOptions": {
        "credentialAuthentication":{
             "userName": "opc_user"
             "Password": "opc_password"
           },
        "securitySettings": {
          "opcSecurityMode": 1,
          "opcSecurityAlgorithm": 2
        }
      }
    }
  }
}
Last modified on 18 January, 2024
Configure router passthrough for Splunk Edge Hub OS   Use Docker containers with Splunk Edge Hub OS

This documentation applies to the following versions of Splunk® Edge Hub OS: 1.7.0, 1.8.0, 1.8.1, 1.9.0, 2.0.0


Was this topic useful?







You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters