Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The SQL Server Telemetry data collector is a command line interface (CLI) utility used to collect Advanced advanced data. It can collect data from multiple SQL Servers and is especially useful when Cloudamize agents cannot collect this data. Collected data is saved to a file that can be uploaded to the Cloudamize console.

...

For other operating systems and build targets, please contact helpdesk@cloudamize.com.

Use Cases

Note

Please note that the SQL Server Telemetry Tool is not to be used alone. A primary data collection source (Agent, Agentless DC) should be used to collect usage data for a server. The SQL Server Telemetry tool is used to add supplemental advanced SQL data to existing Cloudamize collection methods.

MS SQL Server Advanced data can be collected in a variety of ways data based on the customer’s environment and SQL Server configuration.

  • The Cloudamize Windows Agent and the Cloudamize Agentless data collector will automatically collect advanced SQL Server data from the SQL Server if the SYSTEM account has access to the SQL Server instances.

    • Requires PowerShell 5.1 or higher

    • Data is automatically sent to Cloudamize with no additional user action

  • The Cloudamize Agentless data collector can also collect advanced SQL Server data from SQL Server if the User account specified in the Agentless UI has access to SQL Server instances.

    • Requires PowerShell 5.1 or higher

    • Data is automatically sent to Cloudamize with no additional user action

  • The Cloudamize SQL Telemetry tool can collect advanced SQL Server data from SQL Servers if the Cloudamize Windows Agent and the Cloudamize Agentless data collector cannot collect this data because the specified account does not have access to SQL Server or PowerShell 5.1 or higher is not installed.

    • Does not require PowerShell

    • The user can provide different credentials for each instance of SQL Server on each machine.

    • Data must be uploaded to the Cloudamize console by the user.

...

  1. Download the latest version of the SQL Telemetry data collector using the link for your operating system above and save it to a directory on your system.

  2. Create a servers.csv file with the SQL Server instances you want to collect data from (details below)

  3. Run sqlserver-telemetry via the Terminal, Command Line, or Powershell (examples below)

  4. Upload the telemetry.json file that is produced to the Cloudamize console

...

servers.csv (Input File)

In the directory where you downloaded the application, create a new file called servers.csv with the connection strings required details for all of the SQL Server instances from which you would like to collect data from. This file can be created with Notepad, Excel, or any text editor. Each SQL Server instance should be on have its own line, and there is no limit to the number of SQL Servers. Each line should contain three comma-separated values:

  • Server - IP address, URL, or DNS name optionally followed by \ and the Instance name or : and the port

  • User ID - either SQL User ID or DOMAIN/USERID

  • Password

Below is a sample file showing several examples

Code Block
localhost,sa,b!7GS2rAMX
localhost\MSSQLSERVER,sa,b!7GS2rAMX
localhost:1433,sa,b!7GS2rAMX
localhost\TEST,sa,b!7GS2rAMX
localhost\SQLEXPRESS,sa,b!7GS2rAMX
44.223.64.79\TEST,sa,b!7GS2rAMX
44.223.64.79\TEST,EC2AMAZ-I317F7N\Administrator,i5tnno0!OsSsX0
ec2-44-223-64-79.compute-1.amazonaws.com\MSSQLSERVER,EC2AMAZ-I317F7N\Administrator,i5tnno0!OsSsX0Rdn;;%2=fReRBYaLk.

...

The recommended csv format for each instance is:

Code Block
ipOrDNS,portOrInstanceName,username,password,database

Field

Description

Example Values

ipOrDNS

Host address (IP or DNS name) for SQL Server

192.168.1.10, HOST_NAME

portOrInstanceName

Port number or instance name (depends on validity)

1433 (Port), SQLEXPRESS (Instance)

username

SQL Server username for authentication

sa, admin

password

Password for the SQL Server username

password123, SecurePassword!

database

Name of the database to connect to

TestDB, SalesDB

The tool will use this information to build connection strings to retrieve the necessary data.

Run sqlserver-telemetry

Windows

...

This utility will run for ten minutes , and generate a JSON file called telemetry.json, which is a machine and human-readable list of all of the output for the telemetry commands run against each of the listed DSN connection strings in the servers.csv file. For each connection string, it will capture the following information as accessible from within SQL Server AND the permissions allowed to the connection string account:

  • Host

  • SQLServerVersion

  • SQLServerEdition

  • OperatingSystem

  • AvailabilityGroups

  • Roles

  • ClusterInfo

  • Mirroring

  • LogShipping

  • Memory

  • HostCores

  • VisibleCores

  • I/O Performance

  • Enterprise-Level Features Used

  • Errors

In order to make this more resilient, any errors identified during the execution of this utility will be silently captured and stored in the Errors field. This allows for maximal telemetry gathering without having to repeatedly trial and error within a customer's site. It is important to note that the output will NOT have any sensitive credential information and can, therefore, be exported with minimal to no risk associated.

...

  • Follow these steps in the Cloudamize Console to upload the SQL Telemetry output file:

    • When the above process completes, there will be a telemetry.json file in the Downloads folder

    • Log into the Cloudamize Console

    • Navigate to the Settings page

      image-20240307-080457.pngImage Removed

      Select the “Discover” option

      image-20241219-071806.pngImage Added

    • On the Settings Discover Page > , selectthe External Data option, you . You will see a tab called SQL Telemetry.

      image-20240307-080619.pngImage Removedimage-20241219-072002.pngImage Added

    • Select SQL Telemetry and then click on the Upload SQL Telemetry Report option to upload the telemetry.json file.

  • We will fill in the following data collected from the above process where the data was not collected by the agent or agentless data collector.

    • On-Prem Server Name (REQ'D)

    • On-Prem SQL Server Edition(REQ'D)

    • On-Prem SQL Server Version(RCM'D)

    • On-Prem Operating System(REQ'D)

    • SQL Cluster Name

    • Passive Instance Using Log Ship, DB Mirroring(Non-Cluster)

    • SQL Availability Group

    • SQL Availability Group Role

    • SQL Max Server Mem in MB

    • SQL DB Mirroring Present

    • SQL I/O Performance

    • SQL Enterprise Level Features Used

...