Microsoft Dynamics CRM / 365 (On-Premise) Monitoring


An Overview

Dynamics CRM/365 is Microsoft's fully integrated customer relationship management system that helps organizations attract and develop new profitable relationships with customers while managing ongoing relationships from a single operating platform. Microsoft Dynamics CRM/365 offers both on-premise and cloud-based options, tight integration with Microsoft Office and Outlook, and all-out customization flexibility.

As a system administrator you need to be able to to respond quickly to critical events and prevent service outages. Applications Manager helps you track the set of counters that generate data about how various components perform as they run in the Microsoft Dynamics CRM/365 environment. You can monitor the WMI Performance counters, Services, Transactions and Eventlogs for CRM Applications. You can get deeper insight into the performance of CRM's Authentication, Outlook Sync, e-mail Router, Discovery, Locator, Platform Services, Sandbox counters and Async Services.

Creating a new Monitor

  • Supported versions of Microsoft Dynamics CRM / 365 (On-Premise): CRM 2011, CRM 2013, CRM 2016 and Dynamics 365
  • Prerequisites for monitoring Microsoft Dynamics CRM / 365 (On-Premise): Click to know about the user previleges and other necessary prerequisites to monitor Microsoft Dynamics CRM/365.
Note: Powershell script execution must be enabled on Applications manager server for data collection. Click here to know how.

Follow the steps given below to create a new Dynamics CRM/365 Application monitor:

  1. Click on New Monitor link.
  2. Select Microsoft Dynamics CRM / 365 (On-Premise) under ERP category.
  3. Specify the Display Name of the Dynamics CRM/365 Application.
  4. Enter the Host Name or IP Address of the host where the Dynamics CRM/365 Application runs.
  5. Select the Version number from the drop-down menu.
  6. If you choose the Use Below Credentials option, then enter the credentials - UserName and Password of the Host Machine.
    UserName - To monitor a Microsoft Dynamics CRM/365 application, use Administrator user account which has the permission to execute WMI queries on 'root/CIMV2' namespace of the Dynamics CRM/365 Server. Password - Password of the above user who has the permissions to execute WMI Queries.
    If you choose the Select from credential list option, then select the respective credential from preconfigured credential list.
  7. Select Enable Event Log Monitoring if you wish to monitor event logs.
  8. Specify the Polling Interval in minutes.
  9. Choose the Monitor Group with which you want to associate the Dynamics CRM/365 monitor to, from the combo box (optional). You can choose multiple groups to associate your monitor.
  10. Click Add Monitor(s). This discovers the Dynamics CRM/365 Application from the network and starts monitoring it.

Monitored Parameters

Go to the Monitors Category View by clicking the Monitors tab. Click on Microsoft Dynamics CRM / 365 (On-Premise) under the ERP Table. Displayed is the Microsoft Dynamics CRM/365(On-Premise) bulk configuration view distributed into three tabs:

  • Availability tab, gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

Click on the monitor name to see all the server details listed under the following tabs:

OVERVIEW

ParameterDescription
AUTHENTICATION FAILURES IN LAST MINUTE
Claims Authentication Failures In The Last Minute The total number of failed authentication requests processed per minute using claims. This counter measures the whole deployment including all organizations.
Config DB Windows Authentication Failures In The Last Minute The number of unsuccessful authentication requests per minute that are processed by using Active Directory authentication credentials. This counter measures the entire Microsoft Dynamics CRM deployment including all organizations. 
CRM Post Authentication Failures In The Last Minute The number of unsuccessful authentication requests per minute that are processed by using Microsoft Dynamics CRM authentication credentials. This counter measures the entire deployment including all organizations.
Passport Authentication Failures In The Last Minute The number of failed authentication requests per minute that are processed by using Microsoft account authentication credentials. This counter measures the entire Microsoft Dynamics CRM deployment including all organizations. This counter is CRM Online - specific.
Windows Authentication Failures In The Last Minute The number of unsuccessful authentication requests per minute. There are several possible causes for authentication failure. For example, the user may have been authenticated successfully by Active Directory but Microsoft Dynamics CRM authentication failed to communicate with the Kerberos servers, or a token expired, or the user's credentials are incorrect. This counter measures the entire Microsoft Dynamics CRM deployment including all organizations.
OUTLOOK SYNC REQUESTS
Current MAPI Sync Requests The number of MAPI sync requests currently executing.
Current Offline Sync Requests The number of offline sync requests currently executing.
Current Outlook Sync Requests The number of Microsoft Office Outlook sync requests currently executing.
Total ABP Sync Requests The total number of Address Book Provider (ABP) synchronization requests made from CRM for Outlook to a Microsoft Dynamics CRM server; a high count indicates a high client load on the Asynchronous Processing Service.
Total Offline Sync Requests The total number of offline synchronization requests made from CRM for Outlook to a Microsoft Dynamics CRM server; a high count indicates a high client load on the Asynchronous Processing Service.
Total Outlook Sync Requests The total number of ABP Sync Requests and the Offline Sync Requests; a high count indicates a high client load on the Asynchronous Processing Service.
Total Succeeded Offline Sync Requests The number of successful offline synchronization requests made from CRM for Outlook to a Microsoft Dynamics CRM server; a count that is much lower than the total number of offline synchronization requests may indicate a problem with clients that try to synchronize with the server.
Total Failed Offline Sync Requests The number of failed offline synchronization requests made from CRM for Outlook to a Microsoft Dynamics CRM server. This is calculated from 'Total Offline Sync Requests' and 'Total Succeeded Offline Sync Requests' . A count greater than 'Total Succeeded Offline Sync Requests' or a count close to 'Total Offline Sync Requests' may indicate a problem with clients that try to synchronize with the server.
SERVICES
Name The name of the service. Note that the display name and the service name (which is stored in the registry) are not always the same.
Start Mode The Start mode of the service. The different start modes are:
  • Boot - The device driver is started by the operating system loader (valid only for driver services).
  • System - The device driver started by the operating system initialization process. This value is valid only for driver services.
  • Auto - The service to be started automatically by the service control manager during system startup. Auto services are started even if a user does not log on.
  • Manual - The service to be started by the Service Control Manager when a process calls the StartService method. These services do not start unless a user logs on and starts them.
  • Disabled - The service that cannot be started until its StartMode is changed to either Auto or Manual.
State The current state of the base service. The values are: Stopped, Start Pending, Stop Pending, Running, Continue Pending, Pause Pending, Paused, Unknown.

SERVER

ParameterDescription
SERVER
Number of Organizations The number of organizations that are currently active.
Failed Internal Organization Service Requests The total number of failed web service requests to Microsoft Dynamics CRM InProc calls that are made by applications that use the methods described in the Microsoft Dynamics CRM SDK.
Failed Organization Service Metadata Requests The total number of metadata requests received by the Microsoft Dynamics CRM Organization Web Service that failed because of a time-out or other SOAP failure.
Failed Organization Service Requests The total number of requests to the Microsoft Dynamics CRM Organization Web Service that failed because of a time-out or other SOAP failure.
Failed Report Render Requests The number of requests to render Microsoft SQL Server Reporting Services reports that failed because of a time-out or error.
Script Error Reports The total number of error reports generated by the web client and CRM for Outlook. This counter is reset weekly to zero. This counter is an indicator of high script error frequency. If a large number of error reports are received in a short time, the operations team should investigate to determine which pages are producing errors. We recommend that you set a monitoring alert to notify you if there are more than 500 error reports in a 10-minute period.

REQUESTS

ParameterDescription
DISCOVERY SOURCE
Failed Discovery Service Requests The number of requests to the Microsoft Dynamics CRM Discovery service that are unsuccessful for any reason. For example, a request may fail because the requesting party is not recognized as a user in the organization. A high count may indicate that the system is possibly under a denial-of-service (DoS) attack, or there is some problem with the Discovery service configuration.
Successful Discovery Service Requests The number of requests to the Microsoft Dynamics CRM Discovery service that completed successfully.
Total Discovery Service Requests The total number of requests (successful and unsuccessful) received by the Microsoft Dynamics CRM Discovery service. This counter can be used to track traffic patterns for Discovery service capacity planning.
LOCATOR SERVICES
Failed Cache Flush Requests The number of LocatorService cache flush requests that were unsuccessful for any reason. For example, a request may fail because it was for an invalid cache entry, or the cache may not flush because of an incorrect cache state. A high count may indicate a problem with the LocatorService cache, or a problem with the connection to CONFIG_DB. For information about the cause, review the event log for errors.
Total Cache Flush Requests The total number of successful LocatorService cache flush requests that have been received. 
ROUTER SERVICE REQUEST
AppFabric Request Timeout The number of time-outs seen making requests to Windows Azure.
Router Request Faulted The number of requests made on the faulted channel to the router.
Router Request Received (Throughput) The number of requests received by the router.
Router Request Timeout The number of time-outs seen making requests to the router.
PLATFORM
Average Time Of Import Request The average time that is required to process Microsoft Dynamics CRM data import requests. Import requests are resource-intensive SQL Server operations. If the average time is too high and the number of concurrent imports is high, some organizations may have to be moved to a different deployment. Also, you may want to consider processing import jobs during a maintenance window to reduce the performance effect on users.
Number Of Import Requests Per Hour The number of import requests that have been submitted by organizations in the deployment in the past hour. This counter is useful to indicate how many import requests are being processed concurrently.
Number Of Publish Requests Per Hour The number of requests that have been submitted by organizations in the deployment in the past hour. This counter is useful to indicate how many publish requests are being processed concurrently.

SANDBOX

ParameterDescription
SANDBOX HOST
Worker Processes Crashed Percentage The percentage of Sandbox Worker processes that have crashed.
Worker Processes Terminated Percentage The percentage of Sandbox Worker processes that have been terminated due to excessive resource usage or no response.
Active Assemblies The number of plug-in assemblies currently in use.
Active Organizations The number of organizations that currently have a Sandbox Worker process active.
Active Plugins The number of plug-ins currently in use.
Handles The total handle count used by all Sandbox Worker processes.
CPU Usage Percentage The total CPU percentage used by all Sandbox Worker processes.
Assembly Cache Hits Percentage The assembly cache hit rate percentage.
Assembly Cache Usage Percentage The percentage of the total assembly cache disk space that is in use.
Execute Failures Percentage The incoming execution failure rate percentage in the Sandbox Host.
SDK Failures Percentage The outgoing Request failure rate percentage in the Sandbox Host.
Assembly Cache Disk Space (KB) The total disk space used by all plug-in assemblies in the assembly cache, in KB.
Memory Usage (MB) The total memory used by all Sandbox Worker processes, in MBytes.
SANDBOX CLIENT
Execute Failures Percentage The outgoing execution failure rate percentage in the Sandbox Client.
SDK Failures Percentage The incoming SDK Request failure rate percentage in the Sandbox Client.

ASYNC SERVICES (Only for CRM 2011 and CRM 2013)

ParameterDescription
ASYNC SERVICES
Active Organizations The total number of organizations in the Microsoft Dynamics CRM deployment that are actively being polled by the Microsoft CRM Asynchronous Processing Service.
Total Organizations The number of organizations being monitored for the entire Microsoft Dynamics CRM deployment.
Capacity Per Organization The number of asynchronous operations to be removed from the processing queue that are currently allocated to an organization.
Items In Memory (high) The maximum number of asynchronous operations to hold in memory for processing.
Items In Memory (low) The threshold of asynchronous operations to trigger loading of additional operations.
Threads In Use The number of threads currently employed in the processing of asynchronous operations for all organizations in the deployment.
Total Operations Failed The total number of asynchronous operations that failed for all organizations in the deployment.

PERFORMANCE

Parameter Description
CPU Utilization The Percent Processor Time i.e, the percentage of the time the processor is busy doing non-idle threads.
Memory Utilization The amount of memory immediately available for allocation to a process or for system use.
Disk I/O Statistics
Devices The display name of the disks.
Transfers/Sec The rate of read and write operations on the disk per second.
Writes/Sec The rate at which bytes are transferred to the disk during write operations.
Reads/Sec The rate of write operations on the disk.
% Busy Time The percentage of elapsed time that the selected disk drive is busy servicing read or write requests.
Avg. Queue Length The average number of both read and write requests that were queued for the selected disk during the sample interval.
Network Interface 
Name The display name of the network connector
Speed(MBps) The interface's current bandwidth in megabits per second (mbps).
Input Traffic(MBps) The rate at which bytes are received on the interface, including framing characters.
Output Traffic(MBps) The rate at which bytes are sent on the interface, including framing characters.
Port Connectivity 
Port Name The name of the port monitored.
Port Number The port number specified for that port.
Connectivity Status Specifies if the connection is UP / DOWN.
Response Time(ms) The time taken to check the connectivity status in milliseconds.

Follow these steps to add, remove or edit the TCP ports monitored:

  • Go to <appmanager-home>\working\conf\application\script\powershell folder and open DynamicsPorts.ps1 file in an editor.
  • To add new TCP port to be monitored, add the port name and port number in the below format along with the other ports:

"<portname>:<portnumber>"  Example: "DNS:53"

  • To remove any TCP ports which are monitored, comment the respective line by using # in the beginning of the line.

 Example:  # "DNS:53"

  • If any ports have been changed from the default port number in the server, please edit the respective port numbers.
  • Save the file after the changes are done.
  • Changes will be effective from the next poll in the monitor. 

SQL SERVER

ParametersDescription
General Statistics
Total Active Transactions The total number of active transactions
Transactions/Sec Number of transactions started for the database per second
Dynamic Server Memory Total amount of dynamic memory, in kilobytes, that the server is currently consuming
User Connections Number of users connected to the system
SQL Statistics
SQL Compilations / Sec Number of SQL Server query compilations per second
SQL Re-Compilations / Sec Number of SQL Server query re-compilations per second
Batch Requests / Sec Number of SQL Server batch request executed per seconds
Buffer Manager
Buffer Cache Hit Ratio Percentage of pages that were found in memory, this not requiring a physical I/O operation
Free List Stalls / Sec The number of requests per second that had to wait for a free page
Lazy Writes / Sec Pages written to the disk during the LazyWriter process freeing up SQL cache.
Page Life Expectancy Estimated number of seconds a page will stay in the buffer pool before it is written out
Page lookups / Sec Indicates the number of requests per second to find a page in the buffer pool
Lock Statistics
Lock Requests / Sec Number of new locks and lock conversions per second requested from the lock manager
Lock Memory The total amount of memory in kilobytes, that is allocated to locks
Access Method Metrics
Forwarded Records / Sec The number of records fetched through forwarded record pointers
FreeSpace Scans / Sec The number of scans per second that were initiated to search for free space within pages already allocated to an allocation unit to insert or modify record fragment
Full Scans / Sec Either table or Index is fully scanned. This could be caused because of wrong or unhelpful indexes
WorkFiles Created / Sec The number of work files created per second
WorkTables Created / Sec The number of worktables created in tempdb per second. Worktables are used for queries that use various spools (table spool, index spool, etc)

WEB TRAFFIC

Parameter Description
Bytes Received/Sec The rate at which bytes are received by the web service.
Bytes Sent/Sec The rate at which bytes are sent by the web service.
Current Connections The current number of connections established with the web service.
Connection Attempts/Sec The current number of connections established with the web service.
Files Received/Sec The rate at which connections using the web service are being attempted.
Files Sent/Sec The rate at which files are sent by the web service.

.NET CLR

Parameter Description
Exceptions/sec The total number of exceptions thrown since the start of the application. These include both .NET exceptions and unmanaged exceptions.
Time in GC The elapsed time that was spent in performing a garbage collection (GC) since the last GC cycle.
Current Queue length The total number of threads currently waiting to acquire some managed lock in the application.
Contention Rate/sec The rate at which threads in the runtime attempt to acquire a managed lock unsuccessfully.
Logical Threads The number of current .NET thread objects in the application.
Physical Threads The number of native OS threads created and owned by the CLR to act as underlying threads for .NET thread objects.
JIT compilation time The percentage of elapsed time spent in JIT compilation since the last JIT compilation phase.

EVENTS

Event Log from the Dynamics CRM/365 Application can be monitored by creating EventLog Rules in Applications Manager.

ParameterDescription
EVENTS
Rule Name The name of the event log rule
Log File Type The Log File Type - Application, system, security, file replication service, DNS Server or directory service.
Source The Application which created the event.
Event Id The Event ID associated with the Event Log File.
Type The Event Type - Error, Warning, Information or Event of Any Type. In case of Security Events, the types would vary between Success Audit and Failure Audit.
User Name The system component or User account that was running the process which caused the event.
Description A description of the event.
Generated Time The time when the event entry was submitted.