Code Monkey home page Code Monkey logo

eucmonitoring's Introduction

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:

  • Login to https://citrix.cloud.com/
  • Navigate to "Identity and Access Management".
  • Click "API Access".
  • Enter a name for Secure Client and click Create Client.
  • Once Secure Client is created, download Secure Client Credentials file (ie. downloaded to C:\Monitoring)

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
  1. 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
      
  2. 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.
  3. If manually configuring, go to that directory and rename the euc-monitoring.json.template file to euc-monitoring.json

  4. Edit the json file to reflect your environment.

  5. 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

eucmonitoring's People

Contributors

dbretty avatar jameskindon avatar littletoyrobots avatar ryancbutler avatar schwartzmiller avatar wilkyit avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.