User Guide

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:

  1. reproducing some operations performed by both humans and software.

  2. 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.

../_images/agent-schema.png

Fig. 160 Functional schema of AxMonitor agent

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.

Table 18 Parameters

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.

Table 19 Parameters

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

AXCheck-DixfSharedPath

AXCheck-DixfSharedPath tests if path of file DIXFshare is reachable.

Table 20 Parameters

Parameter

Description

sharedFolder

Mandatory, specify the shared Folder path of the Data Import Export Framework

AXCheck-DixfSharedPath -sharedFolder <String>

Example:

AXCheck-DixfSharedPath -sharedFolder \\axpraos01.con.local\dixf

AX client

AXCheck-AxClientConnection

AXCheck-AxClientConnection tests if connection to an AOS Service if working, testing both RPC and WCF services.

Table 21 Parameters

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 configuration.axc. If this parameter is used all other parameters are ignored. Ensure the AxMonitor agent service user has read rights on file configuration.axc.

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.

Table 22 Parameters

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.

Table 23 Parameters

Parameter

Description

endpoint

If omitted this value is retrieved directly from Microsoft Dynamics AX.

reportPath

This parameter is limited to two possible values:

  • /DynamicsAx/SRSReportServerWarmup.AutoDesign (default)

  • /DynamicsAx/SysUserLicenseCountReport.Report

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.

Table 24 Parameters

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.

Table 25 Parameters

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.

Table 26 Parameters

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.

Table 27 Parameters

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.

Table 28 Parameters

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.

Table 29 Parameters

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.

Table 30 Parameters

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.

Table 31 Parameters

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.

Table 32 Parameters

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.

Table 33 Parameters

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.

Table 34 Parameters

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.

Table 35 Parameters

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.

Table 36 Parameters

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.

Table 37 Parameters

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