AXMonitoring¶
AX Monitor agent¶
The AxMonitor agent is a Windows service that can be installed on each server of a Microsoft Dynamics AX environment.
It has been designed to be integrated without the need for specific configurations in NetEye, once installed it is straightforward to create desireds Icinga agent-based Checks.
To facitate this task the agent comes with the PowerShell module AxMonitor with all needed cmdlets.
The AxMonitor agent is intended to monitor the operational health status of various Microsoft Dynamics AX functionalities in two ways:
reproducing some operations performed by both humans and software.
verification of well-defined settings which are essential for correct ERP’s operation.
The first point is the main reason for which it was decided to have an agent and not only a PowerShell module: interactions with Microsoft Dynamics AX requires a Windows Account registered as Microsoft Dynamics AX user while in principle the Icinga Windows agent uses a different Account.
The agent exposes some endpoints with data describing Microsoft Dynamics AX settings and status, some of these endpoints expose significant metrics in Prometheus data model and it can be moreover used as metric source for agents like Telegraf.
Usage Scenarios¶
Alert notifications for critical business processes¶
It is possible to get an alert in a wide range of critical scenarios, here a partial list:
An AOS service has stopped working
A Print service is not more responding
A MS SQL Reporting Service is not rendering correctly the requested reports
The Security settings for AX SQL database are not correct for AOS service user and .net BC user
The WCF services exposed by AOS service are not more reachable
The WCF services exposed by AOS service does not respond with the expected results
The SQL server instance is not reachable over network
AIF Web Services¶
AXCheck-AifWebServicesService¶
AXCheck-AifWebServicesService tests if service endpoint is reachable.
Parameter |
Description |
---|---|
address |
Address of server where AIF Web Services are hosted. Default value is localhost. |
service |
Service name to test, mandatory |
AXCheck-AifWebServicesService [-address <String>] -service <String>
Example:
AXCheck-AifWebServicesService -address http://axpriis03:8081/MicrosoftDynamicsAXAif60/ -service AXAIFTEST22
Data Import Export Framework¶
AXCheck-DixfService¶
AXCheck-DixfService tests if service endpoint is reachable.
Parameter |
Description |
---|---|
service |
Mandatory, specify the Data Import Export Framework endpoint. |
AXCheck-DixfService -service <String>
Example:
AXCheck-DixfService -service http://axprdixf.con.local:7000/DMFService/DMFServiceHelper.svc
AX client¶
AXCheck-AxClientConnection¶
AXCheck-AxClientConnection tests if connection to an AOS Service if working, testing both RPC and WCF services.
Parameter |
Description |
---|---|
aosServer |
DNS entry for a valid AOS Service instance. If local AX client configuration cannot be found the cmdlet throws an exception. |
rpcPort |
In case this parameter is omitted this value can be read from local configuration. If local AX client configuration cannot be found default value is 2712. |
wsdlPort |
In case this parameter is omitted this value can be read from local configuration. If local AX client configuration cannot be found default value is 8101. |
nettcpPort |
In case this parameter is omitted this value can be read from local configuration. If local AX client configuration cannot be found default value is 8201. |
configFile |
Full path to AXC configuration file |
AXCheck-AxClientConnection [-aosServer <String>] [-rpcPort <Int32>] [-wsdlPort <Int32>] [-nettcpPort <Int32>]
AXCheck-AxClientConnection [-configFile <String>]
Example with axpraosclicluster.con.local f5 load balancer and all ports:
AXCheck-AxClientConnection -aosServer axpraosclicluster.con.local -rpcPort 2712 -wsdlPort 8101 -nettcpPort 8201
Example with configuration file :file:’\axprfs.con.localaxcDATaxclient.axc’:
AXCheck-AxClientConnection -configFile \\axprfs.con.local\axc\DAT\axclient.axc
Reporting Services Extensions¶
AXCheck-SSRSservice¶
AXCheck-SSRSservice checks if reporting service are up and running.
Parameter |
Description |
---|---|
endpoint |
If omitted this value is retrieved directly from Microsoft Dynamics AX. |
AXCheck-SSRSsvcCheck [-endpoint <String>]
Example:
AXCheck-SSRSsvcCheck -endpoint http://axprssrs02.con.local:8080/ReportServer
AXCheck-SSRSreportRender¶
AXCheck-SSRSreportRender checks if a report rendering request works.
Parameter |
Description |
---|---|
endpoint |
If omitted this value is retrieved directly from Microsoft Dynamics AX. |
reportPath |
This parameter is limited to two possible values:
|
AXCheck-SSRSreportRender [-endpoint <String>] [-reportPath <String>]
Example:
AXCheck-SSRSreportRender -endpoint http://axprssrs02.con.local:8080/ReportServer -reportPath /DynamicsAx/SysUserLicenseCountReport.Report
AXCheck-SSRSDBConnection¶
AXCheck-SSRSDBConnection tests if SQL Reporting Service Database is accessible. This test makes sense only on servers hosting a SQL Reporting Service.
Parameter |
Description |
---|---|
sqlInstance |
SQL instance name. Mandatory since this value is protected by encryption and cannot be read by users different from SSRS service user. |
dbName |
Database name. Mandatory since this value is protected by encryption and cannot be read by users different from SSRS service user. |
AXCheck-SSRSDBConnection -sqlInstance <String> -dbName <String>
Example:
AXCheck-SSRSDBConnection -sqlInstance axprsql01.con.local/SqlI03 -dbName axrepordingDB
Application Object Server¶
AXCheck-AOSactiveUserSession¶
AXCheck-AOSactiveUserSession tests if AOS Service is running and respectively the numbers of active users and sessions on a AOS Service instance. Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
AXCheck-AOSactiveUserSession [-aosId <String>]
Example:
AXCheck-AOSactiveUserSession -aosId 01
AXCheck-IsBatchServer¶
AXCheck-IsBatchServer tests if AOS Service is configured as batch server. Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
AXCheck-IsBatchServer [-aosId <String>]
Example:
AXCheck-IsBatchServer -aosId 01
AXCheck-WaitingBatchjobsStats¶
AXCheck-WaitingBatchjobsStats retrieves the number of waiting batchjobs. Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
AXCheck-WaitingBatchjobsStats [-aosId <String>]
Example:
AXCheck-WaitingBatchjobsStats -aosId 01
AXCheck-IsLoadBalancer¶
AXCheck-IsLoadBalancer tests if AOS Service is configured as load balancer. Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
AXCheck-IsLoadBalancer [-aosId <String>]
Example:
AXCheck-IsLoadBalancer -aosId 01
AXCheck-SQLDatabaseConnection¶
AXCheck-SQLDatabaseConnection tests if SQL Database is accessible. Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
sqlInstance |
SQL instance name. If omitted this value is read from AOS Service configuration. |
dbName |
Database name. If omitted this value is read from AOS Service configuration. |
AXCheck-SQLDatabaseConnection [-aosId <String>] [-sqlInstance <String>] [-dbName <String>]
Example:
AXCheck-SQLDatabaseConnection -aosId 02 -sqlInstance axprsql.con.local -dbName AxDB
AXCheck-SQLModelstoreDBConnection¶
AXCheck-SQLModelstoreDBConnection tests if SQL Modelstore Database is accessible. Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
sqlInstance |
SQL instance name. If omitted this value is read from AOS Service configuration. |
dbName |
Database name. If omitted this value is read from AOS Service configuration. |
AXCheck-SQLModelstoreDBConnection [-aosId <String>] [-sqlInstance <String>] [-dbName <String>]
Example:
AXCheck-SQLModelstoreDBConnection -aosId 01 -sqlInstance axprsql.con.local -dbName AxDB_model
AXCheck-AOSRpc¶
AXCheck-AOSRpc tests if RPC port of an AOS Service is reachable.
Parameter |
Description |
---|---|
aosServer |
DNS entry for a valid AOS Service instance. Default value is localhost. |
rpcPort |
In case this parameter is omitted this value can be read from local configuration of AOS Service. If local AOS Service configuration cannot be found default value is 2712. |
AXCheck-AOSRpc [-aosServer <String>] [-rpcPort <Int32>]
Example:
AXCheck-AOSRpc -aosServer localhost -rpcPort 2712
AXCheck-AOSWsdl¶
AXCheck-AOSWsdl tests if WCF services’ wsdl description services exposed by AOS service are reachable and reply correctly.
Parameter |
Description |
---|---|
aosServer |
DNS entry for a valid AOS Service instance. Default value is localhost. |
wsdlPort |
In case this parameter is omitted this value can be read from local configuration of AOS Service. If local AOS Service configuration cannot be found default value is 8101. |
wcfservice |
Mandatory, use as value the conventional name of WCF services. |
AXCheck-AOSWsdl [-aosServer <String>] [-wsdlPort <Int32>] -wcfservice <String>
Example:
AXCheck-AOSWsdl -aosServer localhost -wsdlPort 8101
AXCheck-AOSNetTcp¶
AXCheck-AOSNetTcp tests if WCF services exposed by AOS service are reachable and respond correctly.
Parameter |
Description |
---|---|
aosServer |
DNS entry for a valid AOS Service instance. Default value is localhost. |
nettcpPort |
In case this parameter is omitted this value can be read from local configuration of AOS Service. If local AOS Service configuration cannot be found default value is 8201. |
wcfservice |
Mandatory, use as value the conventional name of WCF services. For AxManageabilityServiceGroup, AxMetadataService and AxQueryService is carried out a response validation check. For other services is tested only if they are reachable. |
AXCheck-AOSNetTcp [-aosServer <String>] [-nettcpPort <Int32>] -wcfservice <String>
Example:
AXCheck-AOSNetTcp -aosServer localhost -nettcpPort 8201 -wcfservice AxManageabilityServiceGroup
AXCheck-AOSstatus¶
AXCheck-AOSstatus tests:
That the service is up and running
That the link to MS SQL server instance is working
That the AX databases (business db and model db) are readable
That the loadbalancer configuration is active
That the batch configuration is active
The active sessions number
The active client user number
The number of batch jobs in waiting status
The metadataservice status
The queryservice status
The manageabilityservicegroup status
Valid only on servers hosting one ore more instances of AOS Service.
Parameter |
Description |
---|---|
aosId |
AOS Service instance Id. Default value is 01. |
AXCheck-AOSstatus [-aosId <String>]
Example:
AXCheck-AOSstatus -aosId 01
Debugger¶
AXCheck-DebuggerInstalled¶
AXCheck-DebuggerInstalled tests if debugger is installed.
AXCheck-DebuggerInstalled
AXCheck-DebuggerIsActive¶
AXCheck-DebuggerIsActive tests if debugger is active. Valid only for servers hosting an AOS Service.
Parameter |
Description |
---|---|
aosId |
Default value is 01. Specify the AOS Service instance ID. |
AXCheck-DebuggerIsActive [-aosId <String>]
Example:
AXCheck-DebuggerIsActive -aosId 02
.NET Business Connector¶
AXCheck-NETBusinessConnector¶
AXCheck-NETBusinessConnector test connection to an AOS Service. Valid only on servers where .NET Business Connector is installed.
Parameter |
Description |
---|---|
aosServer |
DNS entry for a valid AOS Service instance. If omitted this value is read from .NET Business Connector configuration. |
AXCheck-NETBusinessConnector [-aosServer <String>]
Example
AXCheck-NETBusinessConnector -aosServer axprAos02.con.local
OfficeAddins¶
AXCheck-OfficeAddins¶
AXCheck-OfficeAddins test connection to an AOS Service. Valid only on servers where OfficeAddins is installed.
Parameter |
Description |
---|---|
aosServer |
DNS entry for a valid AOS Service instance. If omitted this value is read from OfficeAddins configuration. |
AXCheck-OfficeAddins [-aosServer <String>]
Example:
AXCheck-OfficeAddins -aosServer axprAosClientCluster.con.local