ApexSQL Monitor components

Applies to
ApexSQL Monitor

Summary
This article provides information about ApexSQL Monitor installed components.

Description

ApexSQL Monitor is a web-based agentless application that installs necessary components during the installation. This article provides necesary information about three core components application will install.

ApexSQL Monitor consists of three components: the ApexSQL Monitor service, ApexSQL Monitor Web server and a central repository database

ApexSQL Monitor service

The ApexSQL Monitor service is installed once. As ApexSQL Monitor is agentless performance monitoring tool, nothing will be installed on any remotely monitored machines and SQL Servers.

The ApexSQL Monitor service is the core of the monitoring process. It does all the background work, communicates with the servers, collects the real-time data from the monitored operating systems, SQL Server instances and databases, and stores the collected data into the central repository database. It also fires alerts when metrics reach their pre-defined threshold values.

ApexSQL Monitor Web server

The ApexSQL Monitor web server is Open Web Interface for .NET (OWIN)-based ASP.NET Web API. It is the self-hosted web server implementation, which mean that it cannot be use as a standalone web server. ApexSQL Monitor Web server is hosted by the ApexSQL Monitor service and is running as its task. This implementation allows direct communication between the web server and service, which reduces the issues and allows faster communication between those two. This communication is at the cache level and all data exchanges are directly from the memory cache.

The Web server communicate with the ApexSQL Monitor service component only, and web server have no direct access to the central repository database or monitored instances. The web server is the only component that user can access directly (via the web client).

ApexSQL Monitor central repository database

ApexSQL Monitor uses a central repository database named ApexSQLMonitor by default, to store all information collected from all monitored machines, SQL Server instances, and databases. It also stores the information about the application settings and configuration.

Historic data can be shown in ApexSQL Monitor charts and it also can be queried using T-SQL, so custom reports for captured performance metrics values, alerts, and configuration can be created.

The table that stores the captured data is ApexSQL. MonitorMeasuredValues. If a large number of instances are monitored, and no retention policy is set for the collected metrics via the data purge feature, this table can end up holding bilions of records, and the central repository database can become large. The SQL Server Express edition database size is limited to 10 GB, therefore it’s not recommended to use it for the central repository.

FAQs

Q: Does ApexSQL Monitor install agents or make any silent changes to the system or monitored SQL Servers?

A: No, it installs no agents, nor does it add any components to the monitored SQL Server instances.

Q: Does the central repository database need to be installed on the monitored instance?

A: No, in fact it is not recommended to install ApexSQL Monitor on the SQL Server instance that will be monitored.