Complete open-source monitoring and observability platform.
Find a file
Nawaz Dhandala f49b1995df
feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline
- 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.
2025-11-07 21:36:47 +00:00
.github feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
.husky fix lint. 2022-08-14 10:12:58 +01:00
.oneuptime Refactor ClusterKeyAuthorization to use class reference for cluster key retrieval 2024-11-20 15:14:34 +00:00
.vscode feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
Accounts chore: npm audit fix 2025-11-07 01:46:40 +00:00
AdminDashboard chore: npm audit fix 2025-11-07 01:46:40 +00:00
APIReference chore: npm audit fix 2025-11-07 01:46:40 +00:00
App chore: npm audit fix 2025-11-07 01:46:40 +00:00
Backups fix backups and restore. 2022-12-12 15:25:30 +05:30
Certs add domain. 2023-03-02 15:46:28 +00:00
Clickhouse refactor: Enhance error handling and logging in monitor criteria classes 2025-04-24 12:11:17 +01:00
Common feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
Copilot chore: npm audit fix 2025-11-07 01:46:40 +00:00
Dashboard chore: npm audit fix 2025-11-07 01:46:40 +00:00
Data add data folder 2023-07-11 20:22:17 +01:00
Devops refactor: Remove node_modules from the Common project 2024-08-07 13:40:10 -06:00
Docs chore(fluent-ingest): migrate fluent log ingest into open-telemetry-ingest and remove legacy fluent-ingest service 2025-11-07 19:37:31 +00:00
E2E feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
Environment add env folder 2023-07-11 20:26:35 +01:00
Examples chore: update package-locks — add deps, bump versions & sync subdeps 2025-10-29 16:43:36 +00:00
FluentBit chore(config,docker,ci,ui): rename IS_ENTERPRISE to IS_ENTERPRISE_EDITION across env, Dockerfiles, compose and workflows 2025-11-03 11:25:12 +00:00
Fluentd chore(fluentd): update production endpoint and x-oneuptime token in Fluentd config (Fluentd/fluent.conf) 2025-11-07 20:38:23 +00:00
HelmChart feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
Home chore: npm audit fix 2025-11-07 01:46:40 +00:00
IncomingRequestIngest chore: npm audit fix 2025-11-07 01:46:40 +00:00
InfrastructureAgent feat: Add log viewing instructions and improve error logging in agent 2025-07-25 13:42:25 +01:00
IsolatedVM chore: npm audit fix 2025-11-07 01:46:40 +00:00
LLM chore(config,docker,ci,ui): rename IS_ENTERPRISE to IS_ENTERPRISE_EDITION across env, Dockerfiles, compose and workflows 2025-11-03 11:25:12 +00:00
MCP chore(config,docker,ci,ui): rename IS_ENTERPRISE to IS_ENTERPRISE_EDITION across env, Dockerfiles, compose and workflows 2025-11-03 11:25:12 +00:00
Nginx chore(fluent-ingest): remove /fluent-ingest nginx proxy location from default.conf.template 2025-11-07 19:04:46 +00:00
OTelCollector feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
Probe chore: npm audit fix 2025-11-07 01:46:40 +00:00
ProbeIngest chore: npm audit fix 2025-11-07 01:46:40 +00:00
Scripts chore: npm audit fix 2025-11-07 01:46:40 +00:00
ServerMonitorIngest chore: npm audit fix 2025-11-07 01:46:40 +00:00
SslCertificates refactor: Update import statements for TimezoneUtil in multiple files 2024-06-18 11:35:04 +01:00
StatusPage chore: npm audit fix 2025-11-07 01:46:40 +00:00
Telemetry feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
Tests feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
TestServer chore: npm audit fix 2025-11-07 01:46:40 +00:00
Worker chore: npm audit fix 2025-11-07 01:46:40 +00:00
Workflow chore: npm audit fix 2025-11-07 01:46:40 +00:00
.bash_profile chore: Disable Copilot in development environment 2024-07-10 13:39:35 +01:00
.dockerignore refactor: Remove LLM/Models from .dockerignore 2024-07-05 09:29:05 +01:00
.gitignore feat: Add .claude/settings.local.json to .gitignore 2025-08-05 21:09:10 +01:00
.prettierignore refactor: Update import statements for CommonUI to use Common/UI 2024-08-07 16:14:31 -06:00
babel.config.ts refactor: Update symbol type to use lowercase 'symbol' in ColumnAccessControl files 2024-06-14 12:09:53 +01:00
backup.sh atleast 2023-07-30 17:48:48 -07:00
CHANGELOG
clean-npm-install.sh fix lock files 2022-12-16 14:22:23 +05:30
code-of-conduct.md Create code-of-conduct.md 2023-11-26 16:02:42 +00:00
config.example.env feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
configure.sh feat: add setup function for ts-node installation in configure script 2025-01-28 18:34:59 +00:00
CONTRIBUTING.md Add CONTRIBUTING.md template 2022-04-25 12:28:31 +02:00
docker-compose.base.yml feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
docker-compose.dev.yml feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
docker-compose.e2e.yml feat: add E2E testing support with docker-compose configuration 2025-10-09 11:39:30 +01:00
docker-compose.llm.yml feat: Update count property in docker-compose.llm.yml to use 'all' 2024-07-03 17:48:43 +01:00
docker-compose.yml feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline 2025-11-07 21:36:47 +00:00
eslint.config.js chore(eslint): enable no-control-regex and tidy rule formatting 2025-11-05 09:38:26 +00:00
install-node-modules.sh npm i 2023-02-08 20:40:06 +00:00
install.sh refactor status check script 2023-07-19 14:21:39 +01:00
LICENSE Update user authentication logic 2023-12-26 11:55:26 +00:00
MAINTAINERS Create MAINTAINERS 2023-11-26 16:06:45 +00:00
migration-create.sh add migrations 2022-12-15 12:36:31 +05:30
migration-run.sh refactor: Update import statements for CommonUI to use Common/UI 2024-08-07 16:14:31 -06:00
npm-audit-fix.sh chore(ci): don't mark whole run as failed when npm audit fix errors; only report the error 2025-10-29 16:26:40 +00:00
package-lock.json chore: update package-locks — add deps, bump versions & sync subdeps 2025-10-29 16:43:36 +00:00
package.json chore(ci): add npm-audit-fix workflow and helper script, expose audit-fix npm script 2025-10-29 13:25:31 +00:00
README.md docs(readme,helm): add Community vs. Enterprise table to main README; expand Enterprise Edition details in Helm chart README 2025-11-05 12:12:42 +00:00
remove-node-modules.sh fix: Ensure root node_modules are removed before processing subdirectories 2025-06-26 20:17:55 +01:00
restore.sh Update secret values in HelmChart templates 2024-03-17 12:14:26 +00:00
SECURITY.md
tsconfig.json Update tsconfig.json files with resolveJsonModule option 2024-04-08 14:03:07 +01:00
uninstall.sh fix docker-compose 2022-12-07 07:49:18 +00:00
update-node-modules.sh update package.jsn and lock files 2022-03-22 14:34:04 +00:00
update.sh add update script 2023-06-11 15:26:52 +01:00
VERSION_PREFIX Update GitHub Actions workflow to read version prefix from VERSION_PREFIX file and adjust versioning scheme 2025-09-07 15:17:47 +01:00

oneuptime logo

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.

Monitoring

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.

Status Pages

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.

Incident Management

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.

On Call and Alerts

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.

Logs Management

Workflows

Integrate OneUptime with your existing tools and automate your workflows. Integrate with tools like Slack, Jira, GitHub, and 5000+ more.

Workflows

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.

APM

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

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:

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!