Unlimited Network Monitoring with Intermapper Probes

Unlimited Network Monitoring with Intermapper Probes

Can you track the temperature of the refrigerators in your warehouse? Do you have easy access to the status of your UPS system and the storage on your file servers? Find out how you can use and create Intermapper probes that can monitor any network device with an IP address.

In less than an hour, learn exactly what Intermapper probes can do for you and how to create your own customized probes. Topics include:

• What is an Intermapper probe?• What do probes do?• Examples of different types of probes• How to design and create your own probes• Rules for the Intermapper Ultimate Probes contest

Join Rich Brown, the creator of Intermapper, and Pat Cameron, Director of Automation Technology, to learn how to create and use Intermapper probes that will work for you.

Pat: For today’s webinar on Intermapper probes—and probes can allow you unlimited network monitoring—we are going to be talking about what a probe is, some examples of it, and how to create probes. My name is Pat Cameron and I am with Intermapper. I am in the pre-sales area; I do a lot of product demos and I help our customers that are in trials and getting started with the Intermapper product. I am here today with Rich Brown. Rich is one of the founders for DartWare, which was the original Intermapper company, and also one of the creators of Intermapper. I am very happy to have Rich with us today. He is going to share a very small piece of his knowledge, actually, about creating Intermapper probes, and some great tips about how to create those probes. So, Rich, good morning. I know that you are out in Mountain Time; we’re in a couple of different time zones today. And thank you so much for joining us today.

Rich: Good morning Pat. Am I? ... There I am.

Pat: You are.

Rich: Good. I’m really happy to be here. I am also impressed with the numbers of people that are connected in to see what they can learn about Intermapper probes. So, why don’t you carry on?

Pat: Great, all right. We’ve got a lot of customers with us today. I am really glad about the excitement that this has brought up about probes. So this is our agenda for today, this is what we will be covering: we’re going to be talking about what is a probe—Rich has got a couple of great examples of probes—the anatomy of a probe, and how you create one, and then the probe’s content. So, I am going to be kind of the host for today’s webinar; Rich is going to be the main presenter today. I am just going to kind of get us started and then Rich is going to take it and run.

One of the things that we have before we get into the meat of our presentation, we’ve got a couple of questions we would just love for you to answer. Over on the right-hand side I brought up a poll question, just a couple of questions so we get kind of an idea of who we’ve got in our audience: How long have you been working with Intermapper—I know we have some new people, I got some chats early on—and then, have you ever written a probe? Just so we can get some kind of an idea of who we have and the amount of experience that you have with Intermapper and probes specifically.

We’re pretty excited about our probe challenge. I know that our developers are always working on new probes for the product. The great thing about Intermapper is it has a long history of sharing information on the website. And customers have written probes and uploaded them to Intermapper’s website and then shared them with other customers. So you don’t have to reinvent the wheel when you get a piece of equipment, maybe somebody has already done that. So I am going to—it looks like just about everybody has answered this—I am going to go ahead and share the results in a second, as soon as WebEx gets done summarizing what we’ve got out there. We’ve got some great responses. It looks to me like we’ve got quite a mix of experience with the InterMapper product. Let me share.

All right, can you see those? The results over on the right hand side? We've got about 23 people that have less than 6 months. We've got some new people with Intermapper. Then, for more than a year: 72. We've got a lot of people that have experience with Intermapper. A bunch who have not written any probes; this is the perfect place for you to see. Then, a chunk that have written maybe one or two small ones, and a few that have written some detailed probes. So we’ve got a little bit of a mix of experience.

Rich: I don't see the—I’m going to jump in here—I don’t see the poll results yet.

Pat: How about that?

Rich: It hasn't come through yet. But you say that there's a broad mix and so there are a lot of people that are fairly new both to Intermapper and to writing probes.

Pat: Yup.

Rich: Great. Well then.

Pat: Okay. All right then. I am going to pass the ball over to Rich and let him take it away for the details on Intermapper probes.

Rich: Great, thank you very much Pat...

Pat: You are welcome.

Rich: ...for doing the introductions. And I am going to start with just a little about talking about what is an Intermapper probe?

Pat: Rich, just before you get started, I just wanted to let people know, if you want to bring up your chat window, put your cursor up near the top of the screen. Then, a little drop down box will come down—it will drop down from WebEx—and there’s an icon there for chat. You can go ahead and bring that up and then just have it on the side of your screen. If a question comes up, feel free to put your question in that chat window; and then I am going to be monitoring that. We might wait until the end of the presentation to answer those, but we'll kind of see the types of questions that are coming in. So thanks, alright Rich; sorry about that. Take it away.

Rich: That's good Pat, thanks. Intermapper probes' a software plug-in and it's actually a text file that specifies the actions that Intermapper has to perform to test a device. As you know, there's well over 100 built-in probes that test lots of different kinds of equipment. But we don't cover every piece of gear, so we've made it pretty straightforward for you to create one, a probe for yourself. As I say, it's a text file, it lives in the Intermapper settings folder and inside that there's a probes folder.

So think about what a probe has to do... How do you test a device? What it does is, it sends queries to the device—some kind of query—it depends on the device. It gets a response from the device. Intermapper then has to be able to dig the values out of that response using various techniques. Once it has those values, it compares them to thresholds so that it can set the device status. Is it up or down or warning alarm critical? And also, it can trigger alerts based on those states. The last thing that a probe does is, it displays the information about that device in the status window. Intermapper can use a lot of different techniques for retrieving information, I am going to talk primarily about SNMP today: Simple Network Management Protocol. But Intermapper can also make TCP connections to test things like web servers and mail servers or it can run command-line programs to get data from a device. I'm going to talk more about what the format of this text file is.

So each of the actions that Intermapper has to perform, there is a separate—we call them “sections”—of a probe that takes care of it. So there is a section of a probe that lists the variables; it tells Intermapper what kind of data to request and then assigns the values that come back from those devices to variables. There is a display section and that's what shows up in the bottom window. There are thresholds so that the data comes back from the device, maybe it’s utilization or maybe it’s temperature or something like that. You want to be able to compare those values that the device currently has to thresholds that typically you specify. There's a section for description; this is what you'll see in the probe window. It's just text that tells about the probe itself. There's a parameters section; this is a place where customers can enter the values for the thresholds. Then there's an error section that does a lot of housekeeping. I'll talk about each of these as we go through and we'll get to examples really soon.

Now, a lot of you folks are new to SNMP, new to Intermapper; so what I am going to do is give a quick refresher for SNMP. This is like everything you need to know about SNMP in four minutes. SNMP is the Simple Network Management Protocol. Although it has 'simple' in the name, it's not a simple as people might wish. Basically it's a way for a program like Intermapper to retrieve data from various devices: routers, switches, environmental sensors—so that you can look at temperature, air pressure, humidity, door closures, switch contacts, CPU percent utilization, memory, free memory, all kinds of statistics. And every one of those statistics has a name, which is called an OID, an object-ID.

So, what you need to know is that Intermapper sends a request for one or many OIDs to the router or the environmental censor or whatever. And if everything works, the device sends a response back that says, "The temperature is 37 degrees Celsius and the input traffic is 573 bytes a second." So Intermapper sends a request for those OIDs and gets back a response. Now, a company that requests what Intermapper sends is a community stream. Think of it as a password and if Intermapper sends along the proper community stream, the device will answer back. If Intermapper doesn't send the right community stream, then the device won't respond, and in fact, Intermapper will give you the “No SNMP” response message. So you need to make sure that you've got the community stream set right.

Most gear, when it ships from the factory, has a community stream of public, all lowercase. So the letters p-u-b-l-i-c, all lowercase. So let's say you've got the community stream right. Intermapper sends the request and either the device will respond with the current value, or it will respond with a special value called "No Such Name." If you ask a router for the air pressure, the router may not actually know about it, it may not support that OID, it may not have any way of measuring or responding to it. So if you say "what's the air pressure?,” if you send a request for an OID that represents air pressure, the router will send back "No Such Name." “Sorry, I don't know about this.” So you'll sometimes see that in a status window. What it means is you've either typed the OID wrong or the piece of equipment doesn't support it.

So where do you find these OIDs? They are defined in a document called an MIB. Now, the guys that invented SNMP were not good at names because an MIB stands for Management Information Base, and you don't know anything more now than you did when you started. But it's a text document that gives both a human readable name for the OID and a text description of exactly what that statistic is. It's the number of bytes received on an interface after discarding errors and after this and that. It can sometimes be very long, the specific definition of that. The other thing that the MIB file does is it gives a way to convert between the names and long numerical IDs, which are just streams of digits, which are not as much fun to use.

Where can you find OIDs? Where can you find MIB files? Probably the best thing to do is to call your editor or to google your equipment for equipment model and then the word “MIB.” That will give you a document that you can read through to see what sort of statistics are there. So that's a good point. Somebody did make a point that the OIDs also have a type. Intermapper works really hard to hide those. It tries to display them in the right format, in the format that you're going to want to see. I'll get to that in a minute.

So I'm going to show you first what I call "the bare-bones probe." What this is going to do is retrieve a single object-ID from a device and then display its value in a status window. So the OID that it's going to retrieve, the name of it is ifInOctets—I.F. is a nickname for "interface." It's the input's octets; octets are bytes. So it's the number of bytes that have been received on a particular interface. Then we're going to display it in the status window.

So, I'm going to show you two of those sections that I talked about. The SNMP device variables section is a set of commands, each of which sends a query for a single OID. It assigns the resulting value to a variable. So Intermapper has the notion of variables within a probe. So Intermapper is going to go take the OID, send that in a request to the device, get back a value and assign it to a variable that you can then use later on in the display section to show it off, in the status window and also to the various thresholds.

The other thing that this SNMP variable device section does is it tells the variable's display format. This is a little bit about what I was talking about, whether it's an integer or a string or whatever. The final piece is how that label will be attached to a strip chart, if you make a chart. So I've got two examples here, these are in fact functionally identical. We are going to create a variable named ifInOctets, and the top example with all those digits—that 1.3.6.1.2.2.1.10.1—is the numeric object ID. It is what it is, I'm not going to talk about that format because that in itself is an hour webinar and it's not that interesting. The second line does the same thing; it defines a variable in ifInOctets. But it's got the human readable name for the object ID: ifInOctets.1. The .1 means to look at interface number one. So they are both identical; I know I prefer to type the text name. It's much less error prone and much easier to read and understand. The next field is per second.

Now, some variables in SNMP are called "counters." The way they work is they just count up the number of things that have happened. So for the input rate the counter counts the number of bytes that have arrived on a particular port since the box booted up. The box boots up, the counter is zero; a packet comes in with 50 bytes and the counter gets to 50. Another packet comes in with 50 bytes again and the counter now reads 100. So every packet that arrives adds to the number of bytes that have come in.

So the router has been running for the last 20 or 25 days and there have been 14 bazillion bytes that have come in: what's the traffic rate? You can't really tell from that. What you have to do is you have to take a reading at some time. Then take a reading a little while later after a default is 30 seconds later and then subtract those two readings to get the number of bytes that have arrived in that 30 second interval, then divide by 30 to get the number of bytes that have arrived per second. So Intermapper does all that arithmetic for you if you record it per second.

The last item is the label that will be put in a strip chart, if you do make a chart for it. So, we'll move on. The other thing that I want to do in this bare-bones probe is the display section: the SNMP device display section. This is a template for the information you are going to see at the bottom of the status window, some of this text. If you look at the "received traffic" and static text and the bytes per second and the right end is also static text. The ifInOctets with the dollar sign and the curly braces is a placeholder for the actual value of the variable the last time Intermapper pulled it. So every time Intermapper makes a request it's going to update that stream in the status window, substituting the current value of ifInOctets into the status window.

So let's do the demo here. I've got a probe; I'm using a text editor called... this is Notepad++. I don't recommend using Window's Notepad for editing probes; Notepad++ is completely adequate to the task. It's also free. I believe it’s open source, but it's certainly no cost to use. It's extremely reliable, it's been developed over the years and so it's quite good.

So we're looking: this is the entire probe file here. This is a comment at the top, use the same HTML style "<#--" and then "--&gt;". There is a header section. I am going to skip over this; I'm going to skip over the description section as well. But I'm going to get down to the SNMP device variable section, you see the word SNMP device variables in angle brackets and then the "<>" and then there's a closing tag "</SNMP device variables." And another form of comment is "--" at the beginning of a line, or actually any place on the line and the remainder of the line becomes a comment. So this is just sort of commentating to say, first comes the variable name, then comes the object-ID, then comes the format and then the label.

So, just as I had in the example ifInOctets; ifInOctets.13. In my example port 13 has some interesting data per second. Then this is the received: 'RX' is shorthand for received. So in the SNMP device display, what we're going to have is two lines at the bottom of the status window at the line that says "bare-bones SNMP probe" and then "received traffic ${ifInOctets} and then "bytes per second." So let's actually see how this works.

So, I have a probe here and... excuse me, pay no attention to the man behind the curtain... I'm just acknowledging this so the blinking red doesn't make me crazy. So here we go. So status window, standard stuff at the top; name, DNS name; all this good stuff. Then here let me also move this to the front. So the device display says "bare-bones SNMP probe, receive traffic, 3200 bytes per second." If I hit “Control-K” and re-probe it: 34.77.13.9.51. So, I don't actually remember which interface is interface 13 on this particular device, but there we go, we have some data.

Let me show you how to make some changes to a probe file because this is all academic at this point. What I'm going to do is copy this line and I'm going to paste it again. You can probably guess that if there's an ifInOctet, there is probably an ifOutOctet. So I'm also going to copy this line here and paste it there. Then I'm going to make it transmit and I'm going to make sure that stuff lines up. One of the things I'm pretty careful about is, I try to make all the columns line up because it's just easier on your brain. So “TX” stands for transmit and “RX” is received: “TX” is transmit and then this one needs to be ifOutOctets.

So I'm going to save this file and I'm going to come over here and "reload probes." To do that makes the map editable; makes it so the lock is unlocked. I'm going to set info, set probe and here we go, this is the bare-bones SNMP probe. I'm going to click this little circular arrow to reload the probes. The probes have been updated—“probes with errors”—so there’s a problem. I made a mistake. Let me see what went wrong. Let me show you that message again. I didn't read you the important line: consult the event window for more details. Close this, and I'm going to open the logs, event log. So the error message is right there. The error here is debug and the probe: condut.InterMmpper.SNMP.bare-bonestext, which happens to be what I'm working—error parsing OID—did anybody else catch the typo? Okay, so...

Pat: A few people caught the typo.

Rich: Did they really?

That was a purposeful typo. Okay so let's put the 'u' there where it belongs... I see somebody said they were first. Good for you. So save this file and now I'm going to come over here and I could set info, set probe, and click this button, but that's boring. I'm going to show you a keyboard shortcut. I'm going to hold down the "Control" and the "Shift" and the 'T' and—Im sorry, Control-Shift-R for reload. There that's better, probe has been updated, no new probe has been added, one probe is updated. And now, I've got both lines here. Look at that! See the 'N/A'? Remember that Intermapper has to make two samples before it can compute a rate, before it can compute a value for the counters. So what I am going to do is, I am going to—there it goes, okay. Because we're polling every 30 seconds, Intermapper came around again and now it's got the receive and transmit values, and I'm going to Control-T it again and Control-T it again to get updated values. So there we go; that's the bare-bones probe. That's the smallest probe that you can write. I'm going to switch back to the presentation here.

Now I'm going to show a probe that does a lot more, I mean the bare-bones probe is not terribly interesting. The SNMP high utilization probe actually is a probe that we ship in the products, and what it does is it allows the customer to enter a port number and also to set thresholds in the set probe window. The Intermapper probe is going to retrieve not only ifInOctets and ifOutOctets, but it's going to retrieve the ifSpeed, which I happen to know. That is the interface's speed in bits per second and ifOperStatus, which is the interface's flag that indicates whether the interface is up or down or in testing.

So it's going to use these four values to calculate utilization for both directions on the port. It's going to compare those utilizations to the thresholds the customer created. It's also going to check the ifOperStatus to see if the interface is up or down. And doing all that, it's going to set the device severity based on that. The last thing it does is show off our text markup and the description in output section. So first to the parameters section.

The parameters are going to appear in the set probe window, which customers can use to override the default settings for the probe. So they have the format of a variable name, in this case the variable name is "port number." And the default setting is 13. But the customer can change that default setting to whatever they want to use. The variable name later on in the probe is going to be that dollar curly port number end curly. So that's how you'll be able to refer to that variable later on in the probe.

Now let's talk about the thresholds. Thresholds are rules that compare values that come back from the device to thresholds. Intermapper sets the device severity, up and down, and its condition string. The condition string is the string that appears at the bottom of the status window. So you get to control that as well. So here is an example, and the way to read this is... ignore the down for one second here. Look at this expression: ${ifOperStatus} not equal to 1. Turns out the ifOperStatus, if it's equal to one, then the interface is up. So if it's not equal to one, then set the device status to down and set the reason string or the condition string to the text link and then substitute in the ifOperStatus. I'm cheating here. If I have time I'll explain what this is about.

Intermapper emulates the rule. If this expression matches, if this expression is true, it sets the device severity and the condition strength, and then it stops evaluating all the rules. So put your most serious conditions at the top of the list. The description section is a place for you to brag about how wonderful your probe is. It appears in the set probe window, the top part of the set probe window, and it's a place to describe what the set probe does, how you use it. You can talk about the parameters and what you're going to see in the status window.

The description has a funny little markup line which we call the IMML: Intermapper Markup Language. It evolved sort of at the same time HTML was evolving. Certainly if HTML had been a strong standard and easily implemented, we would have used HTML, there is nothing inherently wonderful about IMML that's so much better than HTML. It's just there. But the markup comes between back flashes.

So this says all the text that follows this markup will have these characteristics. 'B' stands for bold, 'G' stands for proportional space font. If you're a long time Macintosh user, you'll know that Intermapper started life on a Mac and secondly that the proportional space font with the Mac was the Geneva font. So it says use Geneva font or any proportional space font. So the entire headline here is going to be “High Utilization Probe” in bold text. The 'P' says to go back to normal, so it's not bold text. The next line says probe monitors; you can probably guess this is going to translate to italics, utilization back to text.

So I'll show you a markup of that in another example. We're going to switch again to another probe; we're going to switch over to the high traffic, high-utilization probe. It's got a comment at the top, it has a header section. Here's the description section; again it has a description and then a closed description tag. There's not a lot of fancy markup here, but I'll show you some other markup down here at the bottom. So this probe monitors the utilization of ifInOctets etc., etc. Let me also pull up the set probe window so you can see this is bold text. This probe monitors the utilization in italics, the port number is in italics, and so you can see pretty much how that works.

It's good to have this up because the next section is the parameters section. The parameters are, again, values that customers can enter to override the built-in, the default values. So the default values on this probe are: the port number is one, the alarm threshold percent is 90, the warning threshold percent is 75. In fact, I want to look at port 13. So I'll put 13 in here and then the Intermapper will test port 13. So here are the SNMP device variables that we looked at in the past. There's a bunch of nuances here.

First off: ifInOctets. That's great, and it's ifInOctets. But instead of hard-wiring in the number 13 which is what I had in my example before, I've got a variable here: so ${port number}, which is whatever the port number the customer has entered. So this is going to get an ifInOctets for port 13, because you saw me change it. It's going to get ifOutOctets from port 13; it's also going to get the ifSpeed as well as ifOperStatus all for port 13. So this is a cool stunt that you can do, you can build up OIDs from multiple variables.

The next three lines in the SNMP device variables are calculations. So what this is, this tells Intermapper the expression to be evaluated and then assigns the result of that to these variables. So here is a variable called InUtil. And it is the ifInOctets which we just retrieved via a query up here. So ifInOctets, which is the number of bytes per second times 8 because there are 8 bits in a byte. So now this is in bits per second times 100 because we are going to make it a percentage and then divide it by the interface speed. And then this will then result in the percent utilization on that interface. On the input side of the interface, not surprisingly, I've got an interface stream and a calculation variable here which is the ifOutOctets; same calculation. I also have an alias string and I won't have time to describe this. We will need to come up with a good way for people to ask questions.

Certainly the support at Intermapper.com will be a good place to do that. We've gone and computed a bunch of these variables. The next thing to do is compare them to some thresholds. The way to look at these is, if this expression here is true, the input utilization is greater than the dollar, alarm, threshold percent, which was the parameter the customer entered up at the top. Then we set the device to alarm and then it scrolls through so you can see the whole message. Then this string—because the reason string, conditions string—it says alarm, high threshold, and it will actually tell when the threshold is exceeded.

We do the same thing for the output utilization. We have the same calculations but with a warning severity if the in or output utilization exceeds the warning threshold. And I commented this line out: let me just uncomment it. So this expression says if—we even looked at this in the example a moment ago—if the ifOperStatus is not one, it's down, set the device to down so the severity is decreasing. Down is more important than alarm, alarm is more important than warning. So if you get through all of these statements without triggering, without any of these rules matching then the device gets set to the “Okay” status and it will be green.

One other thing to talk about: the SNMP device display. So let me open up the status window and see what's going on here. So we've got the SNMP device display that says high-utilization probe. There's some markup on that interface, and there's the port number and then the alias string, which I am going to wave my hand and not talk about. Here is the ifSpeed which shows what the bandwidth is and then the received traffic is ifInOctets, the transmitted traffic. The link is here; here is the ifOperStatus. And then the received utilization is InUtil and OutUtil. So that's what's there.

And sure enough, all those words pretty much show up there; but what's kind of weird is there's colors over here. Where does the color come from? Well it turns out that IMML uses numeric codes for colors and so: five means green, zero means black, four means blue and actually—see this one—equal up or equal down so three is a light gray color. So here we see this is going to be bold text; it’s green, high-utilization probe and back to black text, plain text, on interface etc., etc. So what I'm going to do, I actually looked at this and I said I'd like the bandwidth to be the same line and I want the whole header to be the same green color. So I'm going to cut that and paste it over here and I'm going to put some spaces here to make the colons line up and there we go. To save this: Control-Shift-R . The probes have been updated. Now this is all green. I'm doing this on a local host so I'm not quite sure why it says 74 megabits per second. We've got the received traffic here at N/A, so I'm going to Control-K it.

So there is the probe, a more detailed probe. This is a useful probe. You could use this... well we ship it with Intermapper, so that's what's there. I want to go back, then to...

Pat: I love how you can edit the probe and watch it change as soon as you can update so you can see what it's going to do to that screen.

Rich: Yes, and it's important to have your text editor open and the Intermapper map open and just make changes and update it. But lastly, I want to talk about the specifics of probes in the header section. This is kind of a grab bag of properties for the probe. The probe name and category, I'll show you how they allow you to set its position in the set probe window. You need to specify a type, whether it's an SNMP, an SNMP trap probe or a TCP or a Command-line. Probe version number, port number and maybe the most important is the unique identifier, which is the combination of the package and probe name. So let me just switch back to notepad and I'll go up to this header section here and let's take a look at it.

So the type of the probe is custom SNMP. That tells Intermapper that all the rest of this stuff in this probe, in this file, should be treated as an SNMP probe. The unique identifier for a probe is actually a combination of the package name and the probe name. So the unique identifier for this probe is: com.InterMapper.snmp.traffic-Util. So if you're going to make your own probe, our recommendation is you always start with the package name of “com.your company” or “edu.your school” or something like that. What that guarantees is that, if you have a probe, if you manage to come up with a probe that's called SNMP.trafficUtil, but you've got your company name or your school URL school domain name here—typically reversed for best practice—your probe won’t collide with mine and that's a really important thing. They can be anything you want. You can have something as structured as SNMP.trafficutil. You can say "Fred's first probe." We don't care what they are as long as they're different.

The human name of this string here because the string is in the status window, is the probe string. The human readable text, you want this to help people understand what's there. I'm going to jump ahead. The display name is related, but that determines the position in the set probe window. It's in the SNMP category, so we see this is the SNMP category. The slash then says "make that a sub-probe of the SNMP category." So there it is, this is SNMP high utilization. Let me go to the set probe window for the bare-bones probe that I showed you before. It's in the miscellaneous category and then there's a test sub-category and then bare-bones SNMP. So we see miscellaneous tests for the bare-bones SNMP.

I think it's a good idea to have this name match the human name just for sanity's sake. It's not required. You can have them totally different but my brain gets weary trying to remember if things aren't the same. The version code; you'll notice as I've been making these changes to the probe I have not been changing the versions. What Intermapper does is it looks to see if the current version of the probe that it's got in memory, the one that it is currently using, if that version matches the version on the disk. If it doesn't, then it uses the newer version, the larger version. If they do match, it uses the newer file. So as I make changes on a probe file and reload probes, the Intermapper looks and says: "Ah. The version on the disk is newer than the one I'm currently using. I'll bring that newer version into memory and that becomes the one I use.”

The time to change the version number is if you ever ship that probe to somebody else. That is the time to remember to change the version number. So if I have sent this—in fact I already have sent this out to all of you—there’s a gate-hub repository, Pat will send that to people with all the files that I mentioned in this webinar. So if I ever did any more work on this probe, I should bump this to version 0.4 so that this becomes the newer probe than the ones you have. That way I keep from having reverse motions. Address type: we used to support AppleTalk. We know Intermapper no longer does. So the AT is ignored, but all the other types, IT on a new probe, you certainly would be justified in just saying “header type equals IT.”

The port number: this is the port number that Intermapper will use to try to talk to the box at the other end. So let me open up the set probe window. The default is port 161—again this is where this comes from. If I thought I wanted to do some special fancy testing and I wanted to use port 1161, I could. What I enter here overrides it, but by default it uses this port. There's lots of flags, there's no time to talk about them. But that's what's in the header. Let me look and see what else I was going to talk about. I had planned on showing you another probe but we're running short of time so...

Pat: Temperature probe. We talked about having someone toss it out the window but...

Rich: It's actually in our office in New Hampshire, and we have an impressive low number for the temperature, but I'm sorry you're going to have to live without that. Let me get to the probe editing tips. I just showed you the way you edit the probes but it's safe to edit them in place. Remember they live in the Intermapper settings probes folder. So it is safe to edit them in place because you make changes to it, save those changes, then you tell Intermapper to rescan all the probes in the probes folder. So there's no problem with updating while Intermapper's reading, things like that.

So I always use a .txt file suffix on the probe file name. It will work just fine if you don't, but every operating system says the right thing with a .txt file. So go ahead and edit, save it in the probes folder and just hit Control-Shift-R, or if you're a Mac person Command-Shift-R. In the Intermapper settings probes folder there's a zip file called BuiltinProbes. That contains, not surprisingly, all the built-in probes that Intermapper has; you can expand that. We'll let you see the full text with all of our built-in probes that Intermapper has. You can play with those and have a lot of fun, and see how we do things, modifying them to suit your purposes. Remember to change the package and probe name so that they don't conflict with ours.

You should definitely find the MIB files, you can import them and I'll show you how to do that. So you can, in the file menu, import a MIB. I happen to have a couple of MIB files on my desktop. So when you import a MIB, what that does is it makes it available to Intermapper so that it can convert the nice, human-readable name like ifInOctets to the horrible numerical names like 1.3.6.1.21.2.2.1.10…whatever it was. So importing MIBs is really useful to do because it makes it much easier to type and create probes. You also have to import MIBs in the proper order. It turns out that the sensotronic-centurion.my file relies on the sensotronics-SSMI.my file. So I had to do this one first and then I can import this one. So it was successfully imported.

Pat: And will there be any manufacturer instructions or anything with the device to let you know that?

Rich: The vendors are not really good about providing clues. There is a science to it, and maybe that's another webinar.

Pat: Okay.

Rich: At the beginning of the MIB file, there's a series of statements, and it says it imports from this MIB and imports from that MIB, so you have to import into Intermapper in the same order. Intermapper has a whole bunch of MIBs pre-installed. I should write a tech note that says how to do that: how to know what probes are already installed.

Finally, I'm completely won over by using version control. I don't know if any of you folks have used something like GIT or Mercurial, but I have made my Intermapper settings probes file into a GIT repository so that as I make changes, I can check those changes in, and if I make a disastrous mistake I can back out. Instead of the old mechanisms of saving: "file version one" and then "file version two" and then "file version three," you can just keep saving it and keep running and keep testing it and if you make a bad mistake you just take a step back.

The last slide for me: resources. The Intermapper developer guide is your friend. It's pretty complete. It lists a lot more details then what we have here. There's a much longer version of this syllabus that I've used for four hour training and so that's listed there. Intermapper-Talk, the mailing list, and the Intermapper Forums are a good place for asking questions and submitting answers. You probably know about the contributing probes section of the Intermapper website. Finally, ask us. Support at Intermapper.com is going to get our attention. I think that's it, Pat.

Pat: That is fabulous. Rich, thank you so much for that. Let me bring us back for just a second. We have totally run out of time with all that great information. That is perfect, thank you. Those of you that asked questions, I'll be saving that chat so I have all of the questions and we'll be going through and building answers and we'll be sending those out to all of you. So you will have all the questions and all the answers, a lot of questions about formatting, some about devices, specifically about ports, etc. So we will make sure that we get that information to you along with a copy of the PowerPoint that Rich used, a link to the session...

Rich: [Inaudible 01:02:20]

Pat: What's that?

Rich: Also that GIThub repository...

Pat: Yup, I made a note of the GIThub repository, so I'll get that information from you, then you'll have the information about the contest that we're running. So here are the great, awesome prizes that we're giving away. There'll be a drawing for everyone that submits a probe; you'll be put in a drawing. So these are the prizes: one person will win the Macbook Air, Ipad Air, and AppleTV.

How to create your probe? These are the instructions. You can get all of that information at this link so that you can...yes this works for people outside of the U.S.A. as well, and then there is a form on the website that you can fill out to ask for the probe information, and then submit it and we'll validate it with our support team. So the submission deadline for your probes is February 28th, the end of this next month—coming up this weekend—and then we’ll be notifying a winner by March 30th. I'm sure that will be on our website somewhere. Everyone that submits a probe gets a T-shirt, so thank you very much. We really appreciate you taking the time to join us today. Thanks for your interest in Intermapper. Intermapper has such a great bunch of customers. We just love being able to talk with you. Thanks Rich, that was great. I think even I can create a probe now.

Rich: Okay, happy to help.

Pat: Okay, well thank you very much everyone. Have a great day and we'll see you next time. We’ve got some good ideas for future webinars as well, so thanks for that, and we'll see you next time.