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

Create Discovery does not add WMI nodes despite credentials order

$
0
0

Hello,

 

Not sure if anyone has touched on this already, or if I am doing some silly mistake, but here is my issue:

 

I am creating a discovery via Powershell with a mix of WMI and SNMP nodes.

 

When I put the SNMP credentials highest in the order, the nodes get added via SMNP.

When I put the WMI credentials highest in the order, the nodes still get added via SNMP

When I remove completely the SNMP credentials and leave only the WMi credentials, the nodes only then do get added via WMI.

 

So my question is, why is this happening? How can I tell the discovery to first try the WMI credentials and only if those fail, try the SNMP? It seems that setting the credentials order with WMI on top, does not do that.

 

Any help appreciated. Thanks,

Alex


VerbArgument Example for 'AddResourceToView'

$
0
0

Hello Thwack Community,

 

Looking to automate the creation of custom query / swql resources. Here is what I have from the Metadata.VerbArgument table in SWQL Studio filtering on the 'AddResourceToView' activity -

 

**REQUIRED - Name: viewID  = ViewID to add resource to - I’m good on this.

 

**REQUIRED -  Name: config = This is what I need Assuming what is needed: PropertyName, PropertyValue

Can someone provide an example string/format/syntax to get me started with creating a resource?

 

Name: moveColliding = Not sure what this does

 

Great Thanks,  =swql

http request was forbidden with client authentication scheme 'Basic'

$
0
0

Dear Support,

 

we are facing issues using RES API "http request was forbidden with client authentication scheme 'Basic'" could an one help here.

 

Regards

Chethan Kumar G

Alert Suppression State via API

$
0
0

Hi All,

 

I've been trying to find a way of checking on the current status of a node (in terms of if it's in a scheduled outage or not). Digging through the documentation I've been trying to make use of the Orion.AlertSuppression Entities, mainly GetAlertSuppressionState.

 

I've successfully managed to execute this verb via the Swis PowerShell module using Invoke-SwisVerb, but I've not managed to find an example of doing this via a REST call (the end result will be to query this in PHP using Guzzle).

 

Does anyone have any idea how to call this through either Guzzle or Curl? I've been trying to replicate this using Invoke-RestMethod in PowerShell with limited results.

 

Any help would be appreciated.

 

Thanks,

Simon

SWQL VSCode Extension?

$
0
0

Forgive me as I don't have the technical background for what would be required to do this but, I'm thinking it would be nice to have a Visual Studio Code extension for SWQL. Ideally it would be nice to duplicate the capabilities of SWQL Studio in VScode but, even a simple linting capability would be great.

 

My main push for this is that I use a Chromebook full time at work with VScode running in Linux and any less reliance on Windows applications would be great.

How to query ALL attributes of an IPAM entry

$
0
0

Does anyone know how to retrieve all attributes of an IPNode entry? For example, with a SWIS query I can't figure out how to retrieve (or set) the hostname attribute.

Node and Interface Status possible field values

$
0
0

Hi,

 

I'd like to get a list of the possible Status field values for both the Node and Interface entities.

 

Does anyone have such a list or could assist on this please?

 

For example I have part of a SWQL query below which is excluding Nodes and Interfaces based on certain numbered status values and I'd like to understand exactly what is happening:

 

T1.Node.Status NOT IN ('11', '9', '12') AND T1.Status NOT IN ('9', '12')

 

Regards,

Andrew

method to call external api or other real time integration?

$
0
0

We are new to SolarWinds SDK and we’re looking at the API to integrate with a custom help desk ticketing system. 

 

Our question has to do with polling NPM for alerts.  We want near real time alerts without risking “over polling” the API to the point that NPM performance could be degraded.  We’re specifically looking for an event-based alert option, such that when an alert is triggered a process can be launched to push a notification to our ticketing system to auto create tickets?  Our help desk system has its own API that we would like to call rather than having to poll the Orion API or deal with the complications of ingesting and parsing SMTP messages.

 

We can’t find a method for this in the SDK and we want to verify if this is possible.

 

On a related note, we see that Orion can send SNMP traps.  It seems that this is based on events regarding the health and status of Orion modules, and not necessarily based on alerts triggered by systems being monitored by Orion modules.  Is that correct or is it possible to do event-based alerts of monitored systems using SNMP?

 

Again we are new to SolarWinds and we’re building out a platform to monitor over 20K elements so we really want to build the most efficient system possible.


Problem trying to add UNDP to node

$
0
0

So in the interest of keeping things simple, this is what I'm sending in Powershell:

$result = New-SwisObject $swis –EntityType 'Orion.NPM.CustomPollerAssignmentOnNode' -Properties @{CustomPollerID='0a5ddec7-57b0-45a2-a595-37311bf5d88c';NodeID='10101';}

 

This is the result I'm getting back:

New-SwisObject : Cannot insert the value NULL into column 'AssignmentName', table 'CPMIT.dbo.CustomPollerAssignment'; column does not allow nulls. INSERT fails.

 

Running core  2018.2 HF6

Any ideas?

Enable QoE Management w/ REST Client

$
0
0

I was wondering if someone can point me in the right direction on how to enable QoE management of a node via the SDK REST.

 

Basically I have a list of nodes that I want to enable it for. I am familiar with listing interfaces, adding interfaces, update/adding pollers but I haven't figured this part out.

 

 

Thanks,

Will Lipford

Invoking SupressAlerts API is not reflected in Web Console

$
0
0

I've successfully used the swis API to invoke SupressAlerts for a node (uri) but the supression state is not reflected in Web Console.

I can Invoke GetAlertSupressioState and use SWQL Studio to check that indeed the node has Alerts Suppressed.

(Not sure it if matters, but I did not provide any from or until parameters, they are supposed to be optional)

 

UPDATE:

I've also confirmed that even when I set SuppressAlerts via API and use the the Alert Manger to edit an alert, the Alert Engine will still send an alert when testing

If I use Web Console to Mute Alerts and try the the same test the Alert Manager will honor the Mute Alert setting and not show the node in the list of node that will trigger the alert.

 

 

POST I'm using to suppress:

https://localhost:17778/SolarWinds/InformationService/v3/Json/Invoke/Orion.AlertSuppression/SuppressAlerts

 

Payload:

[ [ "swis://localhost/Orion/Orion.Nodes/NodeID=1398" ] ]

 

Results from GetAlertSupressionState:

[

    {

        "EntityUri": "swis://localhost/Orion/Orion.Nodes/NodeID=1398",

        "SuppressedParentUri": null,

        "SuppressionMode": 1,

        "SuppressedFrom": "2018-12-12T23:25:04.963",

        "SuppressedUntil": null

    }

]

 

Web Console does not reflect that Alerts are Suppressed in managed nodes:

 

Same on Node Details Page:

 

 

If I use Web Console to Mute alerts - both show that Alerts are Muted as status:

 

 

Is this a known bug with the the API?

AD Authentication with Curl

$
0
0

Hey tdanner,
We have been noticing a 403 error when we try to run a Curl Command with a AD Account, but if we use a local Orion account it passes.
Is that a known limitation with the API or could I be missing a setting?

Thanks!

Swagger/OpenAPI documentation for Orion

$
0
0

In an attempt to make the Orion REST API easier to work with, I have posted Swagger/OpenAPI spec files (swagger.json, openapi.json). These can be used to generate client wrappers using tools like Swagger Codegen and Microsoft AutoRest. These spec files are based on the SWIS APIs available in the latest Orion product releases as of December 2018. This means Orion Platform 2018.4, NPM 12.4, NCM 7.9, etc.

 

OpenAPI spec files can also be used to generate interactive documentation . This is available at https://solarwinds.github.io/OrionSDK/swagger-ui/.

 

Orion Platform 2018.4 contains an addition to the format of the REST API. Prior to this release, verb arguments had to be passed as JSON arrays - positional arguments. This is still supported. Starting in this release, verb arguments will also be accepted in JSON object format - named arguments. I expect this to be more usable overall, but the immediate motivation for it is that the OpenAPI schema model does not provide a way to describe an array where each element is of a specific, possibly different, type.

 

Feedback on this new API documentation method is welcome; I hope to refine it in future releases.

Solarwinds Orion Installer

Orion SDK - Most recent technical reference?

$
0
0

Where can I find the most recent SDK technical reference PDF?  I dug one up but I noticed it's from 2013--I imagine there have been some updates in that long a time.

 

Thanks!


What is the curl command to update my fetched available IP address as reserved or used

$
0
0

I am using the following curl command which is fetching me the first available IP address from my subnet ID.

 

curl -k -v -u "myuser:password" https://mysolarwinds:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+TOP+1+STATUS,+DisplayName+FROM+IPAM.IPNode+WHERE+Status=2+AND+SubnetId=10

 

Output

* About to connect() to mysolarwinds port 17778 (#0)

*   Trying mysolarwinds...

* Connected to mysolarwinds (mysolarwinds) port 17778 (#0)

* Initializing NSS with certpath: sql:/etc/pki/nssdb

* skipping SSL peer certificate verification

* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

* Server certificate:

*       subject: CN=SolarWinds-Orion

*       start date: Nov 23 00:21:10 2017 GMT

*       expire date: Dec 31 23:59:59 2039 GMT

*       common name: SolarWinds-Orion

*       issuer: CN=SolarWinds-Orion

* Server auth using Basic with user 'myuser'

> GET /SolarWinds/InformationService/v3/Json/Query?query=SELECT+TOP+1+STATUS,+DisplayName+FROM+IPAM.IPNode+WHERE+Status=2+AND+SubnetId=100 HTTP/1.1

> Authorization: Basic XYZW245R

> User-Agent: curl/7.29.0

> Host: mysolarwinds:17778

> Accept: */*

>

< HTTP/1.1 200 OK

< Content-Length: 56

< Content-Type: application/json

< Server: Microsoft-HTTPAPI/2.0

< Date: Wed, 19 Dec 2018 13:06:40 GMT

<

* Connection #0 to host mysolarwinds left intact

{"results":[{"STATUS":2,"DisplayName":"10.248.1.10"}]}

 

Now what do I have to do to my above curl commad to mar the fetched IP address as reserved or used, so that next time when I run the above command it will fetch the second IP instead of he first one. Kindly assist me on this

 

Thanks and Regards,

Azhar

SWQL and IP Addresses

$
0
0

Since Solarwinds is all about managing IP Addresses, there should be some functions that aid with exactly that.

Short of functions like INET_ATON, INET_NTOA, IS_IPV4, IS_IPV6 & ... (MySQL :: MySQL 8.0 Reference Manual :: 12.23 Miscellaneous Functions ), it'd be great to have:

1. A c# style split function to parse out octets, (yes there's a SUBSTRING, but it and CHARINDEX are clunky).

2. A sort mechanism that orders by numerical parts (.net - How to sort list of Ip Addresses using c# - Stack Overflow )

SWQL Help! It's making baby Jesus cry....right before his birthday....not a good look.

$
0
0

Hey Team Thwack,

 

  Good Morning!  I am trying to create a chart that shows the number of connections to a particular set of virtual server on an F5. I have poured through the list of reports and have not seen any that do this.  There are reports that show connections according to pool members, and that would work...unfortunately, it will only list up to 10 pool members (some of our VS' have in excess of 30 pool members). After trying to adjust a canned report to meet my needs, I abandoned that and tried to do it via SQL and SWQL....and have only got it *partially* working. I can get the information to display as a table, but if I try to do it as a chart (and we all know how much management types love charts) it just spins and spins at the loading data screen.  Any help with the code or where I am going astray would be greatly appreciated. With that said...I am not a coding expert by ANY stretch of the imagination.

 

Thanks

 

 

 

SELECT VS.ShortName, VS.Connections, I.DateTime

FROM Orion.F5.LTM.VirtualServer VS, Orion.F5.LTM.VirtualServerStats  I

WHERE VS.ShortName IN ( PORTAL_ADMIN_443_VS','PORTAL_CONSUMER_443_VS')

AND Connections > 0

ORDER BY I.DateTime DESC

Python command to create dependencies

$
0
0

in a old post found the following command: but what's the existing one please

 

$swis = Connect-Swis -UserName admin -Password ''

 

New-SwisObject $swis Orion.Dependencies @{Name="test1";ParentUri='swis://tdanner-dev.swdev.local/Orion/Orion.Nodes/NodeID=1';ChildUri='swis://tdanner-dev.swdev.local/Orion/Orion.Nodes/NodeID=2'}

update custom application properties with Powershell

$
0
0

I am so close but just missing out on the perfect solution.

 

I created 3 custom application properties.

and I created a script that grabs the certificate associated with a host and port number.  I need it to populate these 3 custom properties to be able to report on these within the application.

 

I send in 4 variables.

IP address, Port number, Node ID, and Application ID

${IP}, 443, ${Node.ID}, ${Application.ID}

 

The only thing is the application ID is not populating.  It is sending in literally the words typed: "${Application.ID}".

 

How can I make sure it passes the Application ID?  Any help is greatly appreciated!

 

I used this thread for variable reference https://thwack.solarwinds.com/docs/DOC-188909

Aside from the application ID, it seems like some of the variables don't work also: ${PASSWORD}, ${creds}

Viewing all 2677 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>