Not being a true Citrix EdgeSight guru (I don’t think I really want to be one), I’m faced with more and more implementations where EdgeSight is utilized to monitor both XenApp and XenDesktop. At my last company, I ended up not running XenDesktop with EdgeSight as we could not get it to fully work during the POC process, and of course it came back to hunt me (At the time, it was XD 5.5) – Lesson learned :P
This time I was helping a friend of mine with a new XenDesktop 5.6 implementation he was working on (I got your back amigo). After some initial challenges we were able to get things working and figure I share this with you.
- Edgesight v. 5.4
- XenDesktop v. 5.6
- XenApp v.6.5
- Provisioning v.6.1
- 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 process (Next, Next, Next, type of thing). After this you can add a XenApp servers etc to be monitored. This is pretty straight forward.
With XenDesktop, a component is added to the architecture of EdgeSight, an Agent Database Broker. The database broker saves data that the VDI agent is sending, but before the agent is allowed to write data, it has to contact the EdgeSight server, it does this so it knows which server the agent database broker will redirect the agent to the broker server. A bit complex, so here is a pic of flow
The flowchart below is from Edoc at Citrix and shows what I just described.
The next component that is required is a share that is utilized to save data like log files. These logs are INI files that are not saved on the EdgeSight or database broker itself. The share can be located on the Edgesight server or even better the Agent Database Broker.
This folder will require the following rights.
- List Folder / Read Data
- Read Attributes
- Read Extended Attributes
- Create Folders / Append Data
- Read Permissions
The VDI agent on the XenDesktop stores the same log files on the VDI itself in a default folder at C:\ProgramData\Citrix\SystemMonitoring\Data. When running PVS, make sure to move this directory to your cache folder (Normally cache to device’s hard drive)
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’
Core Collector Starting…
Core Collector Database connection is brokered.
Core Collector Connecting to database broker http://serveraddress:80/edgesight/app/Services/DbBroker.asmx
Core Collector Error obtaining database connection. Failed to contact database broker at http://serveraddress: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 the Citrix eDocs over and over but never saw that one line about the Agent Database Broker. I thought it 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 pic 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 done… :) 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 or 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, but you have to point to the EdgeSight server instead.
If you install the agent or the broker, make sure you set the pool name correctly, 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 will notice pinging checks appear to check the existence of the broker.
With PVS, it’s surely possible and 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.
Lastly, take note 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 (this is by design)
On the Desktop edit the registry key HKLM\Software\Citrix\System Monitoring\Agent\Core\4.00\IgnorePVSMode and change it to 1.
Hope this will help you get more understanding of EdgeSight and XenDesktop. I sure learned something new this time, which is one of the reasons I just LOVE what I do.