Installing the Nodinite Microsoft BizTalk Server Monitoring Agent
This guide shows you how to install the Nodinite Microsoft BizTalk Server Monitoring Agent for robust, scalable BizTalk Server monitoring.
Note
You must be a local administrator to install Windows Services.
Before you begin
Ensure you meet all Prerequisites for the BizTalk Server Monitoring Agent.
Step 1: Start the installer
Double-click the MSI file to launch the installation of the Microsoft BizTalk Server Monitoring Agent.
Start the installer by double-clicking the MSI file.
Step 2: Accept End User License Agreement (EULA)
The Licensee is responsible for ensuring Nodinite products are used according to the End User License Agreement. Make sure you have the formal rights to install and modify the target environment before proceeding.
You must accept the terms in the License Agreement to continue.
Note
The EULA provided by the installer is the generic standard EULA. Your organization may have signed a different version as part of a formal agreement.
Step 3: Welcome screen
Upon successful execution of the MSI file, a welcome screen will be presented.
Welcome screen.
Click the 'Next' button to continue the installation process or the 'Cancel' button to quit the installer.
Step 4: Custom setup
Select the Components and Location for the installation. We recommend that you stick with the default settings.
Custom setup
Click the 'Next' button to continue the installation process or the 'Cancel' button to quit the installer.
Step 5: Service Account Information
Enter the credentials for the Account to run Microsoft BizTalk Server Monitoring Agent. Depending on the connection string settings, this account will be used to log on and query the databases being monitored.
Domain: The name of the Domain the Server belongs to. If a local account is being used, use the name of the server or a . (dot) as Domain
User: The name of the Account
Password: The password for the Account.
Enter domain, user name and password for the service Account.
Important
The account must have 'Log on as Service Right'
Click the 'Next' button to continue the installation process or click the 'Cancel' button to quit the installer.
Insufficient Privileges
Error message when account information does not meet Prerequisites.
Insufficient privileges error message.
If you get this message, the most common reason is that the account is not allowed to run as a service or is not a local Administrator on the server. Follow the guide How to set Logon as a Service right and click retry. If the problem remains, click cancel and restart. Make sure to enter valid credentials!
Tip
Check the local event log if there are errors (both System and Application)
Step 6: Completed setup
The last step of the installation gives either a success or a premature exit.
Successful installation example.
Failed installation example: A failed installation will render a premature exit.
Premature exit example.
Click the Finish button to exit and quit the installer.
When the setup has finished, the default text editor will open a text file named 'README.txt'. The README.txt file holds additional information that you need to add the agent as a Monitoring Agents.
README.txt file with additional agent information.
Step 7: Add Agent as a new Monitoring Agent Configuration
The last installation step is to add the Monitoring Agent as a new Monitoring Agents from within the Web Client using the information provided in the README.txt
file from the previous step.
Support
Contact our Support for additional guidance if you fail to resolve the installation problem.
Note
Additional information to aid troubleshooting may exist in the Windows Event Logs.
Frequently asked questions
Find solutions to common problems and the FAQ for the Nodinite BizTalk Server Monitoring agent in the Troubleshooting user guide.
Configure BizTalk Monitor Agent for High Availability
If you require High Availability monitoring of your BizTalk Server environment, you can configure the Nodinite Microsoft BizTalk Server Monitoring Agent in a fail-over configuration.
- Supports stand-alone Windows Servers (at least two nodes are required for High Availability; you need a name acting as the entry point. Windows Fail-over cluster does this for you)
You should always have a fail-over cluster if you are using POP3 and FTP/SFTP Adapters. Read more here
- Supports Windows fail-over cluster
- Service can be either clustered, using the Windows fail-over cluster manager (recommended), OR
- If you choose this option, install the binaries on the shared disk (install on both nodes; at least one fail-over operation is required to move the disk to the other node)
- Service can run on multiple nodes without being configured in a Windows fail-over role
- Service can be either clustered, using the Windows fail-over cluster manager (recommended), OR
- Flexible SQL Server run-time
- Stand-alone
- Fail-over cluster
- Always-on
Prerequisites
- You must install your BizTalk Server environment in a Windows Server fail-over cluster configuration.
- You need a new cluster name (Client access point) to access the agent on the active instance. Please verify that the entry exists in DNS when you are done.
- You must have a unique IP-address for this name.
Important
MAX 15 chars or you might get DNS related problems
- You must have a unique IP-address for this name.
- You must install the Nodinite Monitoring Database. If you already have the database installed, make sure it is updated to the latest version.
- Support for SQL Server Always-on exists, but you must manually configure the initial synchronization
- Download and install the latest DacFX.
Step-by-step guide
- Install the Nodinite Microsoft BizTalk Server Monitoring Agent on at least two BizTalk Nodes according to the general instructions on this page, then stop the Windows Service on the secondary node(s).
- If this is the first installation, make sure the Monitoring Database is installed and operational.
- On the main node, change the following fields in the
Settings.json
file (make the change on one node and then copy/replace on the other nodes):- "HighAvailability": true,
- "HighAvailabilityNodeName": "%Monitor Agent Node Name%" - Use the local node name where the agent is installed (should match content from the table
HighAvailabilityNodes
in the Monitoring Agent database). If this value is not set, the host-name will be used.
- "MonitorAgentConnectionString": "Server=%NODINITESQLSERVERNAME%;Database=Nodinite_MonitoringAgent_BizTalk;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" - The SQL Server instance with the BizTalk Server Monitoring Database
- Cluster the Microsoft BizTalk Server Monitoring Agent Windows Service as a generic service on the BizTalk fail-over cluster.
Note
MAX 15 chars, or you might get DNS related problems
- Next, you need a 'Client access point' to access the active instance node with the Monitoring Agent. This is the name to use in step 8. The Cluster Role containing the generic service (the Nodinite BizTalk Monitoring Agent) must include a resource with the cluster name / IP-address. You cannot put the agent in the default role of the cluster; you must create a new Role.
- Bring the clustered service online from any of the BizTalk processing nodes where the agent was installed.
- Open the file
Readme.txt
. The provided "URIs" should now use the BizTalk cluster name.Note
This cluster name MUST exist in your DNS
- Make sure the 'Service URI' in the Connection tab is updated (use the cluster name from step 5).
Toggle hosts file using a PowerShell script
You need a cluster name, or at least an alias, to switch between the active node. Usually, the Windows fail-over cluster service provides this name. If you do not have a Windows fail-over cluster, you can use the following script to update the local hosts file on the Nodinite Application Server to toggle the active node.
Configuration Steps
Use the Nodinite Windows Server Monitoring Agent and the PowerShell feature.
Add a configuration using the PowerShell script:
- Change the IP addresses to the BizTalk nodes with the Nodinite BizTalk Server Monitoring Agent.
Change the Service URL for the BizTalk Monitoring agent entry in the Remote Configuration.
http://NodiniteBizTalkAgent:8000/Nodinite/Monitor/Agent/BizTalk/IsAlive
In the Advanced tab (Remote Configuration for the BizTalk Server Monitoring Agent), make sure to allow retries.
Test by stopping the Nodinite BizTalk Server Monitoring Agent one at a time and inspect the host file, or run a cmd-prompt with
ping -t NodiniteBizTalkAgent
. You should see the IP switch accordingly within a minute or so.
$IpNumbers = @("10.0.1.1", "10.0.1.2")
$Domain = "NodiniteBizTalkAgent"
$UrlTemplate = "http://@@@IP@@@:8000/Nodinite/Monitor/Agent/BizTalk/IsAlive"
$WindowsHostFilePath = "C:\Windows\System32\Drivers\etc\hosts"
function Test-Ip {
[CmdletBinding()]
param (
[Parameter(Mandatory)]
[string]
$Url
)
try {
$response = Invoke-RestMethod -Uri $url -ErrorAction Stop
$contentString = $response -replace "^\xEF\xBB\xBF", ""
if ($contentString -eq "true") {
return $true
}
}
catch {}
return $false
}
function Update-Ip {
[CmdletBinding()]
param (
[Parameter(Mandatory)]
[string[]]
$Ips,
[switch]
$Add
)
foreach ($IpnumberToCall in $Ips) {
$url = $UrlTemplate.replace('@@@IP@@@', $IpnumberToCall)
if (Test-Ip -Url $url) {
if ($Add) {
Add-Content -Path $WindowsHostFilePath -Value ([System.Environment]::NewLine + $IpnumberToCall + " " + $Domain + [System.Environment]::NewLine) -Force
} else {
try {
$HostFileContent = Get-Content -Path $WindowsHostFilePath -ErrorAction Stop
if (![String]::IsNullOrEmpty($HostFileContent)) {
$HostFileContent = $HostFileContent.Replace($HostFileRow, ($IpnumberToCall + " " + $Domain))
Set-Content -Path $WindowsHostFilePath -Value $HostFileContent -Force
} else {
Write-Warning "Failed to update the Hosts file, the hosts file is unexpectedly empty"
}
} catch {
Write-Error ("There is a problem reading the hosts file" + " " + $_)
}
}
echo "Last node tried:" $IpnumberToCall
return
}
}
Write-Error "There is no BizTalk node available at this time"
}
try {
$HostFileContent = Get-Content -Path $WindowsHostFilePath -ErrorAction Stop
$HostFileRow = ($HostFileContent | Select-String -Pattern $Domain | Select-Object -First 1).Line
if ($null -eq $HostFileRow) {
Update-Ip -Ips $IpNumbers -Add
break
}
$IpNumber = $HostFileRow.Split(' ') | Select-Object -First 1
$url = $UrlTemplate.replace('@@@IP@@@', $IpNumber)
$statusCurrentIp = Test-Ip -Url $url
if (!$statusCurrentIp) {
$IpNumbersToCall = $IpNumbers | Where-Object { $_ -ne $IpNumber }
Update-Ip -Ips $IpNumbersToCall
} else {
echo "Last node tried:" $IpNumber
}
} catch {
Write-Error ("There is a problem reading the hosts file" + " " + $_)
}
Next Step
Configuration of the agent
Update
Uninstall
Related Topics
Add or manage a Monitoring Agent Configuration
Monitoring Agents
Prerequisites for BizTalk Monitoring Agent
Web Client