Manually install or update Nodinite Monitoring Agent databases
On this page, you will learn how to install and update Nodinite Monitoring Databases manually.
Important
You must use SqlPackage version 161 or later! Make sure to match the Nodinite System Parameter accordingly.
The following Monitoring Agents use a Monitoring Database** to improve performance and/or provide long-term statistics:
- Azure Logic Apps
- Microsoft BizTalk Server Monitoring Agent
- Microsoft Dynamics 365
- IBM DataPower Monitoring Agent
Use the account for the Nodinite Monitoring Agent to perform database installation and updates. If you are not performing the steps in this guide with that service account, you must at least have the DB_Creator, DiskAdmin and Security Admin right, or the sysadmin right on the SQL Server instance to install or update the monitoring database.
Verified | Topic |
---|---|
Software Requirements | |
Windows rights | |
Database rights | |
Firewall |
Software Requirements
This functionality requires that the Microsoft Data-tier Applications SqlPackage.exe
is installed on the server hosting the Monitoring Agent. Download it from either our download page or directly from Microsoft.
Product | ||
---|---|---|
Windows Server | Windows Server | Windows version as determined by the Monitoring Agent |
.NET Framework | .NET Framework 4.x or later | Different Monitoring Agents may have different requirements |
SQLPackage.exe |
Data-tier Applications | No license required |
What Windows rights does the installation and update process require?
The Monitoring Agent runs as a Windows Service and is responsible for updating existing databases (runs on each start). The Service account (may be different for different Monitoring Agents) must have local rights on the Windows Server. In addition, the Service account must also have the proper SQL Rights on the SQL instance with the Monitoring Database; see the next section.
All Monitoring Agents requires the privileges described on the 'Windows Service Account' page.
What SQL Rights does the installation and update process require?
On each startup, the Nodinite Monitoring Agent update the Monitoring Database if a new version of the model exists. The identity for the Windows account running the Service is the one in use for the update operation.
Required SQL Server rights
On the SQL Server instance with the Monitoring Database, the account must have the following User Mapping (assign manually after installing the database)
- db_owner - Assign the rights to change the database in any way (for example, if operational, the database get the updates automatically with newer versions of the monitoring agent)
What Firewall settings are required by the installation and update process?
For the Monitoring agents to be operational, specific ports must be open for communication. As Nodinite and Windows are highly configurable, the actual ports in use may differ from the defaults described next.
- TCP Ports between Monitoring Agent Windows Service and SQL Server instance with Monitoring Database
Port | Name | Inbound | Outbound | TCP | UDP | Comment |
---|---|---|---|---|---|---|
53 | DNS | The Agent needs to know where your other servers/services are (can sometimes optionally be solved with user-defined entries in the hosts file in each Windows server instance), review the following 'Microsoft' user guide |
||||
88 | Kerberos | Review 'Microsoft Kerberos' user guide | ||||
135 | DTC/RPC | This port is shared between many Windows Services | ||||
1433/... | SQL Server instance ports (multiple) | Depends on policies and settings on target environment. Please review the How to configure RPC dynamic port allocation to work with firewalls user guide |
How do I install a Monitoring Database?
There are two ways of installing a new Monitoring Database:
Executing the database installer (.exe) manually
Important
You must have set a proper configuration for the database in the configuration file before launching the installer.
Manually install the monitoring database using the
%NAME%.DACPAC
file
1. Executing the database installer manually using the Database Installer (.exe)
Any update requires the Microsoft DACFRAMEWORK binaries to be installed; please review the SQL Server Package (DACPAC) user guide
Before you execute the installer, you must provide information about the SQL Server instance and the name of the monitoring database, this connectivity information is set using the MonitorAgentConnectionString
property either using Remote Configuration or directly editing the configuration file.
Use Notepad++, or run notepad with elevated privileges:
- Open the
Settings.json
file - Set the SSL options to use by the Agent connecting with the target SQL Server.
Connect without encryption:
/SourceEncryptConnection=False or /TargetEncryptConnection=False
Trust server certificate:/SourceTrustServerCertificate=True or /TargetTrustServerCertificate=True
The following are the Nodinite default values: in use by the SQL Server Package (DACPAC) to install or update the Monitoring database.
...
"SourceEncryptConnection": true,
"SourceTrustServerCertificate": false,
"TargetEncryptConnection": true,
"TargetTrustServerCertificate": true,
...
- Set the appropriate MonitorAgentConnectionString (See ConnectionStrings.com for additional examples)
...
"MonitorAgentConnectionString": "Server=localhost;Database=Nodinite_MonitorAgent_%AgentName%_Test;Integrated Security=SSPI;Connection Timeout=60;TrustServerCertificate=True",
...
- You may want to alter the
TrustServerCertificate
property according to your user preferences and policies, please review the TrustServerCertificate Property user guide for additional information.Note
Nodinite uses the non-default value
True
.
If you are using a named instance, you must escape the backslash.
Note
Named instances must be JSON formatted (use 2 backslashes for configuration
\\
) for example,Server=localhost\\instancename
- Run the
Nodinite.Installer.MonitorAgent.%AgentName%Database.exe
using an account that has SQL rights to create new databases
- Set SQL database rights as described on this page
2. Manually installing the monitoring database using the .DACPAC file
Follow the guide below to manually install the monitoring database using the .DACPAC file:
- Copy the
%NAME%.DACPAC
file from the Monitoring Agent installation folder to a local disk of the SQL Server instance - From SSMS on the SQL server instance, choose to "Deploy Data Tier Application"
- Follow the steps in the Deploy Data-tier Wizard...
If you host multiple monitoring databases on the same SQL Server instance, make sure to provide a uniquely identifiable name for the database
- Set SQL database rights as described on this page
How do I update a Monitoring Database manually?
To update the database manually, follow the steps below.
Usually, you do not need to perform the update manually since the Monitoring Agent updates the database during the startup of the service, if it has the appropriate rights. You can find information about the outcome of such operations in the diagnostic files.
1. Executing database installer manually using the Database Installer (.exe)
- Please review the configuration steps in the install section and adjust the configuration file before you continue.
- Run the
Nodinite.Installer.MonitorAgent.%AgentName%Database.exe
, using the account that has SQL rights to create new databases
2. Manually updating the monitoring database using the .DACPAC file
Follow the guide below to update the monitoring database using the %NAME%.DACPAC
file manually:
- Copy the
%NAME%.DACPAC
file from the folder where the Monitoring Agent is installed to a local disk of the target SQL Server instance. - From SSMS on the SQL server instance where to update the database, choose to "Update Data Tier Application".
- Follow the steps in the Update Data-tier Wizard...
If you host multiple monitoring databases on the same SQL Server instance, make sure to select the correct database for the update operation.
Next Step
- First, make sure to backup the system regularly.
- Then, use the Nodinite Database Monitoring Agent to monitor the size of the Monitoring Database is within your user-defined thresholds.