Not being a true Edgesight guru I’m faced with more and more implementations where Edgesight is used to monitor both XenApp and Xendesktop. So again I had to implement EdgeSight for XenDesktop at a customer site, I thought let’s put it on paper and share it with you all.
– Edgesight is version 5.4
– XenDesktop is version 5.5
– XenApp is version 6.5
– Provisioning server 6.5
– Citrix DataStore is SQL Server 2008 R2
– Operating systems for all servers are Windows 2008 R2
– Operating system for VDI desktops is Windows 7 x64
The Edgesight installation for XenDesktop begins with a basic Edgesight installation. after this installation you can add a XenApp servers etc to be monitored. This can’t an issue for anyone. Its pretty straight forward.
With XenDesktop a component is added to the architecture of Edgesight, a Agent Database Broker. the database broker saves data the VDI agent is sending. but before the agent is allowed to write data it has to contact the Edgesight server. First contact is the Edgesight server, it knows which server is the agent database broker and will redirect the agent to the broker server.
The flowchart below is from Edoc at Citrix and shows what I just described.
The next component that is required is a share is used to save data like log files are INI files that are not saved on the Edgesight or database broker server itself. The share should be located on the Edgesight server or even better the Agent Database Broker.
Create a share where Authenticated users have the following right on set on “This folder only”
- List Folder / Read Data
- Read Attributes
- Read Extended Attributes
- Create Folders / Append Data
- Read Permissions
The VDI agent on the XenDesktop VDI desktop stores the same log files on the VDI desktop in a folder at C:ProgramDataCitrixSystemMonitoringData
If you experience issue with communication between the agent and the Edgesight backend check the SYS_EVENT_TXT.TXT file.
Errors like the one below states that something is wrong, and the error says a lot but not exactly what you want to know.
Current service state is ‘START_PENDING’
2012-03-06 15:20:30 Core Collector Starting…
2012-03-06 15:20:30 Core Collector Database connection is brokered.
2012-03-06 15:20:30 Core Collector Connecting to database broker http://SR-12436.vitens.lan:80/edgesight/app/Services/DbBroker.asmx
2012-03-06 15:20:52 Core Collector Error obtaining database connection. Failed to contact database broker at http://SR-12436.vitens.lan:80/edgesight/app/Services/DbBroker.asmx for pool ‘Windows 7 – VDI’. Error=0x80072EE2 SoapClientError=SEND_ERROR
If you look in the Edgesight console you’ll see the Device count is 0, this is of course because of the error above.
I checked EDocs over and over but never saw that one line about the Agent Database Broker. From what I thought it was, was that you just add a Agent Database Broker server to the infrastructure so that you have two server running; 1 EdgeSight and 1 Agent Database Broker server.
I was so wrong about that, after reading EDocs again one line stood out that I missed or mis-interpreted before. the picture below is a small part of EDocs about the broker.
It says that if you have multiple EdgeSight installations (whatever they mean by that) you select one to act as the broker. That made me think, I had only done one broker server installation, there was not a lot to choose. So My guess was that if I installed the broker software on the Edgesight server and pointed it to the broker that might work.
That turned out to be exactly what it had to be. The minute I hit finish at the installation GUI was the minute the VDI agent could talk to the broker. I changed the broker address in the VDI agent to the EdgeSight server (who is responsible for direction clients like shown in the flowchart in the beginning).
As you can see the Broker server address, ( the address is hidden of course) has to be filled in. This is I think not so clear as it might give you the idea that you can point to the actual broker server whilst you have to point to the EdgeSight server instead.
If you install the agent or the broker take care you have the pool name correct, without that you’ll never get it to work.
After the installation of the broker is done, you’ll see a logging like this in the console.
After a while you see pining checks appear to check the existence of the broker.
Perhaps I’m missing something and parts are not correct, please point it out to me. This setup worked for me.
Hope this small blog will help you get more understanding of EdgeSight and XenDesktop.
Like @DFGallon mentioned on twitter it’s surely possible and perhaps even wise to add a persistent disk that is maintained during reboots. on that disk you could save the data that is now going to the broker.
The reason we don’t have that setup here is because of storage costs, but it truly is an option.
One other thing I didn’t mention is that the agent won’t start when the provisioned desktop is in private mode. This can be over ruled with changing a registry key value.
On the Desktop edit the registry key HKLMSoftwareCitrixSystem MonitoringAgentCore4.00IgnorePVSMode and change it to 1.