Get started with Minion Enterprise fast!
The basic steps to get started with ME are:
- Set up a standalone virtual machine or server. This is your "repository" server. (See the system requirements below.)
- Request a trial license key (or, if you have purchased it, your permanent key) at Sales@MinionWare.net. Include the name of the repository SQL instance with your request.
- Download and install Minion Enterprise and the license key.
- Configure mail and servers.
Install and configuration take about five minutes!
1. Set up a Server - Requirements and Recommendations
We recommend that you install Minion Enterprise on a dedicated instance of SQL Server; a modest virtual machine is the ideal scenario. We call this server the repository ("repo") server.
System Requirements
Requirements for the repo server:
- A case-insensitive installation of SQL Server 2016 SP1 or above.
- A default instance is the most common, though the repo server can be a named instance. (See the "Special Installation Notes" section below).
- We recommend a standalone instance, but the repo server can also be clustered. (See the "Special Installation Notes" section below).
- To monitor Azure SQL Database, the repo server SQL instance must be SQL Server 2016 or above.
- Rights for the repo server SQL Agent service:
- Sysadmin rights on all managed SQL Server instances.
- Access to run system-level WMI queries on all managed servers. You can do this by granting the SQL Agent service account local administrator rights on each managed server. Check your company's security policies for compliance.
- PowerShell 5.0 or above; execution policy set to RemoteSigned.
System Recommendations
Recommendations for the repo server:
- Install on a dedicated server, or dedicated virtual machine.
- Windows 2016 or above.
- Recommendations for system resources vary depending on the shop size, and on retention requirements.Baseline resource recommendations:
- 6 - 8 GB memory
- 4 CPU
- 200-300 GB of disk space.
About managed (monitored) servers
Managed servers are all of the systems that Minion Enterprise watches, alerts on, and (optionally) manages. ME installs NO objects or agents on any managed server. This saves SQL teams a great deal of trouble. E.g., any installation or upgrade to ME is only done to one server, and directly affects zero production, dev, or QA servers.
Notes on managed servers:
- The repo requirements and recommendations above do not apply to the managed servers.
- Minion Enterprise can gather certain metrics (such as Windows version, drive space, services, and so on) for any Windows server, whether or not that server has SQL Server installed.
- Minion Enterprise can manage SQL Server installations from 2005 and up (though not all metrics will apply to lower versions).
2. Request a key
Email us at Sales@MinionWare.net and include the name of the repository instance name. We base the license key off of your server name, otherwise we wouldn't ask!
We'll email you back pretty quickly with a link to the Minion Enterprise Download, and your key. We'll probably also invite you to a demonstration of ME - we like to show it off - and ask how you know us.
3. Download and Install
You'll need to install Minion Enterprise, and then install the license key.
Basic Installation
Installing Minion Enterprise is simple: download, extract, and run on your repo server. You'll click "next" a lot, and you'll need to provide the name of the repo server.
Note: Once installation is complete, make sure the Minion database recovery model is set to BULK_LOGGED. If not, run the command
ALTER DATABASE Minion SET RECOVERY BULK_LOGGED;
To install the license key:
- Save the License.txt file to C:\MinionByMidnightDBA\Collector\
- Rename the License.txt file to License.dll.
- Run the following from a command prompt:
C:\MinionByMidnightDBA\Collector\License.exe Install
Special Installation Notes
For named instances or clusters, you must change the configuration file:
- Navigate to C:\MinionByMidnightDBA\Includes\
- Edit the file UserConfig.ps1
- Change the $Server parameter from localhost to your servername\instancename (for a named instance), or to the cluster name (for clusters).
4. Configure
Configuring Minion Enterprise is also simple: you'll need to configure email (for alerting), and enter in the servers you want to manage.
Configure email notifications
First, add your email to the dbo.EmailNotification table: Alter the following script, replacing "Me@MyCompany.com" with your preferred notification email.
INSERT INTO dbo.EmailNotification ( EmailAddress, Comment, IsActive )
SELECT 'Me@MyCompany.com' , 'DBA', 1;
Second, edit and run the mail setup script:
- Open the mail setup script for editing: C:\MinionByMidnightDBA\MinionMail.sql
- Set the @MailServer variable to your SMTP address.
- Optionally, you can change the various @display_name values.
Note: You do not have to change the @Email… and @ReplyTo… variables, as you don’t reply to alert emails. - Run the edited MinionMail.sql script.
Configure managed servers and settings
Seriously: the initial configuration is remarkably simple. Just enter servers to be managed in the dbo.Servers table. We'll explore other ways to do this below, but for now, we'll just look at the INSERT statement to edit and use:
INSERT INTO dbo.Servers ( ServerName , Port , ServiceLevel , IsSQL , IsActive , CollectionZone ) SELECT 'YourServer' AS ServerName , NULL AS Port , --Only change if NOT 1433 'Gold' AS ServiceLevel , 1 AS IsSQL , 1 AS IsActive , 0 AS CollectionZone ;
Once you do this for each server you want to manage, you're officially done with initial setup! Brief notes:
- ServerName should be the name of the SQL Server instance, or cluster virtual instance.
- ServiceLevel should be either Gold, Silver, or Bronze. You decide how important each server is, not us!
- Port should be NULL (for 1433), or the nonstandard port number it uses.
- IsSQL says, is this a server with SQL Server on it (1)? Or not (0)?
- IsActive says whether or not to actively manage this server, or just ignore it completely.
- CollectionZone - For a "normal" (non-scaled-out) installation, this is 0. For more information, see Collection Zones.
For more information and options, see the "Configure managed servers and settings (extended remix edition)" section below.
Bonus Material!
Optional: Jump Start your Collectors
All Minion Enterprise collectors run on their own schedules. But if you want to jumpstart things:
- Run the "CollectorServerInfoGet-..." collector jobs - Gold, Silver, and/or Bronze, as appropriate. This will populate necessary fields in dbo.Servers.
- Then run any collector job you like!
Configure managed servers and settings (extended remix edition)
To set up managed servers in Minion Enterprise, enter server information into the dbo.Servers table in any way you choose: INSERT statements, an Excel file import, with an Active Directory lookup, or any other method of pulling data into a table.
Each server only requires you to set three pieces of information and two flags in the dbo.Servers table to begin. The information you must configure is:
- ServerName – The name of the SQL Server instance; or, if it is a cluster, the name of the SQL Server virtual instance. Note that Minion Enterprise can monitor Windows servers that do not have an instance of SQL Server installed. Examples: “Server1”, “Server3\NewInstance”.
- ServiceLevel – All servers must be assigned a service level. Minion Enterprise comes configured to use service levels Gold, Silver, and Bronze. However, you may choose any set of service levels that you like. For information on service levels, see the sections “Service Levels” in Architecture Overview, and “Change the service level structure”.
- Port – If your SQL Server instance is not on the standard port (1433), you must enter the port number. If your port is 1433 then leave this NULL.
The flags to configure are:
- IsSQL – Whether this is a SQL Server server or not. Minion Enterprise can perform certain kinds of monitoring (for example, disk space) on non-SQL Server servers.
- IsActive – Whether this server should be actively managed or not. For example, you may set isActive to 0 to stop managing a single instance that is no longer in use. Minion Enterprise still retains the server information in dbo.Servers, but no longer collects or alerts for that server.
- CollectionZone - For a "normal" (non-scaled-out) installation of Minion Enterprise, CollectionZone must be 0. For more information, see Collection Zones.
So for example, we could configure ‘YourServer’ like this:
INSERT INTO dbo.Servers ( ServerName , Port , ServiceLevel , IsSQL , IsActive , CollectionZone ) SELECT 'YourServer' AS ServerName , NULL AS Port , --Only change if NOT 1433 'Gold' AS ServiceLevel , 1 AS IsSQL , 1 AS IsActive , 0 AS CollectionZone ;
Note: Remember to insert the instance name of SQL Server on which ME is installed, especially if there are other, existing databases on the instance. Minion Enterprise can and should monitor itself!
Once this data is entered, Minion Enterprise will automatically:
- Collect additional information about each server, from the managed servers themselves. For more information, see the documentation for jobs CollectorServerInfoGet-GOLD, CollectorServerInfoGet-SILVER, and CollectorServerInfoGet-BRONZE.
- Begin collections on each of the listed servers. See the “Quick Tour of the Modules” section below for more information.
- Begin alerting for each of the listed servers. For more information, see the documentation for “Alert” jobs.
- Begin scripting out all schemas for “Gold” level servers on a daily basis. This is a massively useful feature, as a safeguard against schema level mistakes (such as an incorrectly modified view, or a mistakenly dropped index, or almost any schema object that is modified or dropped). By default, schema are scripted out to the Collector.DBObjectScripts table. You can also choose to script to files (Default file location is C:\MinionByMidnightDBA\DBScriptBackups\. For more information, see the section titled “Change the Default Location for Scripted Objects”.)