Citrix

Overvåk brukertregheter i Citrix med Grafana

Citrix har ikke, selv med Director, en dyptgående treghets informasjon for en spesifikk bruker, eller til og med en gruppe brukere. Men dette er mulig, og på en ganske fin måte, ved å bruke Grafana og den opprinnelige SQL-koblingen, som peker til Citrix Monitoring DB.

Denne opplæringen vil gi deg trinn-for-trinn-prosessen for å legge til en treghetsovervåking (ICA RTT) i Grafana, gratis:

Konfigurer en GrafanaReader DB-konto
Det hele starter med å konfigurere en READ ONLY brukerkonto i MSSQL. Bare lesetilgang er obligatorisk og veldig viktig.

Jeg foretrekker å bruke en lokal SQL-konto for Grafana. Men avhengig av sikkerhetspolicyene som er på plass i organisasjonen din, foretrekker du kanskje å bruke en AD-konto.

Last opp SSMS (SQL Server Management Studio) og logg på med administratorrettigheter til MSSQL-serveren som er vert for dine Citrix-databaser (inkludert Monitoring DB). Under Sikkerhet/Pålogginger, Opprett en ny pålogging.

I mitt tilfelle oppretter jeg en innebygd SQL-konto «GrafanaReader» og deaktiverer passordendring (Enforce password policy). Igjen, du vil kanskje gjøre det sikrere, bruke en AD-konto eller håndheve en passordpolicy.

Serverrolle: la den bare være «public». Dette er bare en leserkonto.

Nå den essensielle delen, i User Mapping, legg brukeren til «Citrix Monitoring»-databasen, og merk av for rollen «db_datareader».

Valider brukeropprettelsen, og dette bør være alt du trenger å gjøre på MSSQL-siden.

Last ned og installer Grafana

Gå til https://grafana.com/grafana/download og last ned den nyeste Grafana-versjonen for ditt operativsystem.

Grafana vil lytte på port 3000 som standard. Standard brukernavn/passord er admin/admin, og du vil da bli bedt om å endre standard admin-passord. Veldig rett frem og klassisk prosedyre.

Neste trinn er å konfigurere DB-kilden.

Konfigurer DB-kilden (MSSQL) i Grafana

Fra venstremenyen åpner du konfigurasjonsmenyen og går til Data Sources

Klikk på “Add Data Source”

Under “SQL”, velg “Microsoft SQL Server”

Gi tilkoblingen din et navn (for eksempel Citrix Monitoring DB), skriv inn host adressen din (MSSQL-server, bruker FQDN), Citrix Monitoring-databasenavnet. Autentisering er satt til SQL Server Authentication (endre dette hvis du bruker Active Directory), og read-only brukernavnet vi har opprettet tidligere.

Klikk «Save and Test» nederst, og testen må være vellykket, ellers må du gå gjennom vertskonfigurasjonen, databasen og brukernavnet ovenfor.

Nå er det på tide å lage noen brukerforsinkelse-dashboards!

Lag dashbordet for brukerforsinkelse i Grafana

Fra venstremenyen åpner du «+»-menyen og velger «Dashboard»

Det første du vil gjøre nå er å gi dashbordet et navn og lagre det. Klikk på det lille tannhjulet øverst til høyre for å få tilgang til Dashboard-innstillingene.

Gi dashbordet et navn, i dette eksemplet vil det være «Citrix users ICA latency», og gå deretter tilbake og lagre det ved å bruke det lille diskettikonet. Den neste tingen er å legge til et panel for vår første brukerforsinkelsesvisning. Klikk på de små stolpene med et «+»-ikon fra øverste høyre hjørne igjen for å legge til et nytt panel på dashbordet.

Klikk på «Add a new panel». Du vil bli tatt direkte til «Edit Panel» -visningen, og det er en standard datakilde satt som «Grafana». Dette kan være ganske forvirrende i begynnelsen. Det neste vi må gjøre er å endre datakilden til «Citrix Monitoring DB» (eller navnet du har brukt i opprettelsen av datakilden ovenfor).

Sørg også for at ditt nåværende panel er definert som en «Time series» til høyre:

Og etter dette må vi injisere SQL-spørringen vår for å hente latensdataene for en spesifikk bruker.
Nedenfor er spørringen jeg bruker, sannsynligvis ikke den beste i verden siden jeg ikke er en SQL dev-admin. Spørringen vil velge annen type informasjon, session key, session ID, date, IcaRttMs IcaRttMs (altså RTT-forsinkelsen), User-IDen (jeg trenger den i to formater fra to forskjellige tabeller) og brukernavnet fra øktberegningene , session– og user tables. Den påfølgende «Where«-operasjonen er her for å slå sammen og matche all informasjonen, og fjerne nullverdier og alt utover 900ms for å unngå avvik som «5790» millisekunder, som vil bryte alle gjennomsnittsberegninger.
Erstatt verdien «username_samaccountname» med brukeren du vil overvåke:

SELECT [SessionKey]
      ,[SessionId]
      ,[CollectedDate]
      ,[IcaRttMS]
      ,[UserId]
      ,[User].[Id]
      ,[UserName]
FROM [Citrix Monitoring].[MonitorData].[SessionMetrics]
    ,[Citrix Monitoring].[MonitorData].[Session]
    ,[Citrix Monitoring].[MonitorData].[User]
WHERE [User].[Id] = [Session].[UserId] 
      AND [Session].[SessionKey] = [SessionMetrics].[SessionId] 
      AND [User].[UserName] = 'username_samaccountname'
      AND [SessionMetrics].[IcaRttMS] > 0
      AND [SessionMetrics].[IcaRttMS] < 900

Injiser koden rett under datakilden, og bytt «Format as»-tabellen nederst.

Nå bør du få en visning, men ennå ikke veldig tilfredsstillende, da skalaen er feil og inkluderer noe uønsket informasjon som ID-ene.

For å skjule de uønskede verdiene, gå til «Transformer»-fanen og åpne alternativet «Organize fields». Du kan deretter skjule alle verdier unntatt «IcaRttMS» og «CollectedDate». Dette er alt du trenger for å bygge en tidsserie.

Nå i Time Series-alternativene til høyre kan du legge til Legend Values – «Max» og «Mean».

I Graph Style kan du legge til litt Fill opacity og i Show Point velge Never.

I Axis valget, sett soft max til 400.

Sett Units som Milliseconds (ms).

Sett ”Max” till 400

Og til slutt legg til en Threshold line på 200 ms. Alt over det anses som en ikke-akseptabel brukeropplevelse.

Så nå får vi noe som ser litt bedre ut:

Lagre den ved å klikke på «Apply»-knappen øverst til høyre. Nå har du ditt første brukerforsinkelsespanel i Grafana-dashbordet for ICA tur-retur-tidsforsinkelse!

Du kan gi nytt navn til panelet, duplisere det og endre spørringen, for eksempel hvis du vil endre brukernavnet og legge til flere brukere på dashbordet.

Dette avslutter denne grunnleggende introduksjonen til Grafana-dashbordet for ICA-brukerens RTT-latens i Citrix.

Similar Posts