-
Notifications
You must be signed in to change notification settings - Fork 0
feat(observability): export logs, metrics, and traces over OTLP #174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Bnjoroge1
wants to merge
11
commits into
pr/4-metrics
Choose a base branch
from
pr/5-otlp-export
base: pr/4-metrics
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
993a9e5
feat(contrib): add pinned single-node OpenObserve reference profile
Bnjoroge1 cba90a3
feat(observability): add bounded OTLP/HTTP JSON exporter and wire lif…
Bnjoroge1 e0d0069
fix(server): classify termination reasons and report the host binary …
Bnjoroge1 02a539c
feat(observability): export metrics and traces over OTLP
Bnjoroge1 25aa3f7
fix(server): keep the reason prose on the log and classify external-h…
Bnjoroge1 d34b9fb
fix(observability): bound metric labels and fix the active-requests g…
Bnjoroge1 09f6be9
feat(observability): per-signal OTLP endpoints, partial success, shut…
Bnjoroge1 6074d32
fix(observability): serialize unmeasured host usage as absent, not zero
c7ba944
fix(server): drop the exited heartbeat state from status classification
fd82e91
fix(server): stamp ready-queue entry time on jobs
56ca02b
fix(contrib): require an explicit OpenObserve admin password
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| # Optional reference telemetry backend. Preloop never starts this — it is | ||
| # opt-in, loopback-bound, and pinned by digest. Credentials come from the | ||
| # environment (systemd LoadCredential / .env outside version control), | ||
| # never from this file. | ||
| # | ||
| # Upstream: https://github.com/openobserve/openobserve (AGPL-3.0). | ||
| # Run the stock image as a separate process; do not vendor or modify it. | ||
| services: | ||
| openobserve: | ||
| # Digest-pinned: a floating tag is not an immutable input. | ||
| image: public.ecr.aws/zinclabs/openobserve@sha256:88fb692ac791d3eaff69653a4a4686f1c7eceb9e105491d58d29ac2739560b3b | ||
| container_name: preloop-openobserve | ||
| restart: unless-stopped | ||
| # Loopback only. The OSS build has no SSO/RBAC — never put the UI on the | ||
| # public webhook origin. Front it with operator auth if shared. | ||
| ports: | ||
| - "127.0.0.1:5080:5080" | ||
| environment: | ||
| ZO_ROOT_USER_EMAIL: ${ZO_ROOT_USER_EMAIL:-admin@preloop.local} | ||
| # No default password: a known admin credential on a loopback port is | ||
| # one forwarded-port or one other-local-user away from being public. | ||
| # Startup fails loudly until the operator supplies one. | ||
| ZO_ROOT_USER_PASSWORD: ${ZO_ROOT_USER_PASSWORD:?Set ZO_ROOT_USER_PASSWORD} | ||
| ZO_DATA_DIR: /data | ||
| # Short retention: this is operational telemetry (hours/days), not a | ||
| # data lake. Losing SQLite metadata makes the install inoperable, so | ||
| # back up the volume if you rely on it. | ||
| ZO_COMPACT_DATA_RETENTION_DAYS: "7" | ||
| ZO_TELEMETRY: "false" | ||
| volumes: | ||
| - openobserve-data:/data | ||
| # Measured caps: do not starve the VM pool. Re-measure on your host. | ||
| deploy: | ||
| resources: | ||
| limits: | ||
| cpus: "1.0" | ||
| memory: 2G | ||
| healthcheck: | ||
| test: ["CMD", "sh", "-c", "wget -qO- http://127.0.0.1:5080/healthz || exit 1"] | ||
| interval: 10s | ||
| timeout: 3s | ||
| retries: 10 | ||
| start_period: 20s | ||
|
|
||
| volumes: | ||
| openobserve-data: | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 Medium
openobserve/compose.yml:39The
openobservecontainer is permanently marked unhealthy because its distroless image contains neithershnorwget, so the healthcheck fails before requesting/healthz. Replace this with an external probe-capable image or an executable present in the pinned image sodepends_on: condition: service_healthycan work.🚀 Reply "fix it for me" or copy this AI Prompt for your agent: