SNMP - anodot/daria GitHub Wiki

Source file config

Property Type Description
type String Specify source type. Value - snmp
name String Unique source name - also the config filename
config Object Source configuration

All properties are required

config object properties:

Property Type Required Description
hosts Array Yes List of SNMP device URLs (default PORT is 161). The number of hosts for a single source shouldn't be more than 10
read_community String Yes SNMP read community
query_timeout Integer No Timeout value for SNMP query

Example

[
  {
    "type": "snmp",
    "name": "snmp",
    "config": {
      "hosts": ["http://somehost:161"],
      "read_community": "public",
      "query_timeout": 30
    }
  }
]

Pipeline File config

Properties list

Property Required Value type Description
source yes String Source config name
pipeline_id yes String Unique pipeline identifier (use a human-readable name so you could easily use it further)
interval yes Integer How often to query data, unit - seconds
dimension_value_paths yes Object Key-value pairs of OIDs with dimension names that will be used as dimensions (dimension_name:oid)
oid_table no Object Properties to process OIDs defined inside SNMP tables
values yes Object Key-value pairs (target_type). A target type represents how samples of the same metric are aggregated in Anodot. Valid values are gauge (average aggregation), counter (sum aggregation), running_counter (will calculate the difference between the last value and current value)
units no Object Key-value pairs (value:unit). The value must be from the values column, units can be any.
measurement_names yes Object Key-value pairs (oid:name)
dimensions no Array List of OIDs that will be used as dimensions
properties no Object Dimensions with static values to pass to Anodot. Object with key-value pairs
tags no Object Tags. Object with key-value pairs
transform no Object See transformations page
notifications No Object See notifications page

oid_table object properties:

Property Required Type Description
<name> yes Object SNMP Table name. Could be any
mib yes String MIB Name. Without it is not possible to search dimensions or values by their names
use_indexes no Array List of table index numbers to request. If empty - whole table requested
values no Object Key-value pairs of OID names and (target_type). A target type represents how samples of the same metric are aggregated in Anodot. Valid values are gauge (average aggregation), counter (sum aggregation), running_counter (will calculate the difference between the last value and current value)
dimensions no Array List of OIDs that will be used as dimensions.

Example

[
  {
    "source": "snmp",
    "pipeline_id": "snmp",
    "oid_table": {
      "ifTable": {
        "mib": "IF-MIB",
        "use_indexes": [2],
        "values": {
          "ifMtu": "counter",
          "ifSpeed": "gauge"
        },
        "dimensions": ["ifDescr", "ifType"]
      }
    },
    "values": {
      "1.3.6.1.2.1.5.14.0": "counter",
      "1.3.6.1.2.1.5.1.0": "counter"
    },
    "units": {
      "1.3.6.1.2.1.5.14.0": "unit_1",
      "1.3.6.1.2.1.5.1.0": "unit_1"
    },
    "measurement_names": {
      "1.3.6.1.2.1.5.14.0": "icmp_out_msgs",
      "1.3.6.1.2.1.5.1.0": "icmp_in_msgs"
    },
    "dimensions": ["system_description", "system_location"],
    "dimension_value_paths": {
      "system_description": "1.3.6.1.2.1.1.1.0",
      "system_location": "1.3.6.1.2.1.1.6.0",
      "hostname": "1.3.6.1.2.1.1.5.0",
    },
    "transform": {
      "config": "dimensions/host_name,zeus.snmplabs.com,'dimensions/host_name' == 'value=zeus.snmplabs.com (you can change this!)'"
    },
    "interval": "5m"
  }
]

Raw pipeline file config

Raw pipelines are designed specifically for test purposes only. Raw pipelines could be configured before standard pipeline usage. With this kind of pipelines, You can see what data is returned by the request to the data source, meaning what data contains in specified OIDs. It does not make any changes or transformations with data or send data to Anodot

To create a raw pipeline use the command agent pipeline create-raw -f path/to/config.json

Properties list

Property Required Value type in config file Description
source yes String Source config name
pipeline_id yes String Unique pipeline identifier
interval yes Integer Query data every N seconds
oids yes List List of OIDS to retrieve from a device
send_data_format no String Choose a data format in which the data will be saved to the filesystem. Possible values are: JSON, DELIMITED. Default: DELIMITED

Example:

[
  {
    "source": "snmp_raw",
    "pipeline_id": "snmp_raw",
    "oids": [
      "1.3.6.1.2.1.1.1.0",
      "1.3.6.1.2.1.1.2.0",
      "1.3.6.1.2.1.1.4.0"
    ],
    "interval": "5m"
  }
]

⚠️ **GitHub.com Fallback** ⚠️