Installing MRTG and RRD in Azure on Windows Server 2012R2

It’s been a while since I wrote anything down, albeit I’ve been keeping very busy. This week though, I’ve been digging through lots of articles and such and it triggered a thought in my mind…If I document what I do publically, I can always go back and look at it (I refer to my booting an OS from a USB article all too often) and also I can share my experiences with the broader world!

Today’s post as the title alludes to takes us down the MRTG route in the Azure world. First off, MRTG is a great program that was written many years back by a guy named Tobi Oetiker. The latest release is 2.17.4 which was released in January 2012, yet it’s still a great tool. The simple idea behind it – you run a script every 5 minutes that takes two input variables and then it graphs them. The most common use for this is routers – in and out packets – hence the name MRTG (Multi-Router Traffic Grapher). However, you can do just about anything you want with MRTG. One of the things I do with it is simply plot the same number twice in some instances which gives a great effect to the number I’m displaying (say the number of active helpdesk calls).

At any rate, with the ability to go Hybrid Cloud, the premise of this article is to explain how to get it working in Azure on Windows 2012R2 (sure you can do the same on-prem too)…If you’ve got an MSDN account, you’ve got monthly credit to use too, that’s what I do with mine :)  So, let’s get going:

1. Create a new VM in azure (New -> Compute -> Virtual Machine -> Quick Create)

Windows Server 2012R2 Datacenter – Basic A0 is what I went for


2. After the VM Builds, log in and patch it

3. Turn off IE Enhanced Security (for the time being) – Server Manger -> Local Server -> IE Enhanced Security

4. Download the latest version of ActivePerl

5. Run the ActiveState installer and install to c:\perl64 (the default directory)

6. Download the latest MRTG Windows .zip file

7. Unzip the package to c:\

8. Rename mrtg-2.17.4 it to mrtg

c mrtg

9. Download the latest WebPI

10. Run the Web Platform Installer and choose to install PHP 5.6.0 (Note this will install 19 “components”)

11. Download the x86 version of the Visual C++ Redistributable 2012 (even if you have an x64 install use the x86 version of the C++ package because PHP will run x86) Install PHP 5.6.0 (optional)

12. Install the Visual C++ Redist

13. Download the PECL library for RRD (ensure it’s 5.6 Non Thread Safe (NTS) x86)

14. Copy the following .dll files in to to c:\program files(x86)\php\v5.6\ cairo, expat, fontconfig, gobject-2, pango-1, pangocairo-1, pangoft2-1, pangowin32-1, pixman-1, rrdlib

standard dlls

15. Copy php_rrd.dll in to c:\program files(x86)\php\v5.6\ext\

16. Open c:\program files(x86)\php\v5.6\php.ini and add the following to the very bottom of the file “extension=php_rrd.dll”

php rrd dll

17. Open notepad and create a file that has “<?php phpinfo();?>” in it (sans the “‘s)


18. Save this file to c:\inetpub\wwwroot as “about.php” (make sure you put “‘s around the file name so notepad saves the .php extension)

 save as

19. Open IE and navigate to http://localhost/about.php to see it’s installed correctly

php about screen

20. Scroll further down to also see that the RRD library is enabled

rrd lib enabled

21. Open a command prompt

22. Change the directory to c:\mrtg\bin

23. run “perl mrtg”

perl mrtg

If MRTG is installed correctly, you’ll see the program disclaimer.


The next article will talk about what you can do with MRTG and PHP together. Hope you enjoyed!

Tags: , , , ,

How Ruby Tuesday Changed My Life

Let me first set the stage here…I live in Seattle, WA and worked for Microsoft up until January of this year (2014). When I left Microsoft, I decided to take a small hiatus from IT (after being in it for nearly 20+ years) and got a job with Ride The Ducks (which let me say, is a blast!). On the other side of the country was my mother, who works for Election Systems & Software and travels around fixing computerized voting machines….

It all began on April 13th in Edinburgh, Indiana where she was eating dinner at Ruby Tuesday and she started up a conversation with a woman across the bar from her who worked for Elwood Staffing. My mom quickly deduced from this individual that her firm staffed IT roles and knew her son was no longer in IT (but she wanted him to be). So, as mothers do, she began plugging her son’s skills. She mentioned that I worked overseas for many years doing logistics programming for the Dutch Government. She mentioned that I worked for Symantec and traveled throughout Europe, The Middle East, Africa, and of course she mentioned that I worked for Microsoft and had also given numerous presentations around the world on various topics in the Computer industry. Then, as mothers do, she filled in the last details of the story – that I worked as a comedian/entertainer for Ride The Ducks. Of course not really knowing fully about what the company did, the female from Elwood Staffing inquired about Ride The Ducks. I had recently sent my mother some photos of my various guises I assume while giving tours of Seattle. I’m sure at this point, the woman felt a bit of pity for me, so she gave my mother her business card and to pass on her details to me.

My mother, seeing an opportunity for me to get back in to IT at this point, quickly text me her details. I actually got quite upset, as I initially interpreted it as my mom trying to get me to move away from Seattle (which I dearly love), so I called and left my mom a pretty terse voice mail. However, respecting her and not knowing the full conversation she had with the lady, I politely sent the staffing consultant an email letting her know a little about my background in IT and also stating that if possible I’d like to mesh it with the medical field as I was also a volunteer firefighter and EMT (if I were to be placed). Her reply was initially brief, yet informative and had some contact details at the bottom. Her reply asked for my full resume and the contact details revealed a telephone number that began with the area code 616. I replied, including my resume, and asked about the area code…if it was her number or if it was just a “corporate” office number. The reason behind this – back in 2000/2001, one of my best friends from college – Joe Sus (Joe the UCx Guy) – lived there, and as such, I had spent a lot of time in the Grand Rapids area (the 616 area code).

She replied stating that the 616 number was actually her cell phone and she was from the Grand Rapids area, which began the exchange of information back and forth about the city. Interestingly enough, Joe worked at Integrated Architecture and the woman knew the company well, as she actually had dated an individual from there. Conversations went back and forth, professionally, about various places we had both visited (as she traveled as well). Being a tour guide for Ride The Ducks and loving Seattle, I told her all about the place where I lived, as she’d never been. I also suggested that if she ever did visit, I would graciously give her a tour around the city (and of course hinted at riding the duck!). For those of you that know me, you’d know that’s my personality and hospitality, to show anyone around where I live and know and to ensure they enjoy themselves.

As fate would have it, she was actually traveling to the Elwood office in Orange County in May for business and I made the suggestion to see if there were any flights from Orange County to Seattle for the weekend and I’d show her the city. She thought the idea sounded like a halfway decent one and looked in to flights up to Seattle from Cali. One showed up for just under $100 round trip and she decided to book it. She figured she could see the city and she also had a great passion for her job and it would be an opportunity to personally meet a potential placement candidate – to get to know them better and maybe help place them in IT (per my mom’s need). Once the flight was booked, she let me know the dates and we started to look at if I would be driving the duck that weekend or not. Being a male, I totally spaced that I wasn’t working that weekend and rather, I was to attend the wedding of a great friend of mine (which I couldn’t miss). Noting all of the coincidences thus far – her coming to this side of the US, her having connections to Joe’s company, etc, I thought, heck, let’s invite her as my guest to the wedding.

I sent her an email back inviting her to the wedding, which at first she thought was a joke. After realizing I was serious, she decided that it could be fun and she enjoyed attending social events, so she obliged. Now, noting that we were going to a wedding together, we thought we probably should get to know a bit more about each other because, surely, there will be questions asked of us at the wedding. With this in mind, we set up a telephone call to “introduce” ourselves to each other – because at this point all communication had actually been via email…

Two weeks came and went and she arrived in Seattle on Thursday, May 15, 2014. I went to the airport to pick her up and actually ended up arriving a bit early so I text my friend whose wedding was that weekend letting him know my date was someone whom I’d never met before and that I was about to pick up at the airport. He sort of chuckled and replied asking if she “…came with a return policy…”, because this was of course his wedding. She text me letting me know she was at arrivals and when I went to pick her up, she was fairly tired and in lieu of giving me her luggage, it was more thrown at me (though I know this wasn’t the intention – it was a joke that carried on through the weekend).

On Friday, I showed her around the city and ensured that going to the wedding with her was the correct decision and I’m sure she was asking herself some of the same questions throughout the day. We went to the wedding on Saturday and of course the questions ensued. How do you know each other being the main one, naturally. We made it through the wedding and had an amazing time and then on Sunday we did more tourist things, only this time a bit more low key as she had to depart on Monday. By Sunday evening, we had spent all of four days together, yet it really seemed as if we had known each other much longer. Strangely enough, she was in the process of finalizing the sale on her house in Grand Rapids and her “return” trip would have had her living soon with her parents. Noting this, and also recollecting the fact she stated there was an Elwood office in the Seattle metropolitan area, I asked what it would take for her to move out to Seattle to start a relationship.

She thought long and hard about this and seeing that she would have to move across country, start “new”, essentially reset her life, she replied, “I’d need to get married to move out here.” We both had foundational church backgrounds and knew that marriage was the only correct way to do things if we did in fact want to live together under one roof, so we talked a lot about what we both wanted from life, where we had both been in life, and where we were heading. Ironically enough, we were both wanting to head the same way, so as crazy as things had been thus far, we decided…let’s get married.

Initially this seemed far fetched as she had to return to Grand Rapids to finish packing and we had really only known each other for just over a month – with most of that being email communications. None the less, she returned to Grand Rapids, and initiated the packing. To move across country would be no easy feat and her house sale was closing in two weeks. Communication between myself and her went from email to telephone and now multiple times daily, trying to coordinate how this could work. Plans began to formalize and I was to fly out to Grand Rapids on June 3 to help her pack a U-Haul, load a car trailer (which was to be towed by the U-Haul) and then to drive across the country with her. It was all still seeming a bit surreal at the time…

On June 3, I flew in to Grand Rapids and that evening, quickly met a lot of her closest friends and family and we began to pack the U-Haul. On June 4th we finished loading the U-Haul and I vividly remember her mother telling me that “…Seattle isn’t that far…don’t hurt my daughter…”. I told her that her daughter was in good hands and if it wasn’t that far – please come visit soon! We left Grand Rapids that evening and headed for Indiana, where I grew up, in order to quickly “drive by” and introduce her to my family as we began the long journey to Seattle. The evening of June 4th, she met my dad, step-mom, sister, brother-in-law and niece. We even got the chance to quickly surprise my grandmother by stopping by the RV/MH Hall of Fame. The following morning, we got up at 4 a.m. and began the 2,000 mile trek.

Before even getting to Chicago, the check oil light came on…We called U-Haul and they said, no biggie, keep going, so we did. That day, we drove over 1,000 miles and ended up in Wall, South Dakota. Wow, that’s all I can say about Wall, yeah, just wow. The next morning we got up early and left thinking we might make it most of the way through Montana. We actually did better than that, we made it almost to the Washington state border, ending up taking a three hour nap at a rest stop in Coeur d’Alene, Idaho. The afternoon of June 7th, we pulled in to Seattle, having made it over 2,000 miles in just over 2 days – which included going up the Continental Divide and Homestake Pass at 27 MPH…

June 8th was left to catch up on sleep and it also revealed to us that she had to be back in the Midwest for a meeting the following week, so I was left with a 21′ U-Haul’s worth of contents for a week, until she returned on June 12th. On June 13th, I left the house at 4 a.m. and left her in charge of further unpacking and rearranging as well as becoming more acquainted with the area. When I returned home from work, I found out that she had driven in circles for nearly thirty (30) minutes attempting to get out of the neighborhood, but got frustrated and gave up and headed back home. Trying to explain directions out of the neighborhood at this point didn’t help, so we decided to keep unpacking. That afternoon, after realizing her frustrations, I suggested we go get a marriage license, noting that there is a three day waiting period before you can get married and a validity of 60 for the license itself. The remainder of the weekend was unpacking, sorting, donating and introducing her to my church, Church on the Ridge.

Prior to and after the service, I introduced her to other members as well as the Pastor. We explained our story thus far to the pastor and told him our intentions of getting married and that we had just secured a marriage license. He was very interested in her, myself and of course all that was going on, however he stated that in order for him to entertain a marriage, we’d have to go through a minimum of three premarital sessions with him. We were both completely understanding of this and asked when his next availability was, however due to a vacation planned as well as the Church’s engagement in the community on the upcoming 4th of July, he wouldn’t be available until after then! We completely understood and took the first session he had available, July 7th.

We met with him on July 7th and a lot of good came from the first session. Some of it required even more changes to our lifestyle and the house, but we wanted to do this the right way, and even though everything else had happened at 500 MPH, we were forced to slow down, which for both of us was a good and needed challenge. We had homework from the July 7th meeting and completed that and again met with him the following week on July 17th. Again, another successful meeting, with more homework, this time reading. Reading assignments complete, it was time for the third meeting…July 22nd came and we were super excited. We had the third meeting with Pastor Charlie and we could see the end in sight. After our final “required” meeting, he went ahead and gave us his approval and said he’d be happy to marry us.

…Well, yesterday was July 27, 2014, and I’m happy to say, Julia and I are now Mr and Mrs Rodino. She’s amazing and I’m super lucky…and to think it all began at a Ruby Tuesday I’ve never been to before, all with my mom trying to get me a job in IT.

I’m still looking for an IT job at present to supplement my job at Ride The Ducks if anyone is looking :)

Justin at





Tags: , ,

Creating Mobile Websites

First off, apologies as it’s been quite a while since I’ve made a posting. I’m gonna try and change that :) I’ve really got no excuse. So, to try and get back in the groove, I’ve just created a new website project that uses varying parts of PHP to do a number of things – mostly to keep me informed of the ever changing Washington State weather. It has a configuration file that has a listing of all of the passes in Washington State and then from the pass names, it has a few arrays that specify cameras, etc and them embeds them in to a mobile based website:

Check it out. It defaults to Snoqualmie Pass because that’s the one I travel over most. However, you’ll notice at the top left, the three horizontal bars. If you click on the three bars, by default it will show you the cameras associated with that pass. The cool feature however is if you click on the pass name at the very top of that menu system, it will take you to the “main menu” and list all of the passes. Simply click on your pass of choice and presto, you now are whisked away to that pass and all of the associated cameras. It also uses the WSDOT RSS feed to grab the weather quickly so you’re always up to date. No need for an app, no need to have to pinch and zoom on WSDOT’s site, you’re all set!

If you like it or have feedback or comments, please let me know!! Send me an email – my address is simply!


Using algorithms to evaluate status

Today I had an interesting one happen. Starbucks has a reward program wherein if you use their card 15 times you go to a “Gold Level”. Once at that gold level, it keeps rotating every 15 times. You can check the status by simply logging in to their website and go to your “My Rewards” page or your account. Interestingly enough, today when I logged in, I got a page that said “Gold Level” however to spread the word about the program, they provide you with a social media plugin (FB & Twitter) at the bottom. Somehow though, because I was at the reset point (0/15) the reward plugin wanted me to tweet I was at a Welcome level:


Hmm, looks like there might be some work needed on that algorithm Starbucks Winking smile


Send me email at my web address–what?

So, I take the bus to and from work every day as I’m still a bit European in my ways. The bus company – I won’t mention any names – recently announced some new routes and as such they’ve posted announcements about the upcoming changes. Have a look at this one, which I found funny (at 6 a.m.!):

proposed route 234

The best part, which like I said, made me laugh at 6:00 a.m. was Jack’s email address in the last paragraph. If you’ve got problems you’re supposed to send him email at which makes me wonder Jack, do you want me to email you or go to the website cause that surely isn’t an SMTP compliant address.


Tags: , , ,

Dear Columbia, you need a java update

So, the winter season is upon us and so are the updates. Yep, I’ve found another one. Was shopping for a new winter jacket the other day in the Columbia store, and what did I come across? You guessed it, another kiosk infraction (and it’s running XP – yuck)!


Let’s take a closer look at that there kiosk:


Hmm, how about a bit closer?


Yep, Java Update Available. Yet another reason why automatic updates are a bad idea (especially on kiosks).

Tags: , , , ,

Is United Ready for Continental?

Over the past ten years travel has been a necessity in the business I’m in. I’ve had to travel all around the world for various clients, projects, meetings, etc. As such, I’ve been a Delta Platinum/Diamond member for multiple years, Virgin Atlantic Silver/Gold member, Scandinavian EuroBonus Gold member and most recently United Premier Executive (I’m only a few miles away from 1K status).

In the recent months of travelling on United, Jeff Smisek, CEO of United prefaces each safety video with the fact that as of October 1, 2010, Continental is now United and United is Continental. This is also the focus of many of the articles in Hemisphere and it got me thinking, is United really ready for Continental or are they going about this without planning? Here’s my thoughts:

Painting Planes

In both the October 2010 Hemisphere’s as well as now in the November article, it’s pointed out that the first thing we’ll see as frequent flyers is the new livery. Big Deal. Here’s a suggestion, why don’t you take the money it takes to paint the plane and invest it in something worthwhile, rather than making sure the new United font is on the outside and the globe is on the tail. What do I mean? Well, a while back United was a pioneer in on-board wireless connectivity. They boast about being the business man’s airline, yet when I get on board, I don’t have wireless capabilities. Almost every other airline does. Take the money you’re using to paint the planes and put it to something more useful.

Take care of your Frequent Flyers

Currently in the Miles Plus Frequent Flyer scheme, there are five tiers (four if you count the default one) – Premier, Premier Executive, 1K and Global Services. The last tier is a coveted one for buying loads of full fare tickets but the others are attainable by flying more often. However, while there are some “perks” with each tier, in my years of travelling, the perks with United are minimalistic when it comes to flying and it seems as if they don’t care too much. Here’s an example. I was on an international flight the other day and asked if business had checked in full. The gate agent said no. I asked as a Premier Executive if there was anything I could do to get an upgrade and their response – no. Again, this is something small, but other airlines give vouchers as that level and also should Business Class not check in full, be kind to those that travel often and give them a complimentary upgrade – after all, the food is already on the plane and the person is going to be on the plane as well.


October was a busy month and I got to go both east and west – essentially crossing both oceans. What I noticed amazed me. There is no continuity between overseas flights on United. What do I mean? Well on a flight from Seattle to Tokyo – an international flight – alcohol is free. Yet, take a flight from Chicago to Amsterdam (same distance), again another international flight, but this time you’ll get charged $6.00 for alcohol. Another small thing, but the mapping program onboard…go east you get one version, go west you get another one. Further, go west and it will end up in English as well as the destination language. Go east and it will only be in English (however I must say the east bound version seems newer, more clean and the better of the two versions).

Channel 9

United was really on to something good when they introduced Channel 9 on to their planes. I remember about 4 years ago finding this channel and thinking, wow, for the avid flyer, this is pretty cool. For those of you unfamiliar with Channel 9 it’s “straight from the cockpit” wherein you hear the communications of the pilot with ATC. However, the problem with channel 9 is it’s like a crap shoot. One plane will offer it, one won’t and there isn’t any reason why. Sometimes pilot’s tell you they’re going to do it, other’s just ignore it and there’s no method to the madness. Why not write in to the policy of the flight attendant or even the pilot in his/her intro message to tell you about channel 9, as you were really on a winner on this one, but now it’s hit or miss…


There are more than the above I’ve noticed however they are some of the main ones. Another one that makes me laugh is that United don’t seem to provide luggage tags for Frequent Flyers (it promotes your airline after all guys), yet every other airline does. It gets so bad that a group of people over at FlyerTalk have devised their own. Again, is it important to update the livery rather than simply print luggage tags for those who fly often with you?

In short, I think United really has some housekeeping they need to look at/address first before they think that taking on Continental is the best thing to do. After all, what are you going to do when merging Continental traveller’s in to your system? The elite get free standby and we don’t on United and their top tier is 75,000 miles not 1K.

Seems United is trying to run before it can walk…Just like any IT project – planning is critical here and I’ll be interested to see what comes off the back of this grandiose plan/scheme that Mr Smisek says “good things are going to come from”…

Adding the cool factor to Microsoft

With the upcoming release of Kinect for the Xbox (everyone should have gotten a system update within the past few days), Microsoft has added one other “cool” factor to the marketing push for Kinect. The executive team at Microsoft, who are prominently displayed on the Press Pass site:

have all been turned in to avatars, with the exception of Sinofsky.


I don’t see Apple doing this any time soon, nor does Nintendo have Wii characters for their executive board Smile

Tags: , , ,

Dear SeaTac, I upgraded your kiosk for you

So the other day I flew in to SeaTac thinking, wow, I haven’t seen any blue screens or problems recently (ok, I did see a few but didn’t have my camera), when BANG. At that moment, walking to catch the bus (yes I take the bus to and from the airport), I came across a kiosk and it had a dialogue box up. Most of the time when I come across a kiosk with a dialogue box it is usually stating it needs a reboot, however this one, strangely enough wanted to upgrade…something I don’t think should/is/was supposed to be a consumer task. At any rate, here is the kiosk:


and the close up of the kiosk:


so, I went ahead and clicked update for the version update for SeaTac. Not sure if you’re now out of EULA or your license allows you upgrades to LogMeIn or not, but hey, you gave me the chance/option to upgrade and as we all know, the newer the better and with software always use the latest and greatest, right?! Smile

Tags: , ,

You know you were on a bad flight when…

This morning I woke up to check my email after travelling 16 hours yesterday to my destination only to find the following email in my inbox:

On behalf of all of us at XXXX Airlines, I want to take this opportunity to reach out to you regarding Flight XXX on October 24th.

I realize how alarming it can be to experience unexpected turbulence during a flight such as you encountered during your travel from Tokyo. Please know that XXXX utilizes some of the best technology available to help ensure smooth air for our customers. Even so, turbulence can at times be unforeseen and simply unavoidable. Our crew used their experience and training to ensure the situation stabilized and that everyone was comfortable as the flight continued to XXXXX. I can certainly appreciate any concern and anxiety you may have felt personally or on behalf of others. Thank you for your understanding of this unusual in-flight event.

Whether in the air or on the ground, our priority is keeping our customers and our people safe. And while safety is at the core of our business and the foundation of everything we do, we are equally committed to service. We welcome an early opportunity to better serve your travel needs in the near future.

I guess as a seasoned traveller I take turbulence for granted but it must have been really bumpy for that email to be sent (oh and of course the paramedics did have to board at disembarkation to help some passengers with wounds, so yeah,  it was probably serious).

Tags: ,