As well as covering the key recipes in Chapter 5, System Monitoring it is important to understand what to monitor. This section provides further information on how the system hangs together in terms of various interdependencies.
Assuming that we have a well-designed, highly available environment, many failures can occur without any effect on the operation of the system. Of course, once a server or a component has failed over, you are at great risk of whether these failures would further occur.
As a part of the High Availability (HA) design, points of failure will be identified and as a part of this, the events that need to be monitored will also be identified.
This will include the following:
SAN Disk failure
SAN component failure (for example, power supply)
SQL Server failover (assuming setup in a cluster)
SQL Server Analysis Services failover (assuming setup in a cluster)
SQL Server reporting services failure
SQL agent (if this is used for maintenance jobs and so on)
Dynamics AX 2012 Server instance failure
Dynamics AX 2012 Retail component failure
Dynamics AX Workflow (IIS)
Dynamics AX AIF services (if hosted on IIS)
SharePoint component failure (impact includes role centers and document management template libraries)
Network infrastructure failure
For this reason, it is common for IT departments to carry spare hard drives, power supplies, and so on in stock so that they can be quickly replaced. And of course, a new spare should be ordered as a matter of urgency.
This primary focus of this chapter is the monitoring of the critical server software key to the operation and performance of Dynamics AX 2012, which is often neglected until a component fails.
To perform the basic operations of Dynamics AX (such as entering sales orders and printing invoices), the following three components must always be available:
Dynamics AX Server instance(s)
Microsoft SQL Server database engine
Microsoft SQL reporting services
For the Enterprise Portal to be available, the SharePoint server must be available.
For most Business Intelligence functions, the following are the prerequisites:
Enterprise Portal (role center)
SQL Server Reporting Services (SSRS)
SQL Server Analysis Services (SSAS)
Both Dynamics AX Server and SQL Server are complex systems and offer monitoring both within the client application (AX Client and SQL Server Management Studio) and within the Windows Server operating system.
Note
System health monitoring should be as non-intrusive as possible and have a minimal impact on the system's performance. Some tracing tools and methods can cause the performance problems we are trying to prevent.
Dynamics AX 2012 has several internal components (or frameworks as they are sometimes called) that are required for many "line of business" operations to succeed. These include the following:
Batch framework
Workflow
Application Integration Framework (AIF)
There are two methods of monitoring these components: Dynamics AX's alerts or external monitoring tools such as System Centre Operations Manager.
With reference to System Centre Operations Manager 2012, Microsoft has supplied a management pack that monitors these three components. This runs independent of AX.
Retail components are not listed here as they should be monitored along with the other Windows services.
Note
The AX built-in alerts rely on the batch framework, and if this is not running, no alerts will be generated.
The batch framework will process the following categories of batch jobs:
Task category |
Example jobs |
---|---|
Recurring system batch jobs |
|
Recurring user batch jobs created by the administrator |
|
Recurring or once-only user batch jobs |
|
When tasks are created, you have the option to be alerted on completion, cancellation, or when an error occurs.
This alert will be sent to the user that submitted the batch job (by default), which may not always be the correct target. Also, if the batch routines are not being processed, no alerts will be generated. It uses the batch framework to process the alerts.
Workflow can fail at several levels and each may require a different person to deal with the issue. Following are some examples:
Workflow URL becomes unavailable |
AX Administrator, submitting user |
Workflow instance stops, system error |
AX Administrator, submitting user |
Workflow instance stops, configuration |
Workflow Designer, submitting user |
When the workflow was designed, the various alerts were set up to go to the appropriate person. This requires the batch framework to be available and processing alerts for this to succeed.
If this fails, it is normally due to an external fault (for example, a file URI was deleted or permissions changed), but occasionally it is due to a change to the code or the data dictionary (that is, changes to the data dictionary, especially field lengths, do not automatically reflect to the document schemas).
You cannot add an alert for this component or configure a notification for this from within AX.
SQL Server will (if properly configured, with appropriate maintenance plans) perform without any user interaction. The main causes of failure within SQL Server are for reasons beyond its control, for example, a hardware component failure.
Other than total failure, SQL Server may become less responsive, affecting the user experience within AX. The typical reason for this is poor configuration or maintenance of SQL Server.
There are many reasons for this:
Index fragmentation
Statistics (used by SQL to calculate the execution plan)
TempDB incorrectly configured (for example, the number of files per core)
Incorrect configuration of the Dynamics AX database
Incorrect configuration of data and log files (although this is mitigated if we SSDs)
This is beyond the scope of this book, but correct configuration, sizing, and maintenance of your SQL Server can't be emphasized enough.
In terms of general health monitoring, the disk subsystem is the most critical and the most common (in our experience) cause of failure. This is characterized by the following:
Database file space: Imagine the database files are virtual hard drives, which can autogrow formatting space within the 'file' as required
Disk space (local and SAN): If the disk is full, the database file can't grow, which will pause the SQL Server database.
The Dynamics AX 2012 can be thought of as a dependency chain, each component relying on another. Most components will be monitored as part of your hardware and network infrastructure's high availability design, some require special consideration.
If you plan to use System Centre Operations Manager (SCOM), or another environment health monitoring solution, the process does become much easier, especially when they come with preconfigured management packs for Dynamics AX 2012.
Each implementation will have its own hardware and network infrastructure solution, meeting the aims of performance and high availability. Determining exactly what to monitor depends largely on this design.
The answer to what to monitor can be given by reviewing your business processes, such as "Order to Payment":
Enter Purchase Order: Dynamics AX Client, Dynamics AX Server
Send confirmation to Supplier: SSRS, AIF
Process ASN (advanced shipping notice): AIF
Process delivery receipt: Barcoding solution, AIF, batch framework
Process invoice: Batch framework
Process payment: File share (export file), Exchange / AIF (remittance)
This is a very simplified example, but attempts to highlight that AX has dependencies, and these vary for each implementation.
The following worksheet is a generic view on what to monitor to ensure that AX is functioning in a typical scenario.
Component |
Dependent on |
Monitored by |
Method |
---|---|---|---|
AX Search (unified application search) |
Supported Search Server |
System administrator |
Ops Monitoring Windows notifications |
Help |
Help Server IIS |
System administrator |
Ops Monitoring Windows notifications |
Batch framework |
Dynamics AX instance (batch) |
AX administrator System administrator |
Manual check Ops Monitoring |
Batch jobs |
Batch framework |
User AX administrator |
Alerts |
Workflow framework |
IIS Batch framework |
AX administrator System administrator |
Alerts Ops Monitoring |
Workflow instance |
Workflow Batch framework |
AX administrator Workflow designer |
Alerts (within WF) |
Application Integration Framework |
External Services Batch framework |
AX administrator System administrator |
Manual check Ops Monitoring |
AX Reports |
SSRS |
System administrator |
Ops Monitoring Windows notifications |
Dynamics AX instance |
SQL Server |
System administrator |
Ops Monitoring Windows notifications |
Enterprise Portal |
Dynamics AX SharePoint |
System administrator |
Windows notifications Ops Monitoring |
SharePoint Server |
IIS SQL Server |
System administrator |
SharePoint Ops Monitoring Windows notifications |
Business Intelligence |
SSRSs SSAS |
System administrator |
Ops Monitoring Windows notifications |
SSAS |
SQL Server SAN |
System administrator |
Ops Monitoring Windows notifications |
SSRS |
IIS SSAS SQL Server Dynamics AX |
System administrator |
Ops Monitoring Windows notifications |
SQL Server instance |
SAN |
System administrator |
Windows notifications Ops Monitoring SQL Server |
Host servers |
SQL Server instance |
System administrator |
Ops Monitoring Windows notifications |