# SecureNow OpenTelemetry instrumentation for Node.js and Next.js applications - send **traces and logs** to SigNoz or any OTLP-compatible backend. **Official npm package:** [securenow](http://securenow.ai/) --- ## 🚀 Quick Start ### For Next.js Applications **The easiest way to add observability to Next.js!** ```bash # Just install - setup is automatic! npm install securenow ``` **🎉 The installer will automatically:** - Detect your Next.js project - Create `instrumentation.ts` (or `.js`) - Create `.env.local` template **Just answer "Y" when prompted!** Then configure your `.env.local`: ```bash SECURENOW_APPID=my-nextjs-app SECURENOW_INSTANCE=http://your-signoz-server:4318 ``` **Alternative:** Use the CLI command ```bash npx securenow init ``` **Done!** 🎉 See [Next.js Complete Guide](./docs/NEXTJS-GUIDE.md) for details. --- ### For Node.js Applications (Express, Fastify, NestJS, etc.) #### Tracing Only ```bash # 1. Install npm install securenow # 2. Set environment variables export SECURENOW_APPID=my-app export SECURENOW_INSTANCE=http://your-signoz-server:4318 # 3. Run with preload NODE_OPTIONS="-r securenow/register" node app.js # or NODE_OPTIONS="-r securenow/register" npm start ``` #### Tracing + Logging (Recommended) ```bash # 1. Install npm install securenow # 2. Set environment variables export SECURENOW_APPID=my-app export SECURENOW_INSTANCE=http://your-signoz-server:4318 export SECURENOW_LOGGING_ENABLED=1 # 3. Run with preload (adds logging) NODE_OPTIONS="-r securenow/register -r securenow/console-instrumentation" node app.js # Now all console.log/info/warn/error automatically go to SigNoz! ``` --- ## 📦 Installation ```bash npm install securenow # or yarn add securenow # or pnpm add securenow ``` --- ## ⚙️ Configuration ### Environment Variables ```bash # Required: Your application identifier SECURENOW_APPID=my-app-name # Optional: Your SigNoz/OTLP collector endpoint # Default: https://freetrial.securenow.ai:4318 SECURENOW_INSTANCE=http://your-signoz-server:4318 # Optional: Enable Logging SECURENOW_LOGGING_ENABLED=1 # Enable automatic log collection # Optional: Additional configuration SECURENOW_NO_UUID=1 # Don't append UUID to service name OTEL_LOG_LEVEL=info # debug|info|warn|error SECURENOW_DISABLE_INSTRUMENTATIONS=fs,dns # Disable specific instrumentations OTEL_EXPORTER_OTLP_HEADERS="x-api-key=..." # Authentication headers # Optional: Request body capture (for debugging) SECURENOW_CAPTURE_BODY=1 # Capture request bodies in traces SECURENOW_MAX_BODY_SIZE=10240 # Max body size in bytes SECURENOW_SENSITIVE_FIELDS="field1,field2" # Additional fields to redact ``` ### Legacy Environment Variables (still supported) ```bash export securenow= export securenow_instance='http://:4318' ``` --- ## 🎯 Supported Frameworks & Libraries SecureNow automatically instruments: ### Web Frameworks - ✅ Next.js (App Router & Pages Router) - ✅ Express.js - ✅ Fastify - ✅ NestJS - ✅ Koa - ✅ Hapi ### Databases - ✅ PostgreSQL - ✅ MySQL / MySQL2 - ✅ MongoDB - ✅ Redis ### Logging - ✅ Automatic console logging (console.log, info, warn, error) - ✅ Structured logging with OpenTelemetry - ✅ Automatic trace-log correlation - ✅ Works with all frameworks ### Other - ✅ HTTP/HTTPS requests - ✅ GraphQL - ✅ gRPC - ✅ And many more via OpenTelemetry auto-instrumentation --- ## 📚 Documentation ### Quick Starts - **[Next.js Quick Start](./docs/NEXTJS-QUICKSTART.md)** - Get started in 30 seconds - **[Logging Quick Start](./docs/LOGGING-QUICKSTART.md)** - Add logging in 2 minutes ### Complete Guides - **[Next.js Complete Guide](./docs/NEXTJS-GUIDE.md)** - Full Next.js integration guide - **[Logging Complete Guide](./docs/LOGGING-GUIDE.md)** - Full logging setup for all frameworks - **[📚 Complete Documentation](./docs/INDEX.md)** - All guides and references ### Examples - **[Code Examples](./examples/)** - Ready-to-use examples for different setups --- ## 🆘 Support - **Website:** [securenow.ai](http://securenow.ai/) - **Issues:** Report bugs and request features - **Documentation:** Full documentation and guides --- ## 📄 License ISC