关注本人微信和易信公众号: 微软动态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控制台(部署工具 在此处运行)运行以下命令。 要启用不详细记录或改变日志文件的位置,请参看 可选参数。
可选参数

  1. CallStack。 记录callstack信息。 如需详细的疑难解答,建议您启用它。 默认情况下,它处于关闭状态。
  2. 类别 (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启用部署级的跟踪以及跟踪文件的定期删除的更多相关文章

  1. Dynamics 365 启用跟踪及读取跟踪文件工具

    微软动态CRM专家罗勇 ,回复315或者20190313可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当根据错误提示排查问 ...

  2. Dynamics 365 CRM 部署 Connected Field Service

    微软 Connected Field Service 是一个提供Azure IoT 和 Dynamics 365 连接的这样一个框架 有两种方式部署CFS, 一种是用IoT Hub PaaS, 一种是 ...

  3. Dynamics 365本地部署版本配置OAuth 2 Password Grant以调用Web API

    微软动态CRM专家罗勇 ,回复330或者20190504可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 根据官方建议,不要再使用Dynamics 365 Custome ...

  4. Dynamics 365 App for Outlook 与 Dynamics 365 for Outlook(已被弃用)

    在最新的版本中Dynamics 365 for Outlook(Outlook 客户端)已被弃用 随 Dynamics CRM 2016(版本 8.0)引入的 Dynamics 365 App for ...

  5. 配置基于服务器认证的Dynamics 365 Customer Engagement和SharePoint Online集成

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. 自定义适用于手机和平板电脑的 Dynamics 365(三):显示的实体

    您可以启用 适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 的有限实体集. 若要查看是否启用了实体,或者要启用实体,请单击“设置”>“自定义”>“自 ...

  7. Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  8. Dynamics 365 Customer Enagement中的更改跟踪(change tracking)

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  9. 启用WCF压缩提升Dynamics 365 CE的网络性能

    摘要: 微软动态CRM专家罗勇 ,回复307或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文系根据微 ...

随机推荐

  1. Github 开源:升讯威 Winform 开源控件库( Sheng.Winform.Controls)

    Github 地址:https://github.com/iccb1013/Sheng.Winform.Controls 本控件库中的代码大约写于10年前(2007年左右),难免有不成熟与欠考虑之处, ...

  2. php实现批量修改文件名称

    场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字, 如下图: 那么我们就可以利用php的ren ...

  3. Simulation of empirical Bayesian methods (using baseball statistics)

    Previously in this series: The beta distribution Empirical Bayes estimation Credible intervals The B ...

  4. 你为什么必须(从现在开始就)掌握linux

    写在前面 在我看来,人人都应该学习linux,但这不是本文探讨的重点.本文主要从软件测试人员的角度谈谈学习和掌握linux的重要性.必要性.紧迫性. 另外: 这里所说的linux系统,是unix系统和 ...

  5. Java servlet ajax

    AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. http://w ...

  6. Linux下让一个程序开机自动启动

    1.chkconfig但是要在脚本中满足一定的条件(/etc/init.d/)下存在相关服务 2.将启动的程序写入到/etc/rc.local 选择建议: /etc/rc.local可以作为开机启动程 ...

  7. Asp.Net Core-----简介与安装

    Asp.Net Core简介 ASP.NET Core 是一个全新的开源.跨平台框架,可以用它来构建基于网络连接的现代云应用程序,比如:Web 应用,IoT(Internet Of Things,物联 ...

  8. js继承的常用方法

    写在前面的话:这篇博客不适合对面向对象一无所知的人,如果你连_proto_.prototype...都不是很了解的话,建议还是先去了解一下JavaScript面向对象的基础知识,毕竟胖子不是一口吃成的 ...

  9. redisLock redis分布式锁

    redis-lock redis setnx cmmand java object condition queue 条件队列 retrycount 带有重试次数限制 object wait time ...

  10. JS性能优化之怎么加载JS文件

    IE8+等实行并行下载,各JS下载不受影响,但仍阻塞其他资源下载 如: 图片 所以首要规则就是:将JS放在body底部(推荐) 加载100kb的单个文件比4个25kb的文件快(减少外链文件数量)(脚本 ...