40 Replies Latest reply on Apr 29, 2011 7:32 AM by mgiffin

    Arrange Custom Properties for Node

      I would like to arrange the 'Custom Properties for Node' in something other than alphabetical.  I have added a few properties and they don't show up in an order that makes sense and i don't know how to arrange them.  If i enter an asset tag it will show up between the address and the city.  Is it possible to arrange the properties to be displayed manually?

      Thanks

      Tommy

        • Re: Arrange Custom Properties for Node
          kdbednarski

          Hi,

          I'm interested to know if this is possible as well.

          Thanks

          • Re: Arrange Custom Properties for Node
            denny.lecompte

            It's not possible at the moment, but I've added it to the queue for future consideration.

            • Re: Arrange Custom Properties for Node
              pserwe

              I'll chime in here..

              Right now, I have about 60 custom properties per device.

              Things that I'd really like to have..

              A)  Tell the CSV import to use the damn column headers.  I can't express enough how painful it is to have to manually select the import column matchup.  I'm perfectly capable of exporting the custom properties in the first place and add the headings I need.

              B)  Give the export an "Update existing values if present" feature.

              I'm working on A and B going in through perl and SQL so I can accomplish this without native support, but I'd rather not have to.

              C)  Sort nodes and interfaces by multiple values (custom property/vendor/random other value, interface description/vendor On a related note, not to thread hijack or anything..

              Not to thread hijack or anything.. but..

              D)  Import/Export Alerts on an overall basis, or even on 3 or 4 different operations for trap, syslog, advanced, and basic.  The key is, I need all the relevant information, from alert name to reset actions, and everything in between.  I need to export all for audit purposes, and import for provisioning purposes.  Unfortunately, the structure of that stuff in the database is a little bit more complex ;)

              E)  Custom poller assignments.  I want to be able to create a template, and put nodes in the template automatically upon creation that would equate to something like "all dsx1 interfaces on equipment that's from vendor X, and has value Y in custom property Z".

              F)  Alert assignments essentially work this way already, via custom property, which would be a great way to make UnDP's function.

              Back on topic..

              G)  Custom Property display sorting, I can do it right now alphabetically, which essentially gives me a really crappy view of what stuff looks like.

              A better way to handle this would be to create custom property "groups", where I have a CPE group, for interfaces I have a dsx1 on adtran group, whatever..  When I display custom properties, I want to be able to say group by group, then alphabetical, and things will make a lot more sense.

              The way we are accomplishing this at the moment, frankly, sucks, we've prepended visually unappealing "aaa_", "bbb_", "ccc_", etc to the majority of our Custom Properties.  Blech.

              Peter

              • Re: Arrange Custom Properties for Node

                I woudl like to request this feature as well.    To review the data correctly the data needs to be sorted in the correct order.   When can we expect to see movement on this request?

                • Re: Arrange Custom Properties for Node

                  Add me to the list for someone that needs something other than Alphabetical.  Very important to us.

                    • Re: Arrange Custom Properties for Node
                      papaotter

                      +1

                      I looked into this for days until discovering it wasn't possible.

                      Renaming would be a miracle as well.

                        • Re: Arrange Custom Properties for Node
                          cringer

                          Please add me to the list for requesting this update -

                          Being able to choose the order in which these fields are displayed would be a huge advantage

                            • Re: Arrange Custom Properties for Node
                              rgward

                              Count me in too, both editing the names, and re-ordering within CPE and be able to set order in the CP Resource View.

                                • Re: Arrange Custom Properties for Node
                                  JesperVestergaard

                                  +1 - I added also a feature request some time back (1-2 years)

                                  I fully agree, on Peters comments / requests. We need this.

                                    • Re: Arrange Custom Properties for Node
                                      ctopaloglu

                                      I don't believe this simple feature hasn't implemented yet.

                                      At least 60 customers are asked about this!!! Not good Solarwinds!!!

                                      Here is your "Community driven page" address

                                      http://geekblog.solarwinds.com/2010/11/18/community-driven-no-really/

                                        • Re: Arrange Custom Properties for Node
                                          the_toilet

                                          The SQL to do much of this looks pretty simple, but i fear Solarwinds would not like to just do a sticky-plaster job.  basically they would probably have to have code behind both functions (move and re-name) that scans through all reports, alerts and views etc that might use those custom properties, and highlight to the user whether they want to update each component or not...

                                          changing custom properties around could break all sorts of things, which is why i have not gone down the SQL route, as I just know i will forget something and not find out till a month later when a report fails to run and the data is purged etc...

                                          I understand your frustration though...  my primary feature request has always been performance improvements....  forget any new features, just make it perform better in large environments.  I am up to 5 additional pollers, but the database is the main bottle neck...  we need more work in that space but of course Solarwinds want new features to help market the product, get new customers, and hence make it better,...

                                          i would hate to be solarwinds LOL..  too much to think about, too little time... 

                                            • Re: Arrange Custom Properties for Node
                                              pserwe

                                              For arrangement, we've stuck with the pre-pend, because as much as it sucks, it sucks worse not being able to do more.

                                              Our own environment has grown about 5 times it's previous size, so this and other 'MSP' issues are getting more painful,

                                              but we've pretty much moved on.

                                              Someone in the thread mentioned something about a 'safe' SQL method.. Just to be clear, there is no such thing as 'safe' direct manual manipulation of a database.  Every step of the way, we check and test, and make sure it went right ;)  Testing happens on a lab box.  When it works, and we have no particular issues that crop up unexpectedly as a result, we go work it on production.

                                              We also had an issue with Alert Management, namely that there aren't any bulk tools to be able to change a wide swath of data across many or all alerts.  Basic alerts were discarded back in 9.5 by us, SW discarded them a while ago.

                                              This leaves syslog, traps, and advanced alerts to deal with.  We have a lot.  Hundreds.  Going different places, doing different things to different people..  We've got it to the point where we can clone an alert and modify all conditions in the DB after the initial cloning, fairly reliably.  Programmatic generation of alerts was done on our side, and the moment we can get away from having to point, click, blah for importing them, we'll be super stoked.  It's already far better than it was before, just due to the fact that we've forged ahead in largely undocumented, and clearly unsupported ways.

                                              In all this time, the product has changed dramatically.  10.1.1 is a wildly different animal than 9.5.x, and in many ways, much, much improved.  The database structure has changed along with the product, and traps, despite the lack of love in the UI, are pretty straightforward in the database for various little SQL manipulations (target, SMTP server, envelope sender).  I have hopes that it will scale better than the old nodes, but we all know the SQL server is and always will be the ultimate bottleneck.  Things may improve a lot, SW seems to be gearing towards 25k or more 'elements' on a single poller.

                                              In short, the tangible changes in the last year to the product have pretty much made me take back all those bad things I used to say about you guys.

                                              One note to SW Thwack mods:

                                              We need an MSP Forum.  One that allows people to go to one place and find all the various threads that are relevant to people running it at scale, across all product families.  Just an idea, but I think it has value.

                                    • Re: Arrange Custom Properties for Node
                                      pserwe

                                      Custom properties for nodes are all stored in the Nodes table.  Right now we have about 90, they all get written by SQL after the node has been added.

                                      Custom properties for interfaces are in the interfaces table.  Both store them out past the last SW 'stock' columns if you add new ones.

                                      First, you find the column, then you find a way to select the nodes you want, and lastly you do a SQL UPDATE or REPLACE.  It's pretty straightforward, but completely undocumented and unsupported, officially speaking.

                                      I posted a mini how-to a couple of weeks ago here:

                                      Howto:  Updating the SMTP server and envelope sender for all advanced alerts and traps via database manager for NPM.

                                      Basically the same thing can be executed on the Nodes table, instead of Alerts.

                                      What was posted in the thread is a bit more complicated than what you're trying to do with custom properties, I was parsing the field, and replacing one small piece of specific data within a larger string.  That's a lot more difficult than just assigning values.

                                      FYI, for all thinking about mass custom property manipulation, the only thing it can break is things you have created a dependency on, in my case, that would be quite a few alerts, all my various user account view limitations, and more than 100 reports.

                                      The way out of that is slightly painful, but not really.  It would be my style to write a migration script that copies the values from one custom property to the new target custom property, and then either directly in the database, or painfully via the UI, modify everyone's view limitations, and all the alerts.  Reports will have to be modified semi-manually, I could search and replace the files in the reports folder either with sed/awk on a unix system or via a decent multi-file windows editor.

                                      Peter

                                        • Re: Arrange Custom Properties for Node
                                          LGentile

                                          At this point, I would just be happy with the ability to save a view in CPE.  CPE is still a user-friendly way to do mass updates since you can filter, etc to run basic queries and it's much safer than directly editing the tables via SQL unless you really know what  you're doing.  I don't know what SW has planned for the future of CPE but I certainly hope it's not going the way of System Manager (i.e. going 100% Web).  I have done mass CP updates in the Web console, and it's hit and miss.  If i update more than 1-2 fields for a large number of nodes, it just craps out.  

                                          So for me, I no longer care about the SQL indexes, etc..  just the ability to sort/save a view in CPE seems simple enough.  I would think just adding the ability to save your current view in the order shown is enough.  Renaming the fields would be nice however I have worked around this for a long time.  What I do for this is to simply create a new field with a new name and do a mass cut/paste.  The index doesn't seem to have any direct effect - I have even re-used CP names by deleting and re-creating them, then populating the values and have not seen that break reports that used the names.  

                                            • Re: Arrange Custom Properties for Node
                                              pserwe

                                              Were I a betting man, I'd be guessing that CPE may very well end up going the way of System Manager.  The end goal for SW is to be out of Windows userland space as much as possible.  Which really means great things for us as customers in the way of an API.

                                              As far as the CPE goes.. I filter out based on custom properties, and then I sort by clicking the column header.  Still, I can tell you that is about 15 times the work of taking a csv, and writing a SQL script to push all the data in.

                                              The real issue hindering management of the product is too much pointing/clicking.  Eventually, we want to do everything other than watch the screen or reading graphs, programmatically.  All provisioning, all custom property population, all alert creation, needs to be *able* to be hands off.

                                              That's really the point of the API, is to make tasks that are too big to point and click your way through.  Direct database manipulation in small, targeted quantities is really useful.  Especially with alerting based on custom pollers..  The creation of the poller is already a bit too manual, but the alerts can be generated as XML import files as long as you match the format (export one of your advanced alerts and look at the file).  The only thing left then, is to get a programmatic method of hitting the 'import' button in the advanced alert manager.

                                              My #1 goal is to reduce the care and feeding of SW into tops an hour a day.  That custom property script I use runs via cron and finds any nodes that have been added, that don't have those fields populated yet, then runs the script against a directory full of generated scripts, and voila, I have everything I need for month end reporting, alerting, and view limitations, all set automagically.

                                              Better living through automation.  Use the script, Luke. 

                                              Okay, maybe that's a bit nerdy, so I'm a nerd, so sue me ;P

                                              Seriously though.  Life has gotten so much better since all the scripting laid in, and it only gets better.  I don't even mind all the web console changes, because for the most part, I'm not really bothered by them, and that's what's driving the API.  The web console uses the API, and if it can use it, we can.

                                              Peter

                                      • Re: Arrange Custom Properties for Node
                                        jwhitten

                                        In a program that I wrote (unrelated to Orion) that had lots of properties (fields), the way I handled this was to have several "lists" of fields that could be adjusted to arrange the way fields would be ordered. An internal view that the program would use by default, a user-configurable view which could override the default view, and an instance view which could be applied by the current operation to display the results. Any fields specified would be ordered according to the specification, any remaining fields would be ordered alphabetically after the specified fields. That way users only had to specify the fields they cared about and could arrange all, some or none of the fields.

                                        • Re: Arrange Custom Properties for Node
                                          julrich

                                          You can arrange the order custom properties are DISPLAYED on the Node Details page with a custom HTML Resource.

                                          This is how I have mine:

                                          <B>AlertBypass:</B> ${AlertBypass}<BR>
                                          <B>Environment:</B> ${Environment}<BR>
                                          <B>Application:</B> ${App}<BR>
                                          <B>Application Owner:</B> ${AppOwner}<BR>
                                          <B>CPU Load Threshold:</B> ${CPULoad_Marker}<BR>
                                          <B>DMZ:</B> ${DMZ}<BR>
                                          <B>Hardware Owner:</B> ${HWOwner}<BR>
                                          <B>Manufacturer:</B> ${Manufacturer}<BR>
                                          <B>Model:</B> ${Model}<BR>
                                          <B>SN:</B> ${SerialNumber}<BR>
                                          <B>Rack location:</B> ${RackLocation}<BR>