Having Solarwinds gather data from third-party service

Hello all,

I am part of a company makes network timing hardware (used to synchronize the time across all devices in the network). We would like to create an integration with the Solarwinds Network Performance Monitor(NPM) service so that timing metrics within our products could be used to enrich the various visualizations (network visualization, device summary, etc..) on the Solarwinds app itself. I have a few questions about the feasibility of this integration:

  1. Is it possible to have the Solarwinds service query an external json REST API in order to grab metrics/data around specific IP Addresses/devices?
    1. I have looked around and I see that Solarwinds products expose API access via the Orion SDK  so potentially my company's products would have to push data into NPM via the SDK rather than Solarwinds pulling data from an external API?
  2. If #1 is possible then is it possible to enrich the different dashboards/visualizations (e.g., Netpathᵀᴹ) with this timing synchronization information?
    1. In the demos I have seen of Netpathᵀᴹ, it shows the latency between nodes so - if possible - I would like to also show the time synchronization information between nodes in a similar way. This would be useful to users so they could see how the time delay is across different paths along their network.
    2. Similarly, when viewing the network device summary, it would be nice if that could be enriched to show the data coming from our products.
  3. If #1 is possible then is it possible to have alerts made off of the data queried/stored from the third-party service(s)?
Parents
  • I'll take a more positive stand than   on this one. Seems fine, but you'd need to have a think about how to define the problem/s

    1) Yeah totally fine, either SAM or API pollers or an integration using the SDK, any of these is fine
       a) You can push but you'd normally pull. You tend to push properties and pull data. But you could alert/monitor/report/dashboard on properties just fine.

    2) Netpath would be hard, but otherwise yeah no problem, just get the data in the DB somewhere and query it
       a) I wouldnt use netpath for this, but you could use an orion map with API pollers for example

       b) yeah sure, you'd be adding tables mostly

    3) Yeah, just alert on whatever object the data is against. Only problem there is when it comes to custom SQL and you might need to establish some sort of quorum system to dictate drift. I imagine you guys have thoughts on this given it's your software though.

    Sync server A - 12:00:00
    Misc x - 12:00:00
    Misc y - 12:00:01
    Sync server B - 12:00:01
    Misc z: 12:00:01

    Given that setup you've got a second of drift, but you could define who's "bad" in a few different ways

  • Thanks for the reply, I see that the Solarwinds products support Prometheus integration (which is the database my company's service uses to store its metrics) via an Observability agent. I assume that the Network performance Monitor is able to grab the metrics through this Observability Agent? If not then I will probably go for the SAM template with an API poller.

  • An observability agent would be to push data to SWO not NPM, but yeah you could get data out of a Prometheus instance.

    (though consider - if you've already got the metrics in prometheus you could just send those upstream, or copy prometheus's datasource)

  • Hmm I am not sure how the connection between SWO & NPM is formed as I am still trying to get ahold of a trial version. Is SWO a separate service altogether that is needed in conjunction with NPM to have the third party metrics be accessible to NPM?

    Also when you say "you could just send those upstream" are you saying I can have Prometheus forward the metrics to some location that is accessible to NPM?

  • SWO is a separate product (think: Solarwinds Platform for cloud-native stuff) (and is not required to access 3rd party apis)
    You can pass data through first party or 3rd party integrations between SWO and Solarwinds Platform stuff (NPM)
    The 1st party stuff I've not setup personally, but the keyword to search for is Platform Connect. I dont think it's too relevant to what you're needing

    By upstream I meant to whoever-requested-timesync-data primarily, but yeah it's probably possible to pass it to NPM too

    I'd imagine it as one of two main types of solution:

    1) Push data into solarwinds, onto a node custom property, display custom property on map/ui element/report
    2) Pull data via an API poller assigned to each node you care about on map/ui element/report

    Either probably works, and in both cases you'd want to set up some "is my integration working properly" healthchecks

  • One other option would be to consider SWO NICO (Network, Infrastructure, & Cloud Observability).  This is our SaaS offering that provides Prometheus integrations and NPM functionality.   

  • I ran to the end of my SWO product knowledge there haha

  • Is this SWO NICO something that I can test out in a free trial? I ask as the ultimate goal would be to make an integration guide to customers of my company's products on how to make our product's metrics available to their existing Solarwinds infrastructure (We assume the metrics would be most useful in the context of the NPM service which is why I focused on it). So to test this integration - If my understanding of the SWO services is correct - I would (If I am not going with NICO):

    1. Download the NPM free trial
      1. Generate an API key to use with SWO Agent (unsure if this can be done with a free trial)
    2. Download the SWO Agent & run it using the API key (unsure if this can be done with a free trial as well)
    3. Enable the Prometheus integration on SWO
    4. Given NPM can reach the SWO Agent, I should have access to the metrics in Prometheus?
  • My ears perked up with Prometheus. So with Prom pulling in the data, I too would have thought would want  solarwinds to query the prom DB.

    Otherwise the "why?" question seems to be pretty apparent here.

  • SWO Agent would point back to SWO or SWO NICO and the NPM agent would talk to NPM.

Reply Children
No Data