Installing the Nodinite Microsoft BizTalk Server Monitoring Agent
This guide teaches how to install the Nodinite Microsoft BizTalk Server Monitoring Agent to perform BizTalk Server Monitoring.
Note
You must be a local administrator to have the right to install Windows Services
Before you begin
Make sure you comply with the Prerequisites for the BizTalk Server Monitoring agent.
Step 1: Start the installer
Double-click on the MSI file to start the installation of the Microsoft BizTalk Server Monitoring Agent.
Step 2: Accept End User License Agreement (EULA)
The Licensee is ultimately responsible for ensuring Nodinite products are used according to the End User License Agreement. Ensure you have the assigned formal rights to install and modify the target environment before you continue installing any Nodinite products.
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 another version 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.
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.
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.
Step 7: Add Agent as a new Monitoring Agent Configuration
The last installation step would be to install the Monitoring Agent as a new Monitoring Agents from within the Web Client with information as provided from the README.txt
file in the previous step.
Support
Contact our Support for additional guidance if you fail to resolve the installation problem.
Note
Additional information to aid the troubleshooting may exist in the Windows Event Logs..
Frequently asked questions
Additional solutions to common problems and the FAQ for the Nodinite BizTalk Server Monitoring agent exist in the Troubleshooting user guide.
Configure BizTalk Monitor Agent for High Availability
If you require High Availability Monitoring of your BizTalk Server environment, then, 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 to get High Availability and you somehow need to deal with a name acting as the entry point. Windows Fail-over cluster does this for you)
You should always have a fail-over cluster anyway 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 go for this option, you need to 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) in use 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 and 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=SSPI;Connection Timeout=60;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 swith between the active node. Usually, the Windows fail cluster service provides this name. If you do not have a Windows fail over cluster, then you can use the following script to use the local hosts file on the Nodinite Application Server to toggle the active node.
Configuration Steps
Use the 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
Make a 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
Add or manage a Monitoring Agent Configuration
Monitoring Agents
Prerequisites for BizTalk Monitoring Agent
Web Client