Prerequisites for the Nodinite Dynamics 365 Monitoring Agent
Get started with confidence! This page outlines everything you need to successfully install and run the Nodinite Dynamics 365 Monitoring Agent.
graph LR subgraph "Nodinite Instance" roNI(fal:fa-monitor-waveform Dynamics 365 Monitoring agent) end subgraph "Dynamics 365" roAzureAPI(fal:fa-cloud Microsoft API)---roLA(fal:fa-clouds Your instance) roNI --> |SDK| roAzureAPI end
Architecture overview: The Nodinite agent connects securely to your Dynamics 365 instance via the Microsoft API.
For best performance and security, install the agent close to your Nodinite Core Services. This guide covers a typical local network setup (usually on the Nodinite application server).
Software requirements
The Nodinite Dynamics 365 Monitoring Agent is a Windows Service, typically installed on the Nodinite application server.
Product | |
---|---|
Windows Server | Windows 2025Windows 2022Windows 2019Windows 2016Windows 2012 R2Windows 2012 |
.NET Framework | .NET Framework 4.8 or later New 6.0We recommend .NET Framework 4.8.1 or later |
Versions 6.0 and later require .NET Framework 4.8 or later.
Versions 5.4 and up require .NET Framework 4.6.2 or later.
Versions before 5.4 require .NET Framework 4.5.2 or later.
Supported Versions
Cloud technologies evolve quickly, and Microsoft deprecates older APIs and SDKs regularly. Nodinite always supports the APIs and SDKs currently supported by Microsoft. Update Nodinite and the Dynamics 365 Monitoring Agent as needed to stay current.
Subscribe to our Release Notes to stay informed.
What Dynamics 365 instance Rights does the Dynamics 365 Monitoring agent require?
See the list of SDK/API calls.
To use the Audit feature, enable user audits in your Dynamics 365 instance.
- Enable Audit user – Audit data and user activity
Make sure to enable the audit user option.
What Windows User Rights does the Dynamics 365 Monitoring agent require?
Install the agent as a Windows Service (usually on the Nodinite application server; virtual machines are supported).
- Use a local named account or domain account (preferred).
- Ensure the account has access and run-time rights.
- Follow the 'How to set logon as a Windows service right' user guide for details.
What Firewall settings are required for the Dynamics 365 Monitoring agent?
The Nodinite Dynamics 365 Monitoring Agent requires both inbound and outbound communication:
- Between the Monitoring Service and the Dynamics 365 Monitoring Agent
- Between the Dynamics 365 Monitoring Agent and Dynamics 365 API (using the SDK)
- Between the Dynamics 365 Monitoring Agent and the Monitoring Database
graph LR subgraph "Nodinite Application Instance" roMonitoringService(fal:fa-watch-fitness Monitoring Service) roMonitoringService --> |8000| roNI(fal:fa-monitor-waveform Dynamic 365 Monitoring agent) end subgraph "Dynamics 365" roNI --> |443| roBTDTADb(fal:fa-hand-holding-usd Instance) end subgraph "Nodinite SQL Instance" roNI--> |SQL,DTC,RPC,DNS |roDBMonitoringDatabase(fal:fa-database Monitoring database) end
Network overview: Communication paths for the Dynamics 365 Monitoring Agent.
1. Between the Monitoring Service and the Dynamics 365 Monitoring agent
Allow the following ports on the Windows server where the agent is installed:
Port | Name | Inbound | Outbound | TCP | UDP | Comment |
---|---|---|---|---|---|---|
53 | DNS | The Agent needs to know where your other servers/services are (can sometimes be solved with local hosts file entries) |
For local network installations (if installed on the same machine, no external traffic):
Local network
Port | Name | Inbound | Outbound | TCP | UDP | Comment |
---|---|---|---|---|---|---|
8000 | RPC | Communication is initiated by the Monitoring Service |
2. Between the Dynamics 365 Monitoring Agent and Dynamics 365 Cloud
Server types: Agent Server (Dynamics 365 Monitoring Agent), Dynamics 365 Cloud (Microsoft Dynamics 365 instance).
Dynamics 365 API Connection (Agent → Dynamics 365 Cloud)
The agent connects to the Dynamics 365 APIs using the SDK to monitor the Dynamics 365 instance.
Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
---|---|---|---|---|---|---|
Outbound | Agent Server | Dynamics 365 Cloud | TCP | 443 (HTTPS) | Dynamics 365 SDK API communication | Monitor Dynamics 365 organizations and entities |
Inbound | Dynamics 365 Cloud | Agent Server | TCP | 443 (HTTPS) | Response traffic | Allowed automatically by stateful firewalls |
Tip
Dynamics 365 Authentication: The agent uses a System User account to access Dynamics 365 APIs. Ensure the account has required privileges (e.g.,
prvReadLicense
for license information, System User for organization retrieval). See the API Calls table below for details.
Tip
Dynamics 365 Regions: Ensure the Agent Server can reach the Dynamics 365 region-specific endpoints (e.g.,
*.crm.dynamics.com
,*.crm4.dynamics.com
). Review Microsoft Dynamics 365 URLs for regional endpoint details.
Note
No Inbound Rules on Dynamics 365: Dynamics 365 is a cloud service accessed outbound from the Agent Server. No inbound firewall rules are required on the Dynamics 365 side.
3. Between the Dynamics 365 Monitoring Agent and Monitoring Database
Server types: Agent Server (Dynamics 365 Monitoring Agent), SQL Server (Nodinite Monitoring Database).
Monitoring Database Connection (Agent → SQL Server)
The agent connects to the Nodinite Monitoring Database to store monitoring data and metrics.
Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
---|---|---|---|---|---|---|
Outbound | Agent Server | SQL Server | TCP | 1433 | SQL Server default instance | Port may vary for named instances |
Outbound | Agent Server | SQL Server | TCP | 49152-65535 | SQL Server dynamic ports | High ports for named instances |
Outbound | Agent Server | SQL Server | TCP/UDP | 135 | RPC Endpoint Mapper / MSDTC | Distributed Transaction Coordinator |
Outbound | Agent Server | Domain Controller | TCP/UDP | 88 | Kerberos authentication | Required for domain accounts |
Inbound | SQL Server | Agent Server | TCP | 1433, 49152-65535, 135 | Response traffic | Allowed automatically by stateful firewalls |
Inbound | Domain Controller | Agent Server | TCP/UDP | 88 | Kerberos response | Allowed automatically by stateful firewalls |
Tip
SQL Server Connectivity: Review the How to configure RPC dynamic port allocation to work with firewalls guide for details on SQL Server dynamic ports.
Tip
Single Server Solutions: If the Agent Server and SQL Server are on the same machine, firewall rules are typically not required for SQL communication (loopback traffic).
Note
DNS Resolution: All servers (Agent Server, SQL Server, Domain Controller) require outbound access to DNS on TCP/UDP port 53 for name resolution. This is already listed in section 1 and applies universally. You can optionally solve this using entries in the local
hosts
file on each server.
Important
Stateful Firewalls: Most modern Windows Firewall implementations are stateful, meaning inbound response traffic for established outbound connections is automatically allowed. The inbound rules listed above are primarily for reference and troubleshooting scenarios where stateful inspection may be disabled or restricted.
What SQL user rights does the Dynamics 365 Monitoring agent require?
The service account running the Dynamics 365 Monitoring Agent must have the following rights:
Nodinite Dynamics 365 Monitoring database
To improve performance, all operations initiated from the Web Client/Web API use a SQL-based Monitoring Database.
- db_owner (required to apply DACPAC updates)
List of API Calls
API Call | Privilege | Purpose |
---|---|---|
RetrieveOrganizationsRequest | System User account | Registered users and logon history |
RetrieveVersionRequest | ||
RetrieveDeploymentLicenseTypeRequest | prvReadLicense | |
DeviceRegistrationRequest | ||
RetrieveLicenseInfoRequest | prvReadLicense | |
QueryExpression - Audit.EntityLogicalName, Columns: objectid, createdon, operation, action, userid | Audit | |
QueryExpression - Workflow.EntityLogicalName, Columns: createdon, name, description, statecode, category, workflowid, activeworkflowid | Workflow | |
QueryExpression - Solution.EntityLogicalName, Columns: solutionid, uniquename | Solution | |
QueryExpression - SdkMessageProcessingStep.EntityLogicalName, Columns: createdon, name, description, statecode, introducedversion, mode | Processing step |
Frequently asked questions
Find more solutions and answers to common problems for the Nodinite Dynamics 365 Monitoring Agent in the Troubleshooting user guide.
Next Step
Install Dynamics 365 Monitoring Agent
Related Topics
Add or manage a Monitoring Agent Configuration
Monitoring
Administration