StoreFront Troubleshooting and Logging

来源:转载

本文主要介绍StoreFront的各种日志以及开启方法。


在StoreFront的问题拍错(Troubleshooting)过程中,主要涉及到下面的一些日志:


安装日志(Installation Logs)
控制台/PoSH日志(MMC Console / PoSH Logs)
详细的Service日志(Services Verbose Tracing)
系统事件日志(Windows Event Logs)
网络包(Network tracing)
Installation Logs

整个安装过程主要涉及到两个步骤:


MSI解包部分,主要涉及到各feature packages解包安装 C:/Windows/Temp/StoreFront/
feature deployment主要涉及控制台以及PoSH部分脚本日志
MMC Console / PoSH Logs

每个命令以及脚本执行都会生成对应的日志,而管理控制台的操作基本都会触发对应的PoSH脚本命令,相关日志保存在如下路径中:


C:/Program Files/Citrix/Receiver StoreFront/Admin/logs/

大部分的操作都会涉及到脚本的执行以及相关实际服务的处理,所以这部分日志也建议同时收集和检查。在大部分时候可能会被忽略。


Services Verbose Tracing

由于大部分服务都是IIS integrated apps/Services,所以相关的tracing都使用微软的service tracing方式,所以,都可以通过修改web.config中system.diagnostics节的相关设置来调整。


微软也提供了图形化的配置工具Microsoft Service Configuration Editor Tools (SvcConfigEditor.exe),但是由于不单独提供,需要下载Windows SDK才能获得,所以相对比较麻烦。


提示:以下文件从.Net 4.6.1 SDK中提取,经过测试可以单独运行,并在.Net 4.5及以上版本测试通过.


SvcConfigEditor.exe(2.3 MB, 0 次)


针对这种情况,Citrix提供了一个Powershell命令来方便的开启所有服务的日志:


Add-PSSnapin Citrix.DeliveryServices.Framework.Commands
Set-DSTraceLevel -All -TraceLevel Off -FileSizeKb 10240

由于默认情况下每个Trace Log文件的大小最大为1MB,最多保留3个,在大多数情况下都是无法完整覆盖测试和排错场景的。所以,建议增加-FileSizeKb 10240来调整每个日志文件大小到10MB


执行上述命令会自动重启服务,并立即生效,不需要手动重启服务或者服务器。


注意:相关日志会自动回滚,所以在非特大型环境或者可见性能影响情况下,可以考虑常开来更好的排错。


相关日志保存路径如下:


C:/Program Files/Citrix/Receiver StoreFront/Admin/trace/

另外,由于抓取到的日志格式为.svclog,需要使用Microsoft Service Trace Viewer 才可以打开并查看,对应的工具微软也没有单独提供,同样需要通过Windows SDK安装获得。


提示:以下文件从.Net 4.6.1 SDK中提取,经过测试可以单独运行,并在.Net 4.5及以上版本测试通过.


SvcTraceViewer.exe(665.2 KB, 0 次)


Windows Event Logs

相关事件日志写入位置为Applications and Services Log / Citrix Delivery Services下,并不在常规的Windows Logs / Application或者Windows Logs / System下。



Network tracing

由于涉及到网络通信, 所以网络包也是比较常见的排错手段。一般采用wireshark或者Fiddler来进行抓包分析。


Fiddler的好处是可以作为代理的方式直接解包https流量,相对于wireshark来说要方便很多,毕竟在某些场景让客户提供private key是不可能完成的任务。而且,可以通过Fiddler来抓取store proxy的部分流量。


这部分可以通过修改对应store的web.config来实现:


<proxy enabled="true" processName="Fiddler" port="8888" />

但是Fiddler也不是万能,对于非HTTP/HTTPS协议,DNS/LDAP等请求就无能为力了,此时wireshark是更好的选择。


对于https部分,使用wireshark抓取的时候,建议检查使用的SSL/TLS协议的版本以及cipher suite。


由于目前较新的系统很多会优先使用更安全的ECDHE/DHE等非RSA密钥进行key change的话,即使有private key的情况下也无法解密https流量。所以



可以参考 https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/ 保存session key,或者其他工具自带类似功能,如netscaler可以勾选保存pre-master key
可以尝试通过修改注册表的方式对SSL/TLS降级或者限制相关的cipher suite的使用,从而强制使用RSA cipher suite并抓包

以上基本涵盖了常用的StoreFront troubleshooting工具以及相关日志的开启方法。


分享给朋友:
您可能感兴趣的文章:
随机阅读: