OpenObserve

OpenObserve is an observability platform for logs, metrics and traces. It ships with a web UI, and stores data on local disk in single-node mode.

Getting Started

# In `perSystem.process-compose.<name>`
{
  services.openobserve."oo1".enable = true;
}

The web UI is then served at http://127.0.0.1:5080, and the ingestion and query APIs live under the same address. Log in with:

Email[email protected]
PasswordAdmin1!@

Tips & Tricks

Changing the root user

OpenObserve refuses to start without root credentials, so this service supplies the defaults above. Override them — or set any other ZO_* variable — through extraEnvironment, which is merged after the module’s own defaults:

{
  services.openobserve."oo1" = {
    enable = true;
    extraEnvironment = {
      ZO_ROOT_USER_EMAIL = "[email protected]";
      ZO_ROOT_USER_PASSWORD = "Somethingelse#456";
    };
  };
}

The email must match OpenObserve’s address pattern. If it doesn’t — or if either variable is unset — the process panics on startup with a message naming both.

Telemetry

OpenObserve reports anonymous usage data by default. This service disables it. To turn it back on:

{
  services.openobserve."oo1" = {
    enable = true;
    extraEnvironment.ZO_TELEMETRY = "true";
  };
}

Usage example

https://github.com/juspay/services-flake/blob/main/nix/services/openobserve_test.nix