2

Our helpdesk is noticing that many network issues are associated with medium to sever weather at some of our regional locations.

Now this has been escalated to L3, I do see a correlation between dropped packets, higher latency, occasional peering issues as the target's ISP fails over to a new datacenter, etc.

I would like to take all known public IPs (or geolocated office locations) and monitor for pending weather issues.

What would I do with this information?

  • Add a banner text to relevant helpdesk tickets saying that weather is possibly playing a negative role
  • Update technicians as needed so that it can be included as one of the potential contributors of the caller's issue

The recommendation would be to switch to the backup ISP/provider as given.

Question

Is there any way I can correlate public IP addresses, BGP routes, or the like with the end goal of linking to moderate to severe weather events, and notifying humans accordingly?

3
  • 2
    Sounds like a new "excuse of the day: bad weather" for the BOFH excuse calendar ;)
    – HBruijn
    Dec 15, 2014 at 22:08
  • A quick search with "weather" and "API" yields numerous results. So, yes that should be possible.
    – HBruijn
    Dec 15, 2014 at 22:13
  • 3
    Easier way we do it - overlay a weather map from the national wether service (I think, something like that, at least) over a map with all our sites on it on our NMS homepage. We don't seem to get as nice a correlation as you do, but when there's a power outage or link down, we just check the map - if there's severe weather at the site, I know it's safe to go back to my ---nap--- important sysadmin duties. Dec 15, 2014 at 22:20

1 Answer 1

2

There are probably a great many ways to do this, but here's what comes to mind for me. It doesn't seem so hard. This might actually be a fun exercise.

First, you want to geolocate the IP address. There are a few free ones such as HostIP.info and IPInfoDB (among MANY others). You should probably try and grab a zip code, or if you're international, then latitude/longitude coordinates. This can be done by API calls, so it's not hard to integrate into your system.

Second, look up the weather for the requesting site. You're going to want to tailor this directly to the response from your chosen API. For example, WUnderground's API allows for 500 free lookups with enough data provided to suffocate a small township. Many other weather APIs exist that also can provide information, some free and some paid.

The integration itself is going to take the work. You'll need to do the following:

  • Register with geolocation and weather APIs (All of them require some form of key to authenticate)
  • Acquire the requester's IP address (you may already do this)
  • Request geolocoation of that IP, and process the response json/xml for zip or lat/long coordinates
  • Request weather data for the location, and process the response json/xml for interesting data. Severe weather alerts, current conditions, rainfall, whatever is interesting to you.
  • Store that data in the ticket in a meaningful way
  • (optional) - Do the same thing, but add in a traceroute to/from the requester, and geolocate the intermediate hops for more weather goodness.

Have fun with this!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .