citrix-environment-diagnostics
Comprehensive Citrix environment health assessment and diagnostics. Use when analyzing Citrix site health, checking VDA registration status, verifying Delivery Controller services, assessing StoreFront availability, or performing environment audits. Covers infrastructure health, database connectivity, resource utilization, and component status verification.
When & Why to Use This Skill
This Claude skill provides a comprehensive diagnostic framework for Citrix environments, enabling automated health assessments of VDAs, Delivery Controllers, and StoreFront services. It offers actionable PowerShell scripts and performance thresholds to ensure infrastructure stability, optimize resource utilization, and accelerate troubleshooting for IT administrators.
Use Cases
- Routine Health Audits: Conduct periodic checks of VDA registration rates and Delivery Controller states to maintain high availability and prevent system downtime.
- Troubleshooting VDA Failures: Quickly diagnose root causes for unregistered VDAs by analyzing registration failure reasons, DNS issues, and load distribution patterns.
- Infrastructure Verification: Validate database connectivity, service status, and SSL certificate validity across StoreFront and Licensing servers during maintenance windows.
- Performance Monitoring: Analyze session counts and machine utilization by catalog to identify resource bottlenecks and optimize load balancing across the Citrix site.
| name | citrix-environment-diagnostics |
|---|---|
| description | Comprehensive Citrix environment health assessment and diagnostics. Use when analyzing Citrix site health, checking VDA registration status, verifying Delivery Controller services, assessing StoreFront availability, or performing environment audits. Covers infrastructure health, database connectivity, resource utilization, and component status verification. |
Citrix Environment Diagnostics
Overview
This skill provides guidance for comprehensive Citrix environment health assessments, including VDA status, Delivery Controller health, StoreFront availability, and overall infrastructure diagnostics.
Instructions
When performing Citrix environment diagnostics:
1. Verify Connectivity and Access
# Load Citrix PowerShell snap-ins
Add-PSSnapin Citrix.* -ErrorAction SilentlyContinue
# Test connection to Delivery Controller
Get-BrokerSite
- Confirm PowerShell access to Delivery Controllers
- Validate administrative permissions
- Check network connectivity to all components
2. Assess VDA Registration Status
# Get overall VDA registration summary
Get-BrokerMachine -MaxRecordCount 10000 |
Group-Object RegistrationState |
Select Name, Count
# List unregistered VDAs with details
Get-BrokerMachine -RegistrationState Unregistered |
Select DNSName, CatalogName, LastConnectionFailure, LastDeregistrationReason
# Check VDA load distribution
Get-BrokerMachine -RegistrationState Registered |
Select DNSName, LoadIndex, SessionCount |
Sort LoadIndex -Descending
Key metrics to verify:
- Registration rate should be >95%
- Load index should be <8000 for healthy VDAs
- Check for patterns in failed registrations
3. Verify Delivery Controller Health
# Check controller status
Get-BrokerController | Select MachineName, State, DesktopsRegistered
# Verify site database connectivity
Get-BrokerSite | Select Name, ConfigurationLoggingDatabaseName
# Check broker service status
Get-BrokerServiceStatus
Validate:
- All controllers showing "Active" state
- Database connections established
- Services running on all controllers
4. Assess StoreFront Status
# On StoreFront server - check store status
Get-STFDeployment
Get-STFStoreService | Select FriendlyName, VirtualPath
# Verify authentication methods
Get-STFAuthenticationService | Select FriendlyName, VirtualPath
Check:
- Store accessibility from client networks
- Authentication provider configuration
- SSL certificate validity
5. Review Session and Resource Utilization
# Active session count
Get-BrokerSession -MaxRecordCount 10000 | Measure-Object
# Sessions by delivery group
Get-BrokerSession -MaxRecordCount 10000 |
Group-Object DesktopGroupName |
Select Name, Count |
Sort Count -Descending
# Machine utilization by catalog
Get-BrokerMachine -MaxRecordCount 10000 |
Group-Object CatalogName |
ForEach-Object {
[PSCustomObject]@{
Catalog = $_.Name
Total = $_.Count
Registered = ($_.Group | Where-Object {$_.RegistrationState -eq 'Registered'}).Count
InUse = ($_.Group | Where-Object {$_.SessionCount -gt 0}).Count
}
}
6. Check Licensing Status
# Get license server information
Get-BrokerSite | Select LicenseServerName, LicenseServerPort
# Check license usage (requires License Server access)
Get-LicInventory -LicenseServerAddress <LicenseServer> -LicenseServerPort 27000
7. Document and Report Findings
After completing diagnostics:
- Summary: Overall environment health status
- Issues Identified: List any problems found
- Metrics: Key performance indicators
- Recommendations: Remediation steps for any issues
- Next Steps: Follow-up actions required
Health Check Thresholds
| Component | Healthy | Warning | Critical |
|---|---|---|---|
| VDA Registration | >98% | 95-98% | <95% |
| Load Index | <5000 | 5000-8000 | >8000 |
| Controller State | All Active | 1 Inactive | Multiple Inactive |
| DB Response | <100ms | 100-500ms | >500ms |
Common Issues to Check
- VDA Registration Failures: Time sync, firewall, DNS resolution
- High Load Index: Resource contention, runaway processes
- Controller Issues: Service failures, database connectivity
- StoreFront Problems: Certificate expiry, IIS configuration
Reference Materials
For detailed information, refer to:
citrix-knowledge/domain-knowledge/comprehensive-citrix-knowledge.mdcitrix-knowledge/runbooks/for step-by-step procedurescitrix-knowledge/troubleshooting/for common issue resolutions