Skip to main content

Getting Started

This guide will walk you through setting up SkySignal in your Meteor.js application in under 5 minutes.

Prerequisites

Before you begin, make sure you have:

Step 1: Create a Site

  1. Log in to your SkySignal dashboard
  2. Click "Add Site" in the Sites view
  3. Enter a name for your application
  4. Copy both keys:
    • API Key (sk_xxx) - For server-side monitoring
    • Public Key (pk_xxx) - For client-side RUM tracking
Keep your keys secure

Your API key authenticates your server with SkySignal. Never commit it to version control. The public key is safe to include in client code.

Step 2: Add the Agent Package

Add the SkySignal agent to your Meteor project:

meteor add skysignal:agent

Step 3: Configure Your Settings

Add your keys to your Meteor settings file. Create or update settings.json:

{
"skysignal": {
"apiKey": "sk_live_xxxxxxxxxxxx"
},
"public": {
"skysignal": {
"publicKey": "pk_live_xxxxxxxxxxxx"
}
}
}

The skysignal key (private) configures server-side monitoring, while public.skysignal configures client-side Real User Monitoring (RUM).

Development Settings

For development with debug logging enabled:

{
"skysignal": {
"apiKey": "sk_dev_xxxxxxxxxxxx",
"debug": true
},
"public": {
"skysignal": {
"publicKey": "pk_dev_xxxxxxxxxxxx",
"rum": {
"enabled": true,
"debug": true
},
"errorTracking": {
"enabled": true,
"debug": true
}
}
}
}

Step 4: Start Your Application

Run your Meteor app with the settings file:

meteor run --settings settings.json

You should see messages in the console:

[SkySignal] Agent started - host: your-hostname

And in the browser console (if RUM is enabled):

[SkySignal RUM] Initialized successfully

Step 5: Verify Installation

  1. Make a few Method calls or navigate around your app
  2. Open your SkySignal dashboard
  3. You should see data appearing within seconds!

What Gets Tracked?

Server-Side (Automatic)

FeatureData Collected
MethodsName, response time, arguments, errors
PublicationsName, response time, document count
ErrorsMessage, stack trace, context
SystemCPU, memory, event loop lag
MongoDBQuery times, connection pool stats
DDPActive connections, message stats
Live QueriesObserver counts, document updates
Background JobsSteve Jobs metrics (if installed)

Client-Side (RUM)

FeatureData Collected
Page ViewsRoute, load time, referrer
Core Web VitalsLCP, FID, CLS, TTFB, FCP
User ActionsClicks, form submissions
Client ErrorsJavaScript errors, stack traces
SessionDuration, pages visited

Configuration Options

Server-Side Configuration

{
"skysignal": {
"apiKey": "sk_live_xxx",
"enabled": true,
"debug": false,
"appVersion": "1.0.0",

"collectSystemMetrics": true,
"systemMetricsInterval": 60000,

"collectTraces": true,
"traceMethodArguments": true,
"traceSampleRate": 1.0,

"collectErrors": true,

"collectMongoPool": true,
"mongoPoolInterval": 60000,

"collectDDPConnections": true,
"ddpConnectionsInterval": 30000,

"collectHttpRequests": true,

"collectJobs": true,
"jobsInterval": 30000
}
}

Client-Side Configuration (RUM)

{
"public": {
"skysignal": {
"publicKey": "pk_live_xxx",
"rum": {
"enabled": true,
"trackUserActions": true,
"trackPageViews": true,
"debug": false
},
"errorTracking": {
"enabled": true,
"attachScreenshots": false,
"captureUnhandledRejections": true,
"captureConsoleErrors": false,
"debug": false
}
}
}
}

See the Configuration Guide for all available options.

Production Deployment

For production, use a separate settings file with production keys:

{
"skysignal": {
"apiKey": "sk_live_xxxxxxxxxxxx",
"enabled": true,
"debug": false
},
"public": {
"skysignal": {
"publicKey": "pk_live_xxxxxxxxxxxx",
"rum": {
"enabled": true
},
"errorTracking": {
"enabled": true
}
}
}
}

Galaxy Deployment

For Meteor Galaxy, set your settings in the Galaxy dashboard or deploy with:

meteor deploy myapp.meteorapp.com --settings settings-production.json

Docker Deployment

Pass settings via environment or mount:

docker run -v /path/to/settings.json:/app/settings.json \
-e METEOR_SETTINGS="$(cat settings.json)" \
my-meteor-app

Next Steps

Now that you have SkySignal installed, explore these guides:

Troubleshooting

No data appearing in dashboard?

  1. Check your API key - Make sure it matches the key shown in your Site settings
  2. Check the console - Look for [SkySignal] messages in your server logs
  3. Enable debug mode - Set "debug": true in your settings to see detailed logs
  4. Check network - Ensure your server can reach https://dash.skysignal.app

RUM not working?

  1. Check public key - Ensure publicKey is in settings.public.skysignal
  2. Check browser console - Look for [SkySignal RUM] messages
  3. Verify RUM is enabled - Set rum.enabled: true in settings

Agent not starting?

Make sure your settings.json has the correct structure:

{
"skysignal": {
"apiKey": "sk_live_xxx"
},
"public": {
"skysignal": {
"publicKey": "pk_live_xxx"
}
}
}

The skysignal key (lowercase) must be at the root level of your settings.

Need more help? Check our Troubleshooting guide or contact support.