dbretty / EUCMonitoring

End User Compute Monitoring Platform that is FREE and based on PowerShell. Will cover Citrix, VMware and Microsoft technologies. Driven and written by the community for the community
http://bretty.me.uk
Apache License 2.0
37 stars 19 forks source link

Build status

EUC Platform Monitoring Tool

Project Desription

This is a EUC monitoring platform that is based on Powershell and FREE! It will check all the key components of your End User Compute Estate and give you a visual dashboard as to the current state. It is currently focussed on Citrix but will eventually be branched out to cover VMware and Microsoft Technologies.

Motivation

The reason I started writing this is because I wanted a platform that will give you a high level, birds eye view of whats happening on your End User Compute Estate. More importantly I wanted it to be free! There are a number of products out there that can give you a lot of detail about whats happening but none that give you an overview of everything. Thats what this is intended to resolve. It will automate and take away the steps that you normally do day to day on your estate and give you all of that information in a nice visual dashboard.

Installation

To install and run this software follow these steps

Pre-requisites

On-Premises

The Server that you want to run this script from must have the XenServer and XenDesktop PowerShell SDK Installed. Install Citrix Studio on the monitoring server and also install the XenServer SDK from the XenServer download page.

Cloud

The Server that you want to run this script from must have the Remote PowerShell SDK for Applications and Desktops Service:

Obtain a Citrix Cloud automation credential as follows:

Note the Customer ID located in this same page, this is case senstitive.

Set-XDCredentials -CustomerId "%Customer ID%" -SecureClientFile "C:\Monitoring\secureclient.csv" -ProfileType CloudApi -StoreAs "CloudAdmin"

NOTE: xdbrokerprimary/xdbrokerfailover should be set as the Citrix Cloud Connector, the cloud connectors will proxy the connection directly to the Delivery Controller as they are not directly accessible.

NOTE: xdbrokerprimary/xdbrokerfailover should be set as the Citrix Cloud Connector, the cloud connectors will proxy the connection directly to the Delivery Controller as they are not directly accessible.

Installation steps

  1. Open up PowerShell on the machine you want to use for monitoring.

  2. Run the following to locate on PSGallery

    Find-Module EUCMonitoring
  3. Run the following command to install the EUC Monitoring Module.

    • Install for Allusers (Need to be run as Administrator)
      Install-Module EUCMonitoring
    • Install for Currentuser
      Install-Module EUCMonitoring -Scope CurrentUser
  4. Next run the following command pointing to a directory that you want the EUC Monitoring setting files and output HTML to reside.

    • Run this for manual configuration.
      Set-EUCMonitoring C:\Monitoring -verbose
    • Or, for users that want a more interactive dashboard, you can invoke this parameter which will install InfluxDB, Grafana, and NSSM, along with some default dashboards. (This will need to be run as Administrator)
      Set-EUCMonitoring C:\Monitoring -InstallVisualizationSetup -verbose
    • There is a corresponding -UninstallVisualizationSetup that will uninstall the Influx/Grafana/NSSM instances and remove their directories, but leave your remaining files intact.
  5. If manually configuring, go to that directory and rename the euc-monitoring.json.template file to euc-monitoring.json

  6. Edit the json file to reflect your environment.

  7. Finally run the following command pointing to the directory that holds the needed files

cd C:\Monitoring
Start-EUCMonitor

OR

Start-EUCMonitor -JsonFile ".\mysettings.json" -Verbose 

OR, if you did the interactive dashboard

cd C:\Monitoring
.\Begin-EUCMonitor.ps1
  1. Open up your new dashboard HTML file from the location you specified in your json for web data output

Active Contributors

Dave Brett @dbretty | James Kindon @james_kindon | Ryan Butler @ryan_c_butler | David Wilkinson @WilkyIT | Adam Yarborough @littletoyrobots | Hal Lange @hal_lange | Ryan Revord @rsrevord