1 Reply Latest reply on Jan 3, 2018 3:29 PM by mblackburn

    Generating Graphs Dynamically

    wluther

      Building/managing/viewing our graphs is a daily thing, which makes it more important to us, than probably most others.

       

      Long ago, we used the most simplistic of graphing tools, MRTG. The number one pain point with MRTG is, without a doubt, the maintenance and upkeep of adding/changing devices/interfaces/etc., to keep the graphs current. SolarWinds had easily made the process 100x more efficient. As time has gone by, however, we have found ourselves in an all too familiar situation. It seems we have come back, full circle, and are once again experiencing that management pain point. And no, we have no desire to pull MRTG from the grave. It is mentioned only for reference, and its simplicity.

       

      It's like that feeling you get when your phone is slow, so you upgrade to the latest and greatest, and can't imagine how you had been able to do anything with that previous phone. Then a little bit of time passes, and you feel like you're back to square one, using a super slow device again. (I suppose I could have done the dial-up, ISDN, DSL, Cable, FTTH example too, but oh well, I've gone too far to delete now...) Well, we feel like we are back at square one again, in regards to graphing our data. Our Engineers, as well as management, LOVE to look at graphs, and charts, and lines, and colored dots. With our network growing at a steady pace, we find it becoming more cumbersome to create, update, and maintain our graphs views. We are talking about having views with 100+ subviews/tabs, each having 5-10 graphs, or more.

       

      We have tried a handful of "workarounds", and a few custom solutions.

      Custom Graphing: Fun With Highcharts

      The Query: Retrieving, Formatting, And Storing The Data

      Simple Charts I: Graphing A Single Metric On A Single Element Over A Period Of Time

      Custom SQL Dynamic Graphing Resource

      How to create a simple custom view of multiple interfaces' bandwidth utilization

       

      Each showed some decent potential, but none really hit the spot. That is, until now. mblackburn has created a simple page which allows the user to VERY quickly select/search for the desired data sources, graph the data, and view it all in a simple layout.

       

       

      This process begins here, where we can choose a dropdown value, which lists all available custom properties for all interfaces.

       

      If you select a custom property and submit, the page will show another dropdown box, allowing you to choose a value from the previously selected custom property. (Shh, don't tell Matt he used "a" instead of "an"...)

       

      At this point, once you have selected the value you want, and click submit, you will be able to see a graph for each interface that has the same custom property value assigned.

       

      In this example, we only had a single qualifying interface, having the same value for the "Uplink Vendor" interface custom property that we chose in the second step.

       

       

       

       

       

      That was one way to graph the data we needed to see, but it was more template based (which is still a good thing). The next way Matt came up with, while the most simplistic, really allowed us to see more data, even quicker than before.

       

       

      Instead of using the custom property dropdown box, there is also an option to search, matching text on interface descriptions.

      The example below is looking for another uplink vendor. Hopefully, we will find some more interfaces that maybe someone forgot to tag the proper custom property. (In this example, we are not using the selected custom property dropdown above... All of that is in the past, just ignore it now.)

       

      So, we type in the uplink vendor code, as it is something we require on our interface description.

       

       

       

      Our search results come back with 3 interfaces, which, if we selected all 3 and submitted, SHOULD give us 3 graphs.

       

      Well, surprise, Matt only selected 1 of the 3 interfaces, so we only have that single interface graph... (Thanks for NOTHING, Matt!!)

       

       

      He did, however, send another screenshot that shows the multiple graphs, being generated dynamically, based on selecting multiple check boxes from the search results.

       

       

      While the examples are not 100% identical, they should be close enough to get the point across.

       

       

      Putting this tool side-by-side with the current SolarWinds graphing process, mblackburn can build a full page of graphs, before I finish adding the first graphing resource, for the first graph, on my graph page.

      These ARE the graphs we are looking for!!

       

       

      While we completely understand everyone at SolarWinds has more things to do than time to do them... We were hoping this would be close enough to something one of y'all are working on, and could take some time to talk about it.

       

       

      Thank you for getting this implemented before the end of next week. That's super nice of y'all!!

       

       

      serena aLTeReGo meech KMSigma