Network Health and Performance Monitoring: Custom Pollers

Network Health and Performance Monitoring: Custom Pollers

Show Video

There are actually two ways to create pollers or custom pollers. The first way is the Device Studio   that you can find right within the web console. Device Studio was the second of two poller tools   released and fill some specific functionality gaps  in the original tool, most notably the ability to   modify existing resources such as node details and  previously customers had to use the original UNDP   tool to build individual resources for each  line in node details that the default poller was   missing and this led to several resources and a  lot of scrolling. So the Device Studio can poll  

for multiple OIDs for a technology. It can poll  single CPU and RAM and poll for multiple CPUs   and RAM. It can also poll for additional node details  and perform logical operations for custom polling.   With Device Studio you can display custom polled  values in existing resources such as vital stats   or node details. This is the ability added to this  feature that allows for inserting data into the   node details resource, something that was a popular  request. Because the tool was designed this way you   can only build pollers for CPU memory and node  details with this tool. The technology is very   specific and for anything outside CPU memory  and node details you would use our other tool,   however for those technologies this tool is very  effective and the preferred method for polling   that data. So the other tool or the original  tool is called Universal Device Pollers or  

UNDP. That's the second method and you can find  this in the SolarWinds program files folder and   it's independent of the web console. You must  RDP to the application server to use this tool.   UNDP can poll only one OID. Polled values are  displayed in dedicated resources in the web   console. They cannot be placed in existing ones  and it can also perform logical operations.   Now let me demonstrate how to create custom pollers  for a device we will use the adtran 1335 to build   a poller for CPU and memory utilization using  Device Studio. First I'll switch to our device's  

node details page and look at vital stats which  can be found right here in the sub view pane. Apparently this view does not show a resource  for CPU and memory use so we'll use this as our   example to demonstrate building custom pollers  using Device Studio. I'll go back to node details   page. Remember that you need to obtain the OID or  OIDs for a metric that you want to poll. This has   to be done before you build a poller since  I already researched for the OID I can use   the MIB browser to search and ensure that the  OIDs I will use are already in the MIB database. So let me put the OID and click search. Okay so our search works so we're good to go. Now  if I expand the tree based on our OID we should  

be able to find the metrics we're supposed to  create starting with CPU load. Let's see this and this is what we're looking for so I can take  note of the specific OID and use it later for   building our poller. We are also looking for member  used and it looks like that there is no specific   OID for that stat but we can calculate using  the memory heap size. The same as total memory   and total heap free for free memory. We will  obtain the total memory use by subtracting   the total heap free from the total heap size. So  I have already taken note of the OIDs we need   so let's go to the next step. So I'll go to  settings, all settings, and click on manage pollers.

The manage pollers page displays pollers that come  out of the box and this is named as SolarWinds   native poller and SolarWinds. It should also  display custom pollers if you have created one.   On this page you can also turn the poller  on or off. You can assign it to a device   and even edit existing ones. You can also  directly import pollers shared in the flat  

community if it matches your device but in this  demo we're gonna click on create new poller for   our CPU and memory utilization. So now you will be  presented a quick guide on how to create pollers.   It's going to give you a few tips when building  one. So let's go ahead and click on get started. First step is to define the general parameters.  This is where you can specify what type of data   or technology you want to poll. Remember that  Device Studio only supports the following  

technology: single CPU and memory, multi-cpu  and memory, and node details. I will select   single CPU and memory for our poller, then  specify a meaningful name for your poller. Let's name that as SolarWinds or sw-  poller 1 and then select a test node. This is only the node to test the poller against  it does not assign the poller to that node.   So we'll select our device  atran1335 and click submit.  

You may also put tags which is optional.  You can put description and author for   efficient searching but for  this exercise I'm gonna leave it blank and hit on next. The next step is to specify the data source. So  we have the total memory, free memory, and CPU load. Let's start with the CPU load  and click on define data source.  

So we'll do that for each of the OIDs  that we have searched in the MIB browser.   So starting off with CPU load remember I have  taken note of the OID we've searched a while ago. Click search. So there you go we have one  result if you select that this will display  

the information about that specific OID. As you  can see the description says average CPU   utilization over the last second it's OID, from  what MIB, the type, and so on and so forth. If you   scroll down a little bit there is an option  that says manually define object identifier.   Know that you may not have updated  the database for some reason   that means OID is not in our database so you  may use this option to define the OIDs manually   but I recommend using it on a short term basis  if you have to see the data now and cannot   wait for two to four weeks for a MIB database  update. Once you have the update you will want   to switch your poller over to the OID and away  from the static value for a couple of reasons.   First, this feature does not add the information  to the MIB database. The platform or the Network  

Health and Performance Monitoring is designed to  function around the MIB database when it comes   to SNMP. Full functionality of the product is not  guaranteed for anything outside the MIB database.   So let me select the OID again and hit submit  now we're looking at the current result   and it says eight percent. Now if you feel that  the value is reasonable you can go ahead and   click on yes the data source is reasonable and  that value will be displayed in this column.   Now let's do that again on free  memory so we'll just repeat the steps. I'm gonna paste the OID here, search,  select, there's the description. Scroll down a little bit and hit submit and if  the result is reasonable then go ahead and click   yes the data source is reasonable. Then for used  memory this is quite a different process since  

it involves calculation of subtracting free  memory from total memory to arrive at a value   for used memory. So let's do that. First let's  search for the OID of the total memory size. Select and submit. Before we go ahead and click on yes  the data source is reasonable we must add an   additional OID so that we can go ahead and create  a calculation based on the OIDs we've searched.   So I'm going to select an additional  OID and search for the heap free, select and submit. So we have heap free and heap size. Now we  can go ahead and add a calculated value. Let's select the input. First  is the total size minus

heap free. You can go ahead and click on tests  and you have your value for used memory. Let's click on submit and you have  that third value for your used memory.  

So since this looks good we can go ahead  and click yes the data source is reasonable   and we all have the value for all OIDs  we have selected let's now hit on next. Now in the discovery settings you have this option  automatically poll nodes during network discovery,   add node, and list resources to determine  if this poller is a match. Checking this   box automatically polls all nodes monitor that  support these OIDs. In the future any nodes added   that support the OIDs will also automatically  be polled and show in list resources. Right now   we will uncheck that box so that we can assign  the poller later. Hit next, review, and then submit.  

This brings us back to the manage pollers  page. Now let's find the poller we created,  If we look at the group by author there is  one unknown here. Let's click that. This is   what we created a while ago. Remember we did not  specify the author name that's why it's unknown.   The SW Dash poller 1 is currently turned off. You  can turn on using this button, so let's do that.   This is now turned on but not assigned to any node.  Click the unassigned button so we can assign it.

Okay now let's find the adtran device by changing  group by to vendor so it's easier to find that way.   So here's our adtran1335. Let's click  scan now to poll the device immediately.   This will also automatically turn the poller  on. In this environment it shouldn't take a   little bit of time. The scanned result shows  an exact match so we're good to go. Now let's   return to the node details page to see the  desired result by clicking on this node. This could take a few minutes to show  up for this device as the polling has   to be complete. There aren't too many  nodes in this environment but poll now

puts the polling to the top of the current  polling queue which could take a minute anyway.   So just continue refreshing  until the data shows. So let   me switch back to vital stats and  see if we have the desired result. Now we're seeing the data from our custom poller, so it's a success. From this point forward this  

data will be polled on the same interval as any  other statistic on the node. You can click edit   here to change the gauges but right now we have  the data already. A couple of things to note this   resource for the CPU in memory is hidden in this  view if not use so it automatically became visible   with our custom poller. Important to note as if you  ever want to stop getting data for whatever reason   or if this custom poller is deleted this resource  will still show but we'll just continue to show   the last poll data meaning it's stale data  which won't be accurate. You can get around this by  

deleting and re-adding the node which will reset  the resources. If you're not comfortable with doing   that you can just delete the resource, show the  data will still be in the database but you won't   see it. Resources can be added back later. Now I'm  going to demonstrate creating custom poller using   an older tool called the universal device poller  or UNDP. We will use another device and right now   I am in the node details page of our Foundry 624  device. Remember that when creating custom poller   you must obtain the OID for the metric already. So  I have that and we'll use that in this demo. There  

really isn't any hardware monitoring here so we're  going to add some first a poller for temperature   next a poller for power supply and fan status.  We'll have a resource for these pollers with   gauges and everything we have with out of the box  poller. Now let me switch to the UNDP application.   Okay you can launch the UNDP application from  program files and then SolarWinds. You can click   that right here and find the UNDP application  which is right here with a leaf icon.   Okay so UNDP is a back-end application and not  web-based application. Some basic calculations  

are possible with transform result here  and we'll look at that. We'll start with   a poller for temperature on this device. So  let me click new universal device poller.   Okay so right away we need the OID. Good thing  I looked it up. So I'm going to paste that   but you can also browse the MIB tree if you  choose. Now the manufacturer measures temperature   in celsius and one half degree so we'll fix  that later in this exercise. So I have supplied   the OID since this is in the SolarWinds  MIB database I can see the name and then the   description supplied already. So that means this is  the OID I want. Let me click on the advanced option.  

This lets you configure SNMP polling intervals  and other values in this example we'll just keep   the default so I'm going to minimize  that. Keep historical data yes or no.   The data will automatically show in the web  console. This option here is for storing in   the database and here are a couple of questions  to ask yourself before choosing between these   options. First question is do you want charts  graphs and reporting on historical data? Do you   want to alert on this poller or will you be using  the poller in any PerfStack troubleshooting view?   Is this full data what you will be interacting  with or are you going to transform this   into a more usable format? In other words is  this just raw data you'll never interact with?   Because you can choose to save historical data  in the transform tool. So if checked the data  

will take space in the database. Always consider  that with this option no option will allow me to   see current data in the web console but nothing  historical will be stored or an option to display.   For this one, since I'm going to transform this  data into a more consumable format I'm not going   to keep this raw data as I'll never interact  with it so there's no point in it taking space   in my database. Status is enabled that's fine  and underneath you have the status. Let's keep   it enabled and group this is a way to organize  pollers in UNDP default is fine so I'll hit next.  Next is to assign nodes and test. With UNDP you assign  nodes and test at the same time. Be very careful  

with this window. If you select numerous nodes and  click test it will test against every single node.   This can cause significant performance issues  on your platform server and has happened many   times to customers over the years. So test your  poller against a small sample or handful of nodes   then go back and assign to other nodes. So  I'll find my node and test. Here we go, test. Alright so we have the value there. Let's try  to select another node here and do a test this   time for another device. The reason  I did that is to show you the errors.  

On adtran node the OID is not supported. When the  OID is not supported UNDP will let you know.   So I will deselect that and hit next and remember this temperature right here is  temperature value one half degree interval so   this is essentially double the actual temperature  and considering this is Celsius we can go ahead   and transform that to Fahrenheit. So let's hit next.  So here you choose the view. The available boxes   are active and grayed out for the unavailable  boxes. We have to make additional calculations   on your temperature so for now we'll say  no for it appearing in the web console   and we can change that later let's hit finish.  Now the poller is created and it can be modified. Right now let's hit transform result.

This will let me change my temperature to full  degrees and even from Celsius to Fahrenheit if   I choose. So let me hit next and let's define the  transform. I'll just name this SolarWinds poller   transform. You can put description if you choose,  keep historical data, now I'll I will keep the   data as this is the final format and what I will  be interacting with. Status is enabled. Let's leave  

the default group and for the polling interval  I'm going to leave that blank to use the Network   Health and Performance default polling interval.  Hit next, now here's where you define the formula.   So first let's choose a poller and what  we're looking for is actual temperature.   So what we're going to do is divide the  results by two to get an accurate reading   since this is 0.5 value temperature  and then let's select the foundry device and test. Okay so I think this result looks  correct for Celsius. I'm going to convert   to Fahrenheit so it's easier  for us. So let's add a function and look for temperature and choose  Celsius to Fahrenheit. Now I can copy or cut  

the formula and paste it inside the parentheses  to complete this transformation and test. Now the   value in Fahrenheit looks right. So let's hit next  and we will now assign this to the correct device and test.

Looks great, hit next.   Okay so for the view I want gauges and I want it  in vital stat so I'll select those. I also don't   want this in devices where it's not polled so  I'll check that box and hit finish. Last step is   to assign both the temperature and the transform  pollers to the right node which I'll do now. So just collapse all pollers and we put our  pollers in the default group. Let's select both,   hit next, choose the node, choose the node. Here's  our Foundry 624 device and hit finish. Now we  

can return to the web console refresh and poll  until the data is shown. So let me do that. Okay   I'm back to the vital stats let me switch  to summary so that I can click on poll now. Click poll now.

Then let's switch back to vital stats. Let's scroll  down a little bit and we have the temperature.   Next we'll add the fan status and power  supply status pollers on this same device.   I have the OIDs already. So this exercise will  use multiple OIDs one for fan and one for power  

supply status along with putting that data  in a table so it's a bit more challenging.   So just for a review we'll double check the  MIB database and make sure the OIDs are there.   So let me switch back to summary, click the  MIB browser. I'll check the fan status first.   So we have three values here  now let's try the fan status.

Search, select and we also have three values on a table.  So we'll talk about those as we build the poller   and how to use them. So let me switch back to UNDP.  Click new UNDP or universal device poller. Paste the  OID. In this one we'll use the advanced options  because we have to format this data. So let's find   the format drop down and see the options. Okay  operational status seems to be the right one   but when we tested that it only gave an up or down  status so not quite will use and enumerate instead. Now I'll map those values to what I want to  see by clicking map values button. Here I can  

assign statuses to these values we saw in  the OID table where we had two as the values.   So one is other and I don't need that so we'll  leave it, two is normal. I'm going to make it a okay and three is failure which in our world is a  red alert. Let's hit okay and minimize advanced   option. This time, considering I'm using a table,  I'm going to say no to keep historical data. That   takes too much space for my comfort. Now let's hit  next and let's choose the same node for testing  

to make sure all is good. Let's hit next.  Now I'm choosing table and I can name my   columns. The easiest way to do this is to find  your node and click on test. So let's do that.   Hit test. Okay so this will show the actual  table on your node so you can map it correctly.  

I'm working with the fan so I'll map  my values to fan index and hit next.   Now I want to put this in vital stats again  but this time as a table and let's hit finish.   Let's confirm is the poller assigned? Looks  good. Now confirm the poller is assigned. Fan status, hit next. Alright so we're doing it  again. Hit finish. Okay alright and now we can  

return to the web console and refresh for the  data and we should see that all three fans are   all a okay but let's do that later on.  First let's add the poller for power supply.   So we will just repeat the process   with the power supply OID and add it  to the same table. To access the rest   of this training series log into your customer  portal account at

2023-08-27 13:42

Show Video

Other news