My Profile Photo

Matthew Hodgkins Blog


System Engineer, PowerShell, Chef and Automation lover and Aussie. Living and working in the Netherlands.


  1. Windows Metric Dashboards with InfluxDB and Grafana

    Understanding performance of your infrastructure is extremely important, especially when running production systems. There is nothing worse than a customer calling and saying they are experiencing slowness with one of their applications and you having no idea where to start looking. In the 2014 State of DevOps survey survey, one of the questions asked was how is your organization notified of failure?. Here was the multiple choice question asked: Through the survey, one of the...…


  2. ChatOps on Windows with Hubot and PowerShell

    ChatOps is a term used to describe bringing development or operations work that is already happening in the background into a common chat room. It involves having everyone in the team in a single chat room, then bringing tools into the room so everyone can automate, collaborate and see how automation is used to solve problems. In doing so, you are unifying the communication about what work gets done and have a history of it...…


  3. Setup Windows 10 For Chef and PowerShell DSC Development

    I am in the process of writing up some blog posts about working with PowerShell Desired State Configuration (DSC) and OpsCode Chef from a Windows Workstation / Windows Server perspective. This first article will cover the steps required to setup a development environment for someone that is doing work with PowerShell Desired State Configuration (DSC) or OpsCode Chef. We will be covering the following: Installing git and poshgit - source control for your code and PowerShell integration for git Installing VirtualBox...…


  4. The Ultimate Guide to PowerShell String Formatting

    When scripting with PowerShell, you will come to a point where you need to work with strings that contain variables. Depending on your situation, there are several methods you can use when formatting strings in PowerShell. This blog will walk through these options. We will start simple and ramp up the complexity. We run into our first problem here. We are using a dollar sign in our string, so PowerShell thinks it is a variable...…


  5. Automating with Jenkins and PowerShell on Windows - Part 2

    After reading Automating with Jenkins and PowerShell on Windows Part – 1, you should have a grasp on the basics of Jenkins and be excited to start doing more automation! Let’s start reaching out into our network with Jenkins and take actions on remote machines. Jenkins provides a means to do this, which is to install a Jenkins agent onto each machine you want to reach out to. This is a decent option, but instead...…


  6. Automating with Jenkins and PowerShell on Windows - Part 1

    Take a minute think about how many PowerShell scripts you have written for yourself or your team. Countless functions and modules, helping to automate this or fix that or make your teams lives easier. You spend hours coding, writing in-line help, testing, packaging your script, distributing it to your team. All that effort, and then a lot of the time the script is forgotten about! People just go back to doing things the manual way....…


  7. Using PowerShell To Send Metrics To Graphite

    One side of monitoring that is difficult or expensive in the Windows world is performance monitoring. Windows comes with Performance Monitor, but that is only useful for short term monitoring or for troubleshooting a live performance problem. If you want to keep historic metrics, you might use something like SCOM, but it can be expensive and is a fairly complex product. There is a tool that has been around for a few years in the...…


  8. Replacing a Failed Disk in Windows Server 2012 R2 Storage Spaces with PowerShell

    Failed hard disks are in-evadable. There are many ways to provide resiliency for hard disk failure, and Windows Server 2012/Windows Server 2012 R2’s build in feature to provide this is Storage Spaces. A hard disk failed inside my Storage Pool, so lets switch over to PowerShell to get this resolved. Diagnosis Retiring the Failed Disk Adding a New Disk Repairing the Volumes Remove the Lost VirtualDisks Removing the Failed Disk from the Pool Summary Diagnosis...…


  9. How to fix a Timeout Erorr while mounting a LUN in NetApp SnapDrive

    When you are trying to mount a LUN (by using Connect Disk) in SnapDrive, you may get an error saying: A timeout of 120 secs elapsed while waiting for volume arrival notification from the operating system. This generally occurs when you have created a LUN using the NetApp System Manager first, and then tried to connect to it in SnapDrive. The reason for this error message is that when SnapDrive is connecting to a disk,...…


  10. How To Run VirtualBox on WHS 2001 - Part 2

    Hello, The old hodgkins.net.au blog has been re-directed here. The VirtualBox article is out of date, but you can find a screenshot from the old article below. …