Advertisements

EdgeSight 5.4 Error – Unable to cast object of type ’ProfileCommon’ to type ‘ProfileCommon’

Issue:

The EdgeSight 5.4 Console  displays the following error message after entering user credentials:

“Server Error in ‘/edgesight’ Application.

Unable to cast object of type ’ProfileCommon’ to type ‘ProfileCommon’.

Environment:

  • Windows 2008 R2
  • Citrix XenApp 6.5 / Citrix XenDesktop 5.6
  • Citrix EdgeSight 5.4

Cause:

According to Citrix support the issue occurs on checking the SQL server, it is observed that the disk drive has run out of space (See CTX133609 for more information )

In addition, the problem seems to reoccur even after reclaiming space and restarting the relevant services.

The suggested solution on the article is to to remove and reinstall EdgeSight 😦

Solution:

  • Disable ASP on the EdgeSight web.config  under “C:\Program Files (x86)\Citrix\System Monitoring\Server\EdgeSight\Pages\” from using profiles… Seems this fixes it sometime, however that didn’t work for me 😦

eds_disable_profiles

  • Delete the project folder in the 2.0.50727 Temporary ASP.NET location usually located under “C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files”, restarted services and everything started to work.  This beats having to re-install EdgeSight 🙂

eds_asp_temp_profile

Advertisements

EdgeSight – Citrix End User Experience Service not starting

Issue:

I was receiving an EdgeSight Alert regarding the Citrix End User Experience Monitor not working.  The service would not start after a server reboot or manually starting it.

This issue issue is related to the XenApp server not being able to communicate to crl.microsoft.com to validate a certificate.

Error: The Citrix System Monitoring Agent cannot contact the Citrix End User Experience Monitor. EUEM data will not be collected. Contact Citrix Support.

Device: SERVER_NAME

To view more detailed information, go to the following URL: http://your_eds_server/edgesight/app/ops/maint/messages.aspx

Event Viewer displays a error similar to the one below:

Product: EdgeSight
Problem Type: Reporting Services

Description:
Event Type:     Error
Event Source:   Service Control Manager
Event Category: None
Event ID:       7000

Environment:

  • Windows 2008 R2
  • Citrix XenApp 6.5
  • Citrix EdgeSight 5.4

Solution:

  • On the affected XenApp server find the location of the SemsService.exe file. By default, it is located in the C:\Program Files\Citrix\Euem\Service\
  • In the same location, create a text file named SemsService.exe.config.
  • Update the file with the following content:

<?xml version=”1.0″ encoding=”utf-8″?>
<configuration>
<runtime>
<generatePublisherEvidence enabled=”false” />
</runtime>
</configuration>

  • Start the EUEM service

EdgeSight – Grace Period license violations detected

I started receiving random EdgeSight alerts on certain servers on a daily basis.  After looking at event viewer and AppCenter alerts, I figure it was not related to the XenApp servers not communicating with the license server

Issue:

Licensing alerts from EdgeSight server on certain XenApp 6.5 Servers

The device SERVER_NAME at IP_ADDRESS has reported Grace Period violations
EdgeSight has detected license violations in the payload for the device SERVER_NAME at IP_ADDRESS.  This device is still within the 14-day licensing grace period.
Please take corrective action to prevent future violations.

Environment:

  • Windows 2008 R2
  • Citrix XenApp 6.5
  • Citrix EdgeSight 5.4

While looking at the EdgeSight log files on the XenApp servers usually located under “C:\ProgramData\Citrix\System Monitoring\Data\SYS_EVENT_TXT.txt”, I noticed the problem was related to the EdgeSight agent not fetching the proper license type.

I checked the agent config on the XenApp server via Control Panel, Citrix System Monitoring Agent and found that on the Mode tab was set to Advanced.  In the past, I always found that the agent would fetch the proper Mode type based on the type of license you have.  This time, I found it a bit weird that the installation would not default to the proper setting by it self.

eds_agent

Solution:

In my case since the environment I was working on had an Enterprise License, I had to configure the agent setting to Basic.  If you have Platinum, Advanced mode is supported.

For future installs, you can run the script below to force the agent to be set to Basic.

msiexec.exe /i "C:\updates\eds_agent\EdgeSightXA6Agentx64.msi"
 COMPANY=NAME_OF_EDS_COMPANY FUNCTIONALITY_MODE=2
 SERVER_NAME=nameofserver.myserver.com SERVER_PORT=PORT_OF_YOUR_EDS_Server(normally 80)

EdgeSight for XenDesktop 5.6

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 😛

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.

Back end:

– 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
  • Delete
  • Read Permissions

Now…

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.

EdgeSight Real-Time Dashboard errors

I must admit… I don’t spend a lot of time inside EdgeSight as I should.  Recently, I created a custom Real-Time Dashboard setting to monitor all our XenApp 6.5 hosts.

Since the company where I am working has a lot of remote sites in the US as well as International, I wanted to have a real-time console for our NOC where we can monitor overall performance including latency information.

Before the 6.x days I use to utilize MFCOM apps for this kind of stuff, but as we know, XenApp 6.x no longer runs with MFCOM.

After successfully implementing my custom dashboard, I kept receiving the SQL error below:

SAException caught (Description: Dynamic SQL Error SQL error code = -204 Table unknown CTRX_ICA_RT_PERF_V At line 1, column 207) and noticed some hosts in the Dashboard had a grey exclamation mark.

Problem:

The EdgeSight agent is running in Basic mode, but an End User Experience Monitoring (EUEM) metric is being monitored in the Dashboard configuration. EUEM metrics are only collected in Advanced mode.

Solution:

Remove the EUEM metric from the Dashboard configuration, or simply change you EDS Agent to run in Advance mode

Image

Image