N|Solid SaaS
N|Solid SaaS is a hosted monitoring database and introspection console designed to make the ideal use of the diagnostics and monitoring features of the N|Solid Runtime.
Only two things are required to start inspecting your Node.js applications in N|Solid SaaS:
- The N|Solid Runtime running in place of the Node.js runtime
The N|Solid Runtime is the Node.js runtime with additional V8 and core diagnostics hooks that can communicate with an external monitoring database.
- Your
NSOLID_SAAS
configuration from your Nodesource Account
Configuring NSOLID_SAAS
The minimum configuration value to begin using N|Solid SaaS is the NSOLID_SAAS
value. This value enables the agent thread and metrics collection and configures it for your account and data endpoint. The N|Solid Runtime will check a few places for configuration at startup for this and other values to customize its behavior. These options work best for most:
- Suggested:
package.json
Adding a small nsolid
section to your package.json with the nsolid_saas
value:
# package.json
{
...,
"nsolid": {
"nsolid_saas": "..."
},
...
}
- Suggested: environment variable
From the command-line, you can set the NSOLID_SAAS
environment variable for simple configuration. Many users option to use this method to configure multiple-tier environments by adding it to existing configuration files in their deployment setups.
NSOLID_SAAS="..." nsolid index.js
Read more about configuring N|Solid »
Running N|Solid for N|Solid SaaS
We provide a large number of ways to download or install the N|Solid Runtime to support you through your entire development cycle.
Evaluating N|Solid / One-Off Executions
nsolid_quickstart
The nsolid_quickstart
project is designed to be run via npx
to allow you to try N|Solid without fully installing it to your system. Note that it will download the N|Solid Runtime upon execution if you do not already have it cached. Keep this in mind if you have network or time constraints.
# For example, to run your local file index.js and send data to your saas console:
$ npx nsolid-quickstart --saas="..." --exec index.js
Need to install the following packages:
nsolid-quickstart@2.3.0
Ok to proceed? (y) y
Checking N|Solid versions metadata
Downloading N|Solid Bundle from: https://s3-us-west-2.amazonaws.com/nodesource-public-downloads/4.10.1/artifacts/bundles/nsolid-bundle-v4.10.1-linux-x64.tar.gz
https://s3-us-west-2.amazonaws.com/nodesource-public-downloads/4.10.1/artifacts/bundles/nsolid-bundle-v4.10.1-linux-x64.tar.gz downloaded to: /tmp/nsolid-bundle.tar.gz
Extracting /tmp/nsolid-bundle.tar.gz and installing
Using N|Solid bundle 4.10.1 from /home/sourcerer/.nsolid-bundle/4.10.1
Executing the specified script index.js at /home/sourcerer/ns
---- Here is your program output ----
Development-Focused N|Solid Installation
- macOS (brew, pkg), Windows, Debian, Redhat, Docker
We suggest installing N|Solid to use wherever you run your application in development, as it also makes a great development tool, allowing you to compare (for example) profile data from a current production system to a development system from the same console.
$ sudo apt-get install nsolid-hydrogen
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
nsolid-hydrogen is already the newest version (4.10.1-deb-nodesource-systemd1).
0 upgraded, 0 newly installed, 0 to remove and 47 not upgraded.
$ NSOLID_SAAS="..." nsolid index.js
Production-Focused N|Solid Installation
- Debian, Redhat, Windows Server, Docker, AWS, GCP, Azure, tarballs
What you'll most likely use to put N|Solid into your production environments. The chances are very good that not only we have the same build artifact you use to get Node.js on your production server, but we also provide it as the world's most popular provider of Node.js distributions. It should be as easy as replacing the Node.js image or package you use for the equivalent containing N|Solid.
Read more about Installation »
Network Requirements and Data Sensitivity
Network Requirements:
In order to communicate with the N|Solid SaaS endpoint, the systems running the N|Solid Runtime will need to be able to make outgoing connections on ports 9001, 32001, 32002
.
Data sensitivity:
Concerned about your data? So are we! Your data is encrypted over-the-wire, and the metrics collected do not contain PII or other sensitive information. For memory debugging, we strongly suggest using our NSOLID_REDACT_SNAPSHOTS
feature if you have sensitive data and want to capture Heap Snapshots. This flag instructs the runtime to blank out all string data inside of Heap Snapshots prior to sending it to the N|Solid Console.