Hi guys,
I've searched and search and searched some more but can't find the table in which this setting is stored.
Does anyone know where the change is being made?
TIA
/Deltona
BUMP
The settings is stored in the NCM_NCMSettings table.
Jiri
Are you sure?
I am not getting the list of nodes when running SELECT * FROM NCM_NCMSettings
All I get is the location of NCMIndexCatalogPath, Support Account Limitation in NCM Jobs, Vuln Last Error/Run.
I don't know if there is an explicit column in a table that says that. However, you can figure it out quite easily. In the "Nodes" table (or view) in NPM, you have your NodeID. In the NCM_NodeProperties table you have a couple columns "NodeID" (which is specific to NCM) and "CoreNodeID" which would be the same as the NodeID is in the NPM Nodes table. If you do a left outer join on them, if there isn't a NCM_NodeProperties.NodeID in the resulting table you know its not in NCM...
SELECT TOP 100 N.NodeID, CASE WHEN NCM.NodeID IS NULL THEN 'False' ELSE 'True' END AS InNCM
FROM Nodes N LEFT OUTER JOIN NCM_NodeProperties NCM ON (N.NodeID = NCM.CoreNodeID)
This query should illustrate it, rather than having the second column be the NCM_NodeProperties.NodeID (or NULL) I converted it to a true/false with the "CASE" statement..
HTH!!
Hi Craig,
Thanks for the query. I have tested it and it works as explained.
Ultimately, what I'm after is a query that will add nodes to the NCM_NodePorperties table because NCM currently can't do this automatically.
It would be a SQL job that runs once a day. If a Node who's vendor = Cisco, and is not in the NCM_NodeProperties table, then the query would add that Node to NCM.
Does it make sense?
Ok, then I would do the following using Orion SDK:
Any chance this could be done using raw SQL queries?
Use of the SDK add a layer of complexity that I'd rather avoid.
Raw SQL is dangerous and not guaranteed to work when we change something in the product.
I would discourage you from doing that.
I am already discourage in using the SDK. I wouldn't know where to start and have no notion of how things work, get triggered etc.
Any pointers?
< not a programmer
Pointers? Find a programmer? Or at least someone comfortable with scripting... This isn't a simple flag your setting in an SQL row, you're creating rows in another table altogether based off the results of another query.
The SDK has a bunch of benefits over raw SQL as cvachovecj mentioned, this type of task wouldn't be recommended to do with raw sql, you could screw up your database enough that you might need to start over or at least restore it from an older point..
Alternatively use the GUI. It is quite powerful. In this case try going into "Settings" then "Manage Nodes". Tell it to "Group By:" and choose "Vendor". Then you will see all your Cisco devices in a group. Select that group and go to the NCM licensed column header and click on it once or twice. This will set it to sort by whether the node is NCM licensed or not, clicking again will change it from sorting ascending to descending. Select the nodes that are not licensed and go to the top and "Edit Properties". Go to the bottom and tell it to add all the nodes to NCM and what credentials to use and such. And there, your done - added all the missing nodes at once...
Another hint, once you have all the nodes sorted by whether they are in NCM or not, lets say you have 156 nodes that are not in NCM, but you have 250 nodes displayed on the page. Rather than individually selecting all of those, or selecting all and removing those that you don't want selected, adjust your "Page Size" to figure out the exact # of nodes and then select all when all you have are non-licensed NCM nodes being shown...
Once again thanks for trying to help. It is GREATLY appreciated.
The idea behind finding the setting in the database, is to recreate the NCM job that automatically adds nodes to NCM. This job has been removed from NCM since the NCM database (ConfigMgmt) and NPM database (NetPerfMon) have been merged. The issue is described here: Importing Nodes to NCM v7.4 Automatically
FR'ed here:
The key here is that adding NPM nodes to NCM, or enabling NCM licensing on NPM nodes, is done automatically.Therefore, the alternative solution that you provided in using the GUI can't be used
As for the pointers... I shouldn't need a programmer to make changes in Orion. We are using Orion because it doesn't require programming skills like say nagios and the likes. So the programming of features into Orion approach isn't feasible. It also breaks the "easy to use" mantra of SolarWinds Orion.
So what we're left with is three options:
1. Wait for this feature to be implemented again into NCM vNext. Can't wait, need it yesterday.
2. Use the older version of NCM that had a separate database. Most likely solution.
3. Run an SQL query automatically once a day, to update the NCM/NCM Licensed nodes table with new nodes.
PS: The SQL query wouldn't create any new tables. It would only be adding data into existing columns.
Well, I never said it was creating new tables, I said it was creating NEW rows in ANOTHER table (or tables).
Specifically that based on the SQL output of a JOIN between the Nodes and NCM_NodeProperties that you would have to at the very least create new rows in the NCM_NodeProperties table, possibly more tables than that though - not altogether sure.
Looks like you have your answer for now though, I'd go vote on the topic of getting what you want added as a feature also. It sounds like you want a bit more too, ie: the ability to only add "Cisco" nodes vs. it attempting to add all nodes, might want to specify that.
I wouldn't recommend options #3 unless your using the SDK though, I think SW and Jiri would agree. The SDK isolates you from the problems you can cause. I wouldn't think scripting something like that with Powershell would be too difficult...
Hi @cvachovecj ,
Could you please let me know how to add multiple nodes in NCM using SDK.
Thanks
Prashant