Beschrijving voor het meten van Citrix-performance dmv een virtual user. Met deze beschrijving is het mogelijk om de doorlooptijden van performancekenmerkende gebruikersacties op een Citrix-server continue te meten. De resultaten daarvan kunnen opgenomen worden in de ketenbewaking van EPO Elements. De basis is om geautomatiseerd op een bepaalde server aan en af te kunnen loggen. Door daar nog een extra applicatiescript toe te voegen kunnen bijvoorbeeld 24x7 de prestaties van Citrix-specifieke applicaties (bijvoorbeeld MS Word starten, een file openen op het SAN en MS Word weer sluiten) gemeten worden. De applicatiescripts worden aan de hand van eenvoudig zelftoepasbare voorbeelden beschreven. Benodigdheden: - Software : Citrix, EPO Elements (download trial via www.epo-elements.nl) - Basiskennis : Citrix en (vbs)-scripting. Het script bestaat standaard uit twee delen. Een script dat op een willekeurig systeem wordt uitgevoerd en een script dat door middel van een Citrix-connectie wordt gestart op een specifieke server. Dat ziet er in een plaatje als volgt uit: Citrix server Machine met EPO external probe. Citrixscript.vbs CitrixSide.bat Link naar CitrixSide.bat (Gepublished) Directory met citrixservernaam Als eerste zal Citrixscript.vbs verbinding maken met de CitrixServer. Deze zal de gepublishede link naar Citrix.bat uitvoeren. CitrixSide.bat bevindt zich dus op de Machine met EPO external probe maar wordt uitgevoerd op de CitrixServer. Directory met Citrixservernaam CitrixServerNaam.ini customscript.cmd Eigengemaakt.script CitrixSide.bat roept weer het bestand CustomCommand.cmd aan welke zich in de citrixservernaam directory bevindt. Hierin kan eventueel een eigengemaakt script aangeroepen worden. CitrixSide.bat zal de inlog en uitlogtijden van de verbinding meten. Eventuele andere kengetallen kunnen door het eigengemaakte script geleverd worden. EPO Elements C-it, the Early Warning Company 1/ 8
Opzetten Citrix-connectie De connectie wordt gemaakt door middel van een custom APPSRV.INI bestand. Deze zal eerst gemaakt moeten worden in de Citrix Program Neighbourhood. Dit is nodig omdat het wachtwoord gehashed wordt opgeslagen Ga naar de Application Set manager EPO Elements C-it, the Early Warning Company 2/ 8
En vervolgens naar Add ICA Connection De volgende instellingen zijn afhankelijk van de Citrix-inrichting. Bij het volgende scherm kan de gepublishede applicatie gekozen worden. Via de Server Location knop kan een citrix server ingevuld worden. EPO Elements C-it, the Early Warning Company 3/ 8
Dit kan default gelaten worden Dit kan default gelaten worden Vul hier een username en wachtwoord in waarmee de verbinding gemaakt gaat worden. Om het wachtwoord in te vullen moet eerst het vinkje Save password worden aangezet. EPO Elements C-it, the Early Warning Company 4/ 8
Dit kan default gelaten worden En klaar Deze connectie wordt in het bestand APPSRV.INI opgelagen. Dit bestand staat in %HOMEPATH%\Application Data\ICAClient Om de informatie van de gemaakte verbinding te gebruiken kan deze uit het bestand geknipt worden en in een eigen.ini bestand gestopt worden. Het gaat om de tekst: (in deze lijst kunnen meerderde custom connecties staan) [ApplicationServers] CustomConnectionName= Daaronder staan de connecties per stuk uitgebreid beschreven. De gemaakte connectie begint met [CustomConnectionName] Alle regels tot de volgende [anderecustomconnectionname] moeten meegenomen worden. Er ontstaat dan een bestand dat er als volgt uit ziet: [ApplicationServers] EPO Elements C-it, the Early Warning Company 5/ 8
CustomConnectionName = [CustomConnectionName] TransportDriver=TCP/IP BrowserProtocol=HTTPonTCP Password=0009acb659055c9257c351 DesiredHRES=4294967295 DesiredVRES=4294967295 ScreenPercent=0 DoNotUseDefaultCSL=Off Description= ServerSide.batLink Address=CitrixServer InitialProgram=#ServerSide.batLink IconPath=C:\Program Files\Citrix\ICA Client\pn.exe IconIndex=1 ConnectType=1 MaximumCompression=Off UseAlternateAddress=0 Compress=On PersistentCacheEnabled=Off MouseTimer=0 KeyboardTimer=0 AudioBandwidthLimit=1 UseDefaultSound=On DefaultSoundType=1 UseDefaultEncryption=On EncryptionLevel=1 UseDefaultWinColor=On UseDefaultWinSize=Off DesiredWinType=8 TWIMode=On ZLKeyboardMode=0 ZLMouseMode=2 Username=Gebruiker Domain=Domein SavePNPassword=On UseLocalUserAndPassword=Off DisableCtrlAltDel=On UIFlags=12 SSLEnable=Off SSLNoCACerts=0 SSLCiphers=ALL CGPAddress=* SSLProxyHost=*:443 Dit bestand moet dan vervolgens in de Directory met Citrixservernaam geplaatst worden. EPO Elements C-it, the Early Warning Company 6/ 8
Installatie Plaats Citrix script.vbs en ServerSide.vbs in een directory op een server waarvandaan de citrixserver bewaakt moet worden. Op deze machine moet de EPO Probeservice draaien. Maak daaronder een directory aan met de naam van de citrixserver. Plaats daarin een aangepast.ini bestand voor de connectie (zie Opzetten Citrix connectie) Dit bestand moet ook weer de naam van de citrixserver krijgen. Plaats hier ook Customcommand.cmd met een eventuele verwijzing naar een eigen script voor het verkrijgen van meer informatie. De output van dit script wordt naar EPO gestuurd en verwerkt als deze op de EPO External probe manier is opgemaakt. (zie de EPO handleiding voor info hierover) Maak in de EPO Client een nieuwe External probe aan. Voer bij het veld Executable in: cscript.exe Bij Commandline arguments : citrix script.vbs de naam van de citrixserver de naam van de published applicatie Bij Work Path : De directory waar het script staat. Aangezien het verbinden even kan duren is het verstandig de scheduling aan te passen zodat het script niet weer wordt uitgevoerd voor het de eerste keer klaar is. Voorbeeld Er is een citrix server die citrix-test heet en we willen de opstarttijd van MS Word meten op deze server. Daarvoor plaatsen we de twee scriptbestanden in de directory C:\ergens We maken de directory C:\ergens\citrix-test en plaatsen daar de gemaakte ini file, citrix-test.ini en customcommand.cmd. Hoe de ini te maken staat in het hoofdstuk Opzetten Citrix connectie. Voor dit voorbeeld is er een scriptje (in Visual Basic) gemaakt dat Word 2x start en afsluit. De tweede keer wordt er ook een document geopend. Het scriptje wordt samen met een testdocument (test.doc) in C:\ergens\citrix-test opgeslagen en ziet er als volgt uit: option explicit Function SendDataMessage(strData, strdatakey) Wscript.Echo "[EPO: Number]" Wscript.Echo "Datakey=" & strdatakey Wscript.Echo "Number=" & strdata Wscript.Echo "[/EPO]" End Function dim objword, processend, processstart, wordstarttime, wordwithdocstarttime, args, coltasks set args = WScript.Arguments ProcessStart = Timer Set objword = CreateObject("Word.Application") objword.visible = True Set coltasks = objword.tasks objword.quit' ProcessEnd = Timer wordstarttime = ProcessEnd - ProcessStart EPO Elements C-it, the Early Warning Company 7/ 8
ProcessStart = Timer Set objword = CreateObject("Word.Application") objword.visible = True objword.documents.open(args(0)) ProcessEnd = Timer objword.quit wordwithdocstarttime = processend - processstart SendDataMessage wordstarttime, "WordStart server " & args(1) SendDataMessage wordwithdocstarttime, "WordStartDoc server " & args(1) De tijd die nodig is voor het opstarten wordt in een EPO bericht weergegeven. In CustomCommand.cmd wordt de volgende regel opgenomen: cscript "%~dp0\timing startsluit.vbs" "%~dp0\test.doc" "%COMPUTERNAME%" /batch Maak een nieuwe external probe aan in EPO met: Executable : cscript.exe Commandline arguments : citrix script.vbs citrix-test ServerSidePublished Work Path : C:\ergens ServerSidePublished is de naam van de gepublishede applicatie zoals deze ook in de.ini file terugkomt. EPO Elements C-it, the Early Warning Company 8/ 8