Quantcast
Channel: THWACK: All Content - Orion SDK
Viewing all articles
Browse latest Browse all 2677

cannot discover snmpv3 node via discover_one_node.py script

$
0
0

am trying to use the discover_one_node.py script provided at GitHub - solarwinds/orionsdk-python: Python client for interacting with the SolarWinds Orion API

 

but am getting this error when i run it:

 

requests.exceptions.HTTPError: 400 Client Error: ProvideFault failed, check fault information. for url: https://orion:17778/SolarWinds/InformationService/v3/Json/Invoke/Orion.Discovery/StartDiscovery

 

here's my script:

 

from __future__ import print_function

import re

import requests

from orionsdk import SwisClient

 

def main():

    npm_server = 'orion'

    username = '<userid>

    password = '<password>'

    target_node_ip = 'vlxadmp04'

    snmpv3_credential_id = 181

    orion_engine_id = 1

 

    swis = SwisClient(npm_server, username, password)

    print("Add an SNMP v3 node:")

 

    corePluginContext = {

        'BulkList': [{'Address': target_node_ip}],

        'Credentials': [

                {

                        'CredentialID': snmpv3_credential_id,

                        'Order': 1

                }

        ],

        'WmiRetriesCount': 0,

        'WmiRetryIntervalMiliseconds': 1000

    }

 

    corePluginConfig = swis.invoke('Orion.Discovery', 'CreateCorePluginConfiguration', corePluginContext)

 

    discoveryProfile = {

        'Name': 'discover_one_node.py',

        'EngineID': orion_engine_id,

        'JobTimeoutSeconds': 3600,

        'SearchTimeoutMiliseconds': 5000,

        'SnmpTimeoutMiliseconds': 5000,

        'SnmpRetries': 2,

        'RepeatIntervalMiliseconds': 1800,

        'SnmpPort': 161,

        'HopCount': 0,

        'PreferredSnmpVersion': 'SNMP2c',

        'DisableIcmp': False,

        'AllowDuplicateNodes': False,

        'IsAutoImport': True,

        'IsHidden': True,

        'PluginConfigurations': [{'PluginConfigurationItem': corePluginConfig}]

    }

 

    print("Running discovery...")

    result = swis.invoke('Orion.Discovery', 'StartDiscovery', discoveryProfile)

    print("Returned discovery profile id {}".format(result))

 

requests.packages.urllib3.disable_warnings()

 

if __name__ == '__main__':

    main()


Viewing all articles
Browse latest Browse all 2677

Trending Articles