Running Grafana on the Red Hat Openshift Container Platform

Last year we started building our own solution for Performance Monitoring of our Infrastructure platform with the focus on the VMware vSphere environment. The components used for this solution is PowerCLI for extracting the metrics, InfluxDB for storing the metrics, and Grafana for presenting the metrics.

I did a Blog series on this project which explains in detail what we did when building the solution.

The solution has been very well received and are used daily by many of my colleagues, and we frequently update the solution with new metrics and dashboards.

In my initial tests before deciding to build the solution with InfluxDB and Grafana I ran these components in Docker containers locally on my laptop.… continue reading

Chronograf dashboard

Exploring the TICK stack

For those of you that have read my blog you probably know I’ve done a series on performance monitoring infrastructure with the help of InfluxDB.

InfluxDB is a part of the TICK stack delivered by InfluxData. All components are open-sourced and available. The TICK stack consists of, Telegraf, InfluxDB, Chronograf and Kapacitor.

This post will do a quick review and some examples on how I have started exploring them in my Performance monitoring project.

To start of the TICK stack is documentated at docs.influxdata.com. The product documentation is very good and gives a lot of insight into how to get started with the products.… continue reading

vSphere Performance data – Part 8 – Wrap-up and next steps

This is Part 8 and last part (I think…) 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. Part 7 added more data to the project. This part will try to wrap up and look at some future steps.

When I started my project I did it with a clear picture on how and what software I would use.… 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.… continue reading

vSphere performance data – Part 1

There is lots of posts on retrieving performance data from your vSphere environment (I’ll probably use a lot of them in this series), but here’s my take on it.

My ultimate goal is to build my own database of performance data and have a nice front-end presenting this. I also want to have an API that extracts data from the performance DB which I will use in our in-house portals and dashboards.

This project can be quite big and complex so I will split it in 3 parts:

  • Retrieve performance data from vSphere
  • Push data to a database and set up a front-end
  • Build an API on top of the perf db

These will not necessarily correspond to the parts in this blog series as I suspect the posts would be quite long and the different parts will take some time to complete.… continue reading

.NET core gotcha

Recently I’ve been messing around with the new .NET Core.

I’ve created a class library which I’m using in an ASP.NET Core Web API.

Firstly, at least before 1.1, I couldn’t add a reference to the class library just by giving it the .dll file. I needed to create a NuGet package of my library and publish it to a NuGet feed. I set up a local NuGet feed and added it as a source in VS and were able to add my code. This is all fairly easy.

Instructions on how to create a NuGet package can be found here: https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package

And how to set up a local NuGet feed: https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds

After a while I did some changes to the library and wanted to update the package in my Web API project as well.… continue reading

Issue after migration of project.json

I have recently installed Visual Studio 2017 and with that started to migrate some of my .NET Core projects to the new .csproj

Check out this post by Steve Gordon to get more background insight on the migration

This looks easy enough with the migration wizard in VS. And the first try on a class library seemed to work just fine.

However when revisiting the project a couple of days after the migration I get this in VS 2017:

I right-clicked the project and tried to Reload. The migration wizard pop’ed up and told me to migrate. I accepted this only to get a message saying that it couldn’t find the project.json file:

I could see that the .sln file still had a reference to the xproj file so I tried removing the project and readd it.… continue reading