Planning the SQL Monitor infrastructure and installation
Published 14 February 2023
During the installation, you will install three logical components: the Web Service, the Base Monitor service and the SQL Monitor database, used by the Base Monitor service to store data collected from all the servers registered to it. In many large installations, each service will run on its own virtual or physical machine, though all three can run on the same machine.
Step 1: Planning the architecture
See: Supported platforms for details of the platforms (including cloud-based), Operating systems, SQL Server and PostgreSQL versions and editions and browsers supported by SQL Monitor.
You will need:
- Windows Server for Web Service – this machine will run the Web Service and host the Web interface. It is where you will install the SQL Monitor application.
The Web Server will need a high-speed connection to its Base Monitor, if it's on a different machine, over secure RPC, to collect the monitoring data, authenticate users and perform other tasks.
See: Web Server: general requirements.
- Windows Server for Base Monitor service – this might be the same machine as the Web Server or a different one. In some cases, you might need multiple Base Monitor services communicating with a single Web Service.
In choosing the location of your Base Monitor(s), you need to consider both the requirements for the machine running the monitoring service (summarized in Step 2 below) and how it will connect and authenticate the servers you wish to monitor.
While you won't start adding servers until after the installation of SQL Monitor is complete, the choice and location of the Base Monitor server is important and requires some upfront planning. What servers must it reach? Where are they hosted? You will need to plan for opening the appropriate firewall ports for machine and database monitoring. If they are cloud-hosted virtual machines and you are monitoring from outside their virtual network, you may need a VPN connection to the virtual network, and if you are monitoring cloud-hosted clusters you'll also need to configure the routing of WMI traffic through a load balancer.
You will also need to consider which Windows / Active Directory domain accounts the Base Monitor service will use to connect to these remote servers. SQL Monitor will need to be able to authenticate these logins locally (on the Base Monitor server).
See: Adding and managing monitored servers for full details.
In most installations, you can use a single Base Monitor that monitors both remote and local servers, of various types. However, depending on the number of remote servers, their location, and how easy it will be to establish fast, reliable connections to these servers, you may want to consider instead a Multiple-Base Monitor installation, which installs one Base Monitor per network domain. This architecture is appropriate when monitoring servers across different network domains, such as when monitoring both cloud-based and on-premise servers, or when servers are geographically dispersed. It also applies to very large estates, since SQL Monitor currently scales to around 250 servers per Base Monitor.
See: Installing multiple Base Monitors for full details.
- SQL Server instance for hosting the SQL Monitor database – this is likely to be a separate machine from the Base Monitor server, but could be the same machine for smaller installations.
See: SQL Monitor database requirements.
Step 2: Planning to install the SQL Monitor components
Set up Web Server
The SQL Monitor installer can install and configure a SQL Monitor Web Server as part of the installation processes, with no manual intervention required. This is the recommended option.
If you prefer to use IIS rather than a self-hosted Kestrel-based web server, you will need:
- An IIS Web Server (IIS 7.0 or later) – you will need to install and configure it, before running the SQL Monitor installer on that machine.
- A Web service account – you will need to configure IIS to use a login account with sufficient permissions to run the Web Service, as described here: Permissions required for the SQL Monitor Service accounts.
See: Setting up the IIS Web Server for further guidance and general requirements, and for details of how to configure IIS for SQL Monitor.
Set up the Base Monitor
You will need to:
- Supply the location of the SQL Server instance you'll use to host the SQL Monitor database. Either:
- already hosting an existing empty database that SQL Monitor can use, or
- where SQL Monitor can create it during installation.
- Enter details of a login account with CREATE DATABASE permissions that SQL Monitor can use to create the SQL Monitor database – only required if you chose 1b.
- Enter details of login account that the Base Monitor service can use to access and manage the SQL Monitor database – it must be a member of db_owner for this database. Either:
- Windows/Active Directory (possibly gMSA) domain account
- the Base Monitor service will also use it run the service on the local machine.
- Windows/Active Directory (possibly gMSA) domain account
- You can also use it to connect to each of the monitored machines and instances, provided it also has the necessary permissions to collect the required monitoring data.
- If so, ideally the Base Monitor service account will be a member of the Windows Administrators group on any monitored machine, and of the sysadmin fixed server role on monitored SQL Server instances, but it's not required.
- Alternatively, you can specify different accounts to connect to monitored servers, once you start adding them, post-installation.
- You can also use it to connect to each of the monitored machines and instances, provided it also has the necessary permissions to collect the required monitoring data.
- SQL Server login account
- the Base Monitor service will run as the LocalService account. SQL Monitor will grant it the permissions it needs on the local machine to run this service.
- You can, and probably should, change this account post-install by editing the properties of the Base Monitor service account.
See: Permissions required for the SQL Monitor Service accounts.
Post-Installation tasks
Before you start using SQL Monitor, you will also need to:
- Supply credentials for the SQL Monitor Administrator role.
- Add at least one instance that you wish to monitor.
Administrators can then add other SQL Monitor users, ideally using Active Directory authentication, and these users can then begin to review the monitoring and alert data in the UI, troubleshoot problems and so on.