❗Notice: This project has been archived as is and is no longer actively maintained.
This is the standard SQL Server NRI (v2.8.1) PLUS Query Plans sent to the Log API
Follow only the Compatibility and Requirements, do not continue to Install and activate the integration
Follow the directions in Enable your Microsoft SQL Server
,
As this is a custom integration it must be installed manually. All directions assume a standard Infrastructure installation.
- Download
nri-mssql-queryplan
from the GitHub Release directory - Place
nri-mssql-queryplan
in/var/db/newrelic-infra/custom-integrations
- Copy the Integration's configuration file to
/etc/newrelic-infra/integrations.d/
- Download
nri-mssql-queryplan.exe
from the GitHub Release directory - Place
nri-mssql-queryplan.exe
inC:\Program Files\New Relic\newrelic-infra\newrelic-integrations
- Copy the Integration's configuration file to
C:\Program Files\New Relic\newrelic-infra\integrations.d
NOTE: YAML escapes backslash sequences unless the entire string is enclosed in single quotes.
This integration is a fork of the Production MS SQL Integration, see here for common configuration settings. All original configuration settings work with this integration.
Custom configuration parameters for mssql-queryplan-config.yml
, all are placed under the env
stanza:
QUERY_PLAN_CONFIG
: Full path to YAML configuration with one or more SQL queries that collects query plans. Seequeryplan.yml.sample
for an example. No default value.LOG_API_ENDPOINT
: URL of the New Relic Log endpoint to use, see here for options. Default is the US endpointhttps://log-api.newrelic.com/log/v1
LICENSE_KEY
: New Relic License Key or Insights Insert Key, License Key is preferred.
The integration is capable of sending Query Plans to the New Relic Log API. The Log API is used as it can accept plans up to 128K in length after gzip compression and base64 encoding. The resulting Logs
events each contain a query_plan
attribute that is:
- Base64 encoded
- gzip'd
- JSON string (not XML)
This integration is relatively complex, here is a list of troubleshooting tips:
- Verify that the query plan SQL actually generates query plans by running it in a SQL tool against the database
- Enable
VERBOSE
logging and look at the Infrastructure log - Run the integration from the command line and check for errors. Run
nri-mssql-queryplan --help
for more information.
Golang and make are required to build the integration. Use a current version of Go.
After cloning this repository, go to the directory of the MSSQL integration and build it:
$ make clean compile
To cross compile the application for an alternate platform use:
GOOS=<OS> GOARCH=<ARCH> make clean compile
To see a list of available operating systems and architectures try:
go tool dist list
Which displays a list of <OperatingSystem>/<Architecture>
pairs, for instance:
go tool dist list
...
linux/386
linux/amd64
...
windows/386
windows/amd64
...
To start the integration from a command line, run nri-mssql
:
$ ./bin/nri-mssql
If you want to know more about usage of ./bin/nri-mssql
, pass the -help
parameter:
$ ./bin/nri-mssql -help
To run the tests execute:
$ make test
New Relic has open-sourced this project. This project is provided AS-IS WITHOUT WARRANTY OR DEDICATED SUPPORT. Issues and contributions should be reported to the project here on GitHub.
We encourage you to bring your experiences and questions to the Explorers Hub where our community members collaborate on solutions and new ideas.
We encourage your contributions to improve Salesforce Commerce Cloud for New Relic Browser! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project. If you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company, please drop us an email at opensource@newrelic.com.
A note about vulnerabilities
As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.
If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through HackerOne.
If you would like to contribute to this project, review these guidelines.
To all contributors, we thank you! Without your contribution, this project would not be what it is today.
nri-mssql is licensed under the MIT License.