What is Cortex?

My team members are starting to use the SWQL studio more and more.  Growing past the capabilities of the GUI and writing more SWQL code for things.

Browsing the data schema we see a large number of entries that say 'Cortex...' something. 

The question keeps coming up - "What is Cortex"?

Can someone provide an explanation or link to help us understand what is Cortex in the context of Solarwinds?


  • There is no short answer to What is Cortex but for the curios readers among us, I will add some detail.

     Cortex is the fourth-generation monitoring framework.

    • NetPerfMon service, a.k.a the VB6 Standard Poller. Created in the early 2000s, deleted in 2011.
    • Job Engine 1/2. A scheduling and execution engine. Created 200.  Does not participate in results processing and storage.
    • Collector. Created in 2009 to organize the results processing and storage for job engine jobs. The Collector uses Job Engine 2 for polling job execution.
    • Cortex -Monitoring features built with the Cortex framework do not deal with things like data storage and inter-process communication. Instead of having one model for polling job results, another one for processed job results, the third one for SQL tables, and the fourth one for SWIS. Cortex is organized around a single model.  Cortex will handle the data storage for the model. Cortex exposes this data through SWIS by producing a SWIS entity schema as needed.

    In terms of developing anything using SWQL, the fact that an entity is cortex-based should not have any direct impact or consideration on these efforts.

  • Thank you!  This is very helpful.

    Does Solarwinds make available some kind of design document / functional specification for Cortex?  I'm still not clear about some of the concepts; "the Cortex framework do not deal with things like data storage", then " Cortex will handle the data storage for the model".  

    Thanks much.

  • There is no such pubic-facing documentation as quite honestly it is transparent to the end user. I think of  cortex, perhaps very simplistically,  as being the poller. You add a node to be monitored and the platform takes care of how to identify and poll it using various methods. Common management actions on nodes via the API are the same irrespective of the polling method used.