为Dynamics 365启用部署级的跟踪以及跟踪文件的定期删除
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复260或者20170713可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me 。
系统出问题时候排错,很多时候需要启用跟踪,生产环境我们一般也会启用 Error 级别的跟踪,每天产生跟踪文件,数量太多不但占用磁盘寻找起来也麻烦,怎么定期清理?Follow me.
为服务器启用跟踪请参考官方文档: 监视和排查 Microsoft Dynamics 365 ,这个有简体中文版的资料,翻译得不错,我就直接贴出来啦,唯一有个遗憾的地方就是参数那里应该附上英文,不然操作者可能不知道怎么设置,参数名称肯定是英文的嘛。我这里补充上了。
我这篇文章也不展开讲其他级别的监控,就只说明部署级的:
部署级别跟踪用于监视所有 Microsoft Dynamics 365 服务器角色和服务,不论服务器角色是否安装在本地计算机上。 启用部署级别跟踪后,所有服务器角色都会受到监视,例如 异步服务、沙盒处理服务、解压缩服务、Web 应用程序 (w3wp) 和 部署工具 (mmc-Tools)。 系统会创建相应的跟踪文件。
部署级别跟踪通过 Windows PowerShell 命令进行设置且在 MSCRM_CONFIG 数据库中进行维护。 部署级别跟踪只能在拥有 Microsoft Dynamics 365部署工具 服务器角色的计算机上启用。
跟踪文件位于运行 Microsoft Dynamics 365部署工具 服务器角色的计算机上的某个文件夹中。 默认情况下,文件位于 C:\crmdrop\logs。
启用部署范围内的跟踪
要打开记录最大数目信息(包括 callstack 信息的详细记录)的部署广度跟踪设置,以提供的顺序,从计算机上的Windows PowerShell控制台(部署工具 在此处运行)运行以下命令。 要启用不详细记录或改变日志文件的位置,请参看 可选参数。
可选参数
- CallStack。 记录callstack信息。 如需详细的疑难解答,建议您启用它。 默认情况下,它处于关闭状态。
- 类别 (Categories)。 指示要记录的详细程度。
- 错误 (Error)。 在默认情况下,类别值为 错误,此为最不详细的且仅为记录错误。
- 警告(Warning)。 包括警告和错误。
- 信息(Info)。 包括警告、错误和其他信息。
- 详细(Verbose)。 记录最详细的信息。
3. 目录(Directory)。 指定跟踪日志文件的位置。 默认情况下,文件位于 c:\crmdrop\logs。
4. FileSize。 在覆盖跟踪文件中的信息之前,指定日志文件的最大文件大小(单位:MB)。
禁用部署级别跟踪(仅内部部署版本)
要禁用跟踪,请在运行部署工具服务器角色的计算机上的 Windows PowerShell 控制台中运行以下命令(按此处提供的顺序):
禁用跟踪不会删除跟踪文件。 此外,Microsoft Dynamics 365 服务器 锁定使用的服务会打开跟踪文件。 因此,如果有任何 Microsoft Dynamics 365 服务和 World Wide Web 发布服务运行在您要删除跟踪文件的计算机上,您就需要重新启动这些服务。
理论讲完了,我们来实操下,看下我本地部署的Dynamics 365的部署级的跟踪设置以及如何设置,在部署工具所在的Dynamics 365服务器上以管理员身份打开PowerShell,输入如下命令:
#添加CRM相关的嵌入式管理单元
Add-PSSnapin Microsoft.Crm.PowerShell
#获取部署级的跟踪设置
$Setting = Get-CrmSetting TraceSettings
#显示部署级的跟踪设置
$Setting
#设置部署级的跟踪设置
$Setting.Enabled = $True
$Setting.CallStack=$True
$Setting.Categories="*:Error"
$Setting.FileSize=30
$Setting.Directory = "C:\Program Files\Microsoft Dynamics CRM\Trace"
Set-CrmSetting $Setting
#再获取部署级的跟踪设置,显示出来确保更新成功
$Setting = Get-CrmSetting TraceSettings
$Setting
我这里显示的截图如下:
下面我借助一个PowerShell方面微软 最有价值专家MVP ( https://github.com/victorwoo )特意为我写的 PowerScript脚本来创建一个Windows定时任务来删除文件,使用的脚本见 https://github.com/victorwoo/Remove-ExpiredFiles 。
$targetDir = 'C:\Program Files\Microsoft Dynamics CRM\Trace'
$pattern = '*.log'
$expiryDays = 30 Get-ChildItem -Recurse -File -Include $pattern -LiteralPath $targetDir | `
Where-Object {
((Get-Date) - $_.CreationTime).TotalDays -ge $expiryDays
} | `
Remove-Item
以管理员身份运行 PowerShell ISE来测试下,结果如图,不会出错,然后我将这个文件保存到了 C盘。
用Windows定时任务图形界面来创建是比较枯燥的,也容易出错(好像是可以导出到另外一个服务器导入的),我这里装逼试试,用PowerShell脚本来创建Windows定时任务,主要参考了 Microsoft Scripting Guy, Ed Wilson 的 Use PowerShell to Create Scheduled Tasks :各位看官自己将执行的PowerShell脚本名称,所在位置,执行频率,定时任务名称等都换成自己的。
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -ExecutionPolicy Unrestricted .\removeexpiredfiles.ps1' -WorkingDirectory 'C:\'
$trigger = New-ScheduledTaskTrigger -Daily -At 23:00
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "DeleteDynamicsCRMLogs" -Description "每天晚上11点删除CRM组件日志,具体多少天前的请参考执行的PowerShell脚本" -User "System"
创建完成后打开Windows的 任务计划程序可以看到如下,如我所愿,亲测可用。
为Dynamics 365启用部署级的跟踪以及跟踪文件的定期删除的更多相关文章
- Dynamics 365 启用跟踪及读取跟踪文件工具
微软动态CRM专家罗勇 ,回复315或者20190313可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当根据错误提示排查问 ...
- Dynamics 365 CRM 部署 Connected Field Service
微软 Connected Field Service 是一个提供Azure IoT 和 Dynamics 365 连接的这样一个框架 有两种方式部署CFS, 一种是用IoT Hub PaaS, 一种是 ...
- Dynamics 365本地部署版本配置OAuth 2 Password Grant以调用Web API
微软动态CRM专家罗勇 ,回复330或者20190504可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 根据官方建议,不要再使用Dynamics 365 Custome ...
- Dynamics 365 App for Outlook 与 Dynamics 365 for Outlook(已被弃用)
在最新的版本中Dynamics 365 for Outlook(Outlook 客户端)已被弃用 随 Dynamics CRM 2016(版本 8.0)引入的 Dynamics 365 App for ...
- 配置基于服务器认证的Dynamics 365 Customer Engagement和SharePoint Online集成
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 自定义适用于手机和平板电脑的 Dynamics 365(三):显示的实体
您可以启用 适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 的有限实体集. 若要查看是否启用了实体,或者要启用实体,请单击“设置”>“自定义”>“自 ...
- Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)
本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Dynamics 365 Customer Enagement中的更改跟踪(change tracking)
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 启用WCF压缩提升Dynamics 365 CE的网络性能
摘要: 微软动态CRM专家罗勇 ,回复307或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文系根据微 ...
随机推荐
- 谈一谈Java8的函数式编程 (三) --几道关于流的练习题
为什么要有练习题? 所谓学而不思则罔,思而不学则殆,在系列第一篇就表明我认为写博客,既是分享,也是自己的巩固,我深信"纸上得来终觉浅,绝知此事要躬行"的道理,因此之后的几篇博 ...
- Lua 设置table为只读属性
项目中部分只读表易被人误改写,故决定在非线上环境里对这些表附加只读属性,方便在出现误改写的时候抛出lua错误,最终版代码如下: --[[-------------------------------- ...
- DATA VISUALIZATION – PART 1
Introduction to Data Visualization – Theory, R & ggplot2 The topic of data visualization is very ...
- bug 修复:上传库存时前端回发file_name参数丢失;
# tmp_file = os.path.join(os.path.abspath('youcart/tmp'), json.loads(request.data).get('file_name')) ...
- Linux OS共享文件
背景: 相较于windows.unix等OS,Linux因为其开源.安全.稳定.性能优越等优点,已越来越受到互联网的青睐.而我们在学习和使用Linux也就会考虑到Linux机器和我们日常用的windo ...
- 常见的几种Flume日志收集场景实战
这里主要介绍几种常见的日志的source来源,包括监控文件型,监控文件内容增量,TCP和HTTP. Spool类型 用于监控指定目录内数据变更,若有新文件,则将新文件内数据读取上传 在教你一步搭建Fl ...
- threading多线程总结
threading用于提供线程相关的操作,线程是应用程序中工作的最小单元.python当前版本的多线程库没有实现优先级.线程组,线程也不能被停止.暂停.恢复.中断. threading模块提供的类: ...
- python不使用第三方变量,交换两个变量的值
#不使用第三个变量交换两个变量的值 a=1 b=2 a,b=b,a#python的直接交换 #另一种交换方法 a=a+b#a=3 b=2 b=a-b#a=3 b=1 a=a-b#a=2 b=1 pri ...
- Azure 基础:Blob Storage
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在前文中介绍了 Table Storage 的基本 ...
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式 ...