Hello, team! I deployed signoz on Digitalocean kub...
# support
d
Hello, team! I deployed signoz on Digitalocean kubernetes cluster and I want to monitor my nodejs appication, I followed this reference https://signoz.io/opentelemetry/nodejs/, but I am facing below error
Copy code
Invalid configuration: access token missing, must be set when reporting to <https://ingest.lightstep.com/traces/otlp/v0.6>. Set LS_ACCESS_TOKEN env var or configure token in code
LightstepConfigurationError: Invalid configuration: access token missing, must be set when reporting to <https://ingest.lightstep.com/traces/otlp/v0.6>. Set LS_ACCESS_TOKEN env var or configure token in code
    at /node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:128:15
    at validateToken (/node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:147:9)
    at validateConfiguration (/node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:136:5)
    at Object.configureOpenTelemetry (/node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:44:5)
    at Object.<anonymous> (/node/server_init.js:6:23)
    at Module._compile (internal/modules/cjs/loader.js:1133:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
    at Module.load (internal/modules/cjs/loader.js:977:32)
    at Function.Module._load (internal/modules/cjs/loader.js:877:14)
    at Object.<anonymous> (/usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
can anyone help me?
p
@User Can you check this?
d
@User, do you need any extra information regarding above issue?
p
Hey @User We are pushing a release today, so our engg team is a bit occupied. Let us get back to you tomorrow in this. We have not seen this issue earlier so will have to try reproducing it at our end
Can you paste the exact command you use to run the nodeJS app ( with opentelemtry related flags etc)
Also have you opened port 55681 in the machine where you are running SIgNoz?
i
use this conf:
Copy code
const client = require('prom-client');
const url = require('url');
var express = require('express');
const process = require('process');
const opentelemetry = require('@opentelemetry/sdk-node');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector-grpc');
const { Resource } = require('@opentelemetry/resources');
const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');


var app = express();

var port = 3000;

// var clean = require('xss-clean/lib/xss').clean;

var bodyParser = require('body-parser');

// <---- open telementary
// configure the SDK to export telemetry data to the console
// enable all auto-instrumentations from the meta package

const collectorOptions = {
  // url is optional and can be omitted - default is <grpc://localhost:4317>
  url: process.env.NODE_OTEL_COLLECTOR_GRPC,
};
const traceExporter = new CollectorTraceExporter(collectorOptions);
const sdk = new opentelemetry.NodeSDK({
  resource: new Resource({
    [SemanticResourceAttributes.SERVICE_NAME]: 'prerouter',
  }),
  traceExporter,
  instrumentations: [getNodeAutoInstrumentations()]
});

// initialize the SDK and register with the OpenTelemetry API
// this enables the API to record telemetry
sdk.start()
  .then(() => console.log('Tracing initialized'))
  .catch((error) => console.log('Error initializing tracing', error));

// gracefully shut down the SDK on process exit
process.on('SIGTERM', () => {
  sdk.shutdown()
    .then(() => console.log('Tracing terminated'))
    .catch((error) => console.log('Error terminating tracing', error))
    .finally(() => process.exit(0));
});
use your own service name and collector uri
d
ok