- Add Telemetry service entrypoint - Telemetry/Index.ts: app bootstrap, routes mounting, infrastructure init and Telemetry SDK init. - Unified queue + worker - Telemetry/Jobs/TelemetryIngest/ProcessTelemetry.ts: single worker that dispatches queued jobs to specific processors (logs, traces, metrics, syslog, fluent logs). - Telemetry/Services/Queue/TelemetryQueueService.ts: central queue API and job payload types. - Per-type Queue wrappers (LogsQueueService, MetricsQueueService, TracesQueueService, FluentLogsQueueService, SyslogQueueService). - OpenTelemetry ingestion middleware and proto support - Telemetry/Middleware/OtelRequestMiddleware.ts: detect OTLP endpoint (logs/traces/metrics), decode protobuf bodies using protobufjs and set product type. - Telemetry/ProtoFiles/OTel/v1/*.proto: include common.proto, logs.proto, metrics.proto, resource.proto, traces.proto for OTLP v1 messages. - Ingest services - Telemetry/Services/OtelLogsIngestService.ts: parse incoming OTLP logs, map attributes, convert timestamps, batch insert logs. - Telemetry/Services/OtelTracesIngestService.ts: parse OTLP traces, build span rows, extract exceptions, batch insert spans and exceptions, save telemetry exception summary. - Telemetry/Services/OtelMetricsIngestService.ts: parse OTLP metrics, normalize datapoints, batch insert metrics and index metric name -> service map. - Telemetry/Services/SyslogIngestService.ts: syslog ingestion endpoints, parser integration, map syslog fields to attributes and logs. - Telemetry/Services/FluentLogsIngestService.ts: ingest Fluentd style logs, normalize entries and insert into log backend. - Telemetry/Services/OtelIngestBaseService.ts: helpers to resolve service name from attributes/headers. - Syslog parser and utilities - Telemetry/Utils/SyslogParser.ts: robust RFC5424 and RFC3164 parser, structured data extraction and sanitization. - Telemetry/Tests/Utils/SyslogParser.test.ts: unit tests for parser behavior. - Telemetry exception utilities - Telemetry/Utils/Exception.ts: generate exception fingerprint and upsert telemetry exception status (saveOrUpdateTelemetryException). - Queue & job integration - New integration with Common/Server/Infrastructure/Queue and QueueWorker, job id generation and telemetry job types. - Telemetry services add ingestion jobs instead of processing synchronously. - Config, build and dev tooling - Add Telemetry/package.json, package-lock.json, tsconfig.json, nodemon.json, jest config. - New script configs and dependencies (protobufjs, ts-node, jest, nodemon, etc). - Docker / environment updates - docker-compose.base.yml, docker-compose.dev.yml, docker-compose.yml: rename service from open-telemetry-ingest -> telemetry and wire TELEMETRY_* envs. - config.example.env: rename and consolidate environment variables (OPEN_TELEMETRY_* -> TELEMETRY_*, update hostnames and ports). - Tests/Scripts/status-check.sh: update ready-check target to telemetry/status/ready. - Other - Telemetry/Services/Queue/*: export helpers and legacy-compatible job interface shims. - Memory cleanup and batching safeguards across ingest services. - Logging and capture spans added to key code paths. BREAKING CHANGES / MIGRATION NOTES: - Environment variables and docker service names changed: - Replace OPEN_TELEMETRY_... vars with TELEMETRY_... (PORT, HOSTNAME, CONCURRENCY, DISABLE_TELEMETRY, etc). - docker-compose entries moved from "open-telemetry-ingest" to "telemetry" and image name changed to oneuptime/telemetry. - Update any deployment automation and monitoring checks referencing the old service name or endpoints. - Consumers: OTLP endpoints and behavior remain supported, but ingestion is now queued and processed asynchronously. Testing / Running: - Install deps in Telemetry/ (npm install) after syncing Common workspace. - Run dev: npx nodemon (nodemon.json) or build & start using provided scripts. - Run tests with jest (Telemetry test suite includes SyslogParser unit tests). Files added/modified (high level): - Added many files under Telemetry/: Index, Jobs, Middleware, ProtoFiles, Services, Utils, Tests, package and config artifacts. - Modified docker-compose.* and config.example.env and status check script to use new TELEMETRY service/vars. |
||
|---|---|---|
| .github | ||
| .husky | ||
| .oneuptime | ||
| .vscode | ||
| Accounts | ||
| AdminDashboard | ||
| APIReference | ||
| App | ||
| Backups | ||
| Certs | ||
| Clickhouse | ||
| Common | ||
| Copilot | ||
| Dashboard | ||
| Data | ||
| Devops | ||
| Docs | ||
| E2E | ||
| Environment | ||
| Examples | ||
| FluentBit | ||
| Fluentd | ||
| HelmChart | ||
| Home | ||
| IncomingRequestIngest | ||
| InfrastructureAgent | ||
| IsolatedVM | ||
| LLM | ||
| MCP | ||
| Nginx | ||
| OTelCollector | ||
| Probe | ||
| ProbeIngest | ||
| Scripts | ||
| ServerMonitorIngest | ||
| SslCertificates | ||
| StatusPage | ||
| Telemetry | ||
| Tests | ||
| TestServer | ||
| Worker | ||
| Workflow | ||
| .bash_profile | ||
| .dockerignore | ||
| .gitignore | ||
| .prettierignore | ||
| babel.config.ts | ||
| backup.sh | ||
| CHANGELOG | ||
| clean-npm-install.sh | ||
| code-of-conduct.md | ||
| config.example.env | ||
| configure.sh | ||
| CONTRIBUTING.md | ||
| docker-compose.base.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.e2e.yml | ||
| docker-compose.llm.yml | ||
| docker-compose.yml | ||
| eslint.config.js | ||
| install-node-modules.sh | ||
| install.sh | ||
| LICENSE | ||
| MAINTAINERS | ||
| migration-create.sh | ||
| migration-run.sh | ||
| npm-audit-fix.sh | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| remove-node-modules.sh | ||
| restore.sh | ||
| SECURITY.md | ||
| tsconfig.json | ||
| uninstall.sh | ||
| update-node-modules.sh | ||
| update.sh | ||
| VERSION_PREFIX | ||
OneUptime: The Complete Open-Source Observability Platform
OneUptime is a comprehensive solution for monitoring and managing your online services. Whether you need to check the availability of your website, dashboard, API, or any other online resource, OneUptime can alert your team when downtime happens and keep your customers informed with a status page. OneUptime also helps you handle incidents, set up on-call rotations, run tests, secure your services, analyze logs, track performance, and debug errors.
OneUptime replaces multiple tools with one integrated platform:
Uptime Monitoring
Monitor the availability and response time of your online services from multiple locations around the world. Get notified via email, SMS, Slack, or other channels when something goes wrong. Replace tools like Pingdom.
Status Pages
Communicate with your customers and stakeholders during downtime or maintenance. Create a custom-branded status page that shows the current status and history of your services. Replace tools like StatusPage.io.
Incident Management
Manage incidents from start to finish with a collaborative workflow. Create incident reports, assign tasks, update stakeholders, and document resolutions. Replace tools like Incident.io.
On Call and Alerts
Schedule on-call shifts for your team and define escalation policies. Ensure that the right person is notified at the right time when an incident occurs. Replace tools like PagerDuty.
Logs Management
Collect, store, and analyze logs from your online services. Search, filter, and visualize log data to gain insights and troubleshoot issues. Replace tools like Loggly.
Workflows
Integrate OneUptime with your existing tools and automate your workflows. Integrate with tools like Slack, Jira, GitHub, and 5000+ more.
Application Performance Monitoring
Measure and optimize the performance of your online apps and services. Track key metrics such as traces, response time, throughput, error rate, and user satisfaction. Replace tools like NewRelic and DataDog.
Coming Soon
- Error Tracking: Detect and diagnose errors in your online services. Get detailed error reports with stack traces, context, and user feedback. Replace tools like Sentry.
- Reliability Copilot: Scan your code and fix performance issues and errors automatically. Get recommendations for improving the reliability of your online services.
All under one platform.
Get Started for Free with OneUptime Cloud
OneUptime Cloud is the easiest and fastest way to monitor your website uptime and performance. You can sign up for free to OneUptime Cloud and enjoy the full benefits of OneUptime without any installation or maintenance hassle.
By using OneUptime Cloud, you also support the development of OneUptime open source project, which is a powerful and flexible tool for website monitoring. You can find more information about OneUptime open source project on GitHub. The code of OneUptime is completely open source, which means you can access, modify, and distribute it freely. You can also contribute to the project by reporting issues, suggesting features, or submitting pull requests.
If you need advanced features, such as API Access, Advanced Workflows, or Advanced Access Control, you can upgrade to a paid plan anytime. You can compare the different plans and pricing on OneUptime Pricing page.
Community vs. Enterprise Editions
| Edition | Ideal For | Highlights | Requirements |
|---|---|---|---|
| Community Edition | Self-hosters getting started with the open-source stack | Full OneUptime feature set with the standard security posture; community-driven support channels; rapid updates via public releases | None |
| Enterprise Edition | Regulated teams that need hardened deployments and premium support | Hardened container images with additional security controls; Custom features and roadmap input; Dedicated engineer with 1-hour priority phone support; Custom data residency and retention options; Deploy on private cloud or SaaS with annual invoicing |
Valid enterprise license (contact sales@oneuptime.com) |
Installation
- Install on Kubernetes with Helm (recommended for production)
- Install with Docker Compose (single-node install, not recommended for production)
- Install for Local Development
- Upgrade OneUptime
Philosophy
Our mission is to reduce downtime and increase the number of successful products in the world. To do that, we built a platform that helps you understand the causes of downtime, incidents and help reduce toil. Our product is open-source, free and available for everyone to use.
Contributing
We <3 contributions big and small. In priority order (although everything is appreciated) with the most helpful first:
- Give us feedback in our Customer Slack community
- Talk to developers in our Developer Slack community
- Write tests for some of our codebase. See issues here
- Work on any issue you like. See issues here
- Open new issues and create new feature requests that you would like to see. Open issues here
Donate
If you like the project, please consider a small donation. Every single dollar will be used to ship new features or maintain existing ones. 100% of the work we do is open-source. Please donate here
Merch: Support the development of OneUptime by purchasing from our Merch Store. All revenue generated from the store will go directly towards funding the open-source development of OneUptime. Show your support and get some cool swag!







