vSphere Performance data – Part 7 – More data

This is Part 7 of my series on vSphere Performance data.

Part 1 discusses the project, Part 2 is about exploring how to retrieve data, Part 3 is about using Get-Stat for the retrieval. Part 4 talked about the database used to store the retrieved data, InfluxDB. Part 5 showed how data is written to the database. Part 6 was about creating dashboards to show off the data. This post adds even more data to the project!

One thing I’ve learned by this project is that when you gather data you are always looking out for other data sources to add! Until now we’ve seen how we have retrieved metrics from all VMs in our environment on 20 second intervals. But what about the ESXi hosts running those VMs? And what about the Storage arrays they use?[...] continue reading

vSphere Performance data – Part 6 – The Dashboard(s)

This is Part 6 of my series on vSphere Performance data.

Part 1 discusses the project, Part 2 is about exploring how to retrieve data, Part 3 is about using Get-Stat for the retrieval. Part 4 talked about the database used to store the retrieved data, InfluxDB. Part 5 showed how data is written to the database. This post will show some results of our work!

As I talked about in Part 1 I had decided to go with Grafana as the front-end. Grafana is an open source software for time series analytics which can make use of several datasources, making it the perfect match for the data in my InfluxDB.[...] continue reading

vSphere Performance data – Part 5 – The script

This is Part 5 of my series on vSphere Performance data.

Part 1 discusses the project, Part 2 is about exploring how to retrieve data, Part 3 is about using Get-Stat for the retrieval. Part 4 talked about the database used to store the retrieved data, InfluxDB. This one will do some actual work and will retrieve data from vCenter and write it to the database.

The last post showed how to write some data to the performance database InfluxDB through its API. As Powershell is good at interacting with APIs this is what I will use for writing the data.[...] continue reading

Issues with Get-Spbm* PowerCLI cmdlets and vCenter 6.5

We are using Storage Policies on all VMs in our environment and rely on those to give the VM’s the correct storage. Storage Policy based management is a key area for VMware going forward it seems, especially with things like vSAN and VVOL.

In addition to matching a VM and it’s storage we are using the policies to set limits on the VM’s. We have a shared environment and we have to have some limitation on the VM’s so that one VM couldn’t impact all the others. To ensure this we have a couple of scripts that retrieves all VM’s and their corresponding policy and based on the policy naming convention we are setting IOPS limit and the Bandwidth Cap for that VM. The scripts has been working for a long time, aside from some bugs with the limits it self which VMware support is looking into.

After upgrading and migration some of our vCenters from Windows vCenter Server 6.0 U2 to the vCenter Server Appliance 6.5 it seems we broke the Get-SpbmStoragePolicy cmdlet. PowerCLI is updated to the latest available version as well through the PowershellGallery.[...] continue reading

vSphere Performance data – Part 4 – InfluxDB

This is Part 4 of my series on vSphere Performance data.

Part 1 discusses the project, Part 2 is about exploring how to retrieve data, Part 3 is about using Get-Stat for the retrieval. This post will be about the database used to store the retrieved data, InfluxDB.

The last post left of with the beginning of a script that had retrieved data from vCenter. Before I can finish that script I need to have somewhere to put that data. As I discussed in Part 1 I had decided to use InfluxDB for this purpose.[...] continue reading

vSphere Performance data – Part 3 – Get-stat

This is the Part 3 in my series on vSphere performance data.

Part 1 discussed the project, Part 2 was about checking the methods of retrieving data and ended with me realizing I would use Get-Stat against all (4000) VMs to retrieve data.
Part 2 was posted over a month ago as I have been busy preparing for the VCP 6.5 DCV exam (which I passed btw) as well as upgrading/migrating our vCenter servers, but I have actually been able to do a lot of work on this project as well so there will be some updates in the next couple of days.

Previously I had done some benchmarks on retrieving data from VMs using PowerCLI and the Get-Stat cmdlet. I would land on roughly 1 second per VM to retrieve and process the metrics I wanted. As I discussed in part 2 that would result in 4000 seconds to retrieve the data I needed, and with my goal to retrieve all 20 sec metrics within 5 minutes I would need to have around 14 scripts running simultaneously to achieve this.[...] continue reading

Differences and bugs in Windows 2016 Task Scheduler

I’m using the Scheduled Tasks functionality in Windows Server quite extensively. I have tasks for importing stuff to a database with Powershell scripts, running some cleanup scripts etc

Almost all of my scripts run on different intervals during the day. Some maybe just once a day and some might run every x minutes.

Recently I encountered a difference in the way Scheduled Tasks work on Windows Server 2012R2 (and below) and on Windows Server 2016.[...] continue reading

vSphere 6.5 upgrade – vCenter server. Check your database size

In my last post about upgrading vCenter to 6.5 I’ve outlined the steps I needed to do for the migration. Both pre-migration, the actual migration and some post-migration steps.

Today we were about to upgrade/migrate one of our oldest and biggest vCenters which presented some additional steps to consider for the pre-migration checks and tasks. This is also described in the VMware documentation so it shouldn’t be a surprise to those reading that before migrating.

Anyways, we started the migration and all seemed fine until the Deployment size of the Appliance were shown. The installer only gave one option, the x-large.[...] continue reading

vSphere 6.5 upgrade – vCenter server

In a previous post I talked about the upgrade of our vSphere environment. The first post described the upgrade and migration of the Platform Services Controller (PSC) from a version 6 running on Windows to a 6.5 Appliance.

Our upgrade path would be PSC -> vCenter -> Hosts. Our environment consists of several vCenters so this will take some time and we might upgrade hosts in a vCenter that has been upgraded to 6.5 before we finish upgrading all vCenters to 6.5

With that, let’s look at upgrading a vCenter server to 6.5![...] continue reading

vSphere Performance Data – Part 2 – Retrieve data

This is part 2 of my vSphere Performance Data series. Part 1 described the project and my goals with the project.

This post will be my thoughts on retrieving performance data from our vSphere environment. As I described in part 1 our environment consist of 100+ hosts and 4000+ VMs. These are hosted in 3 different vCenters in the same SSO domain (Enhanced Linked Mode). All hosts and vCenters are at version 6. We are in the process of upgrading vCenter to 6.5 as I’ve talked about in a previous post.

Currently we are using Turbonomic in our environment which also retrieves performance data from the vCenters that it uses in it’s main purpose which is to balance the load in our environment. As it retrieves and presents performance data we are using this is our source of perf data in our in-house portals and dashboards. I’ve blogged about this on the Turbonomic community site previously where I talk about how I use their API in our dashboards.
Turbonomic stores their “real-time” data in 10 minute intervals and the trend data is stored hourly with average and peaks.[...] continue reading