Skip to content

feat: add loki health command (backport release-3.6.x) - #20590

Merged
salvacorts merged 1 commit into
release-3.6.xfrom
backport-20313-to-release-3.6.x
Jan 28, 2026
Merged

feat: add loki health command (backport release-3.6.x)#20590
salvacorts merged 1 commit into
release-3.6.xfrom
backport-20313-to-release-3.6.x

Conversation

@loki-gh-app

@loki-gh-app loki-gh-app Bot commented Jan 28, 2026

Copy link
Copy Markdown
Contributor

Backport ef69cfd from #20313


What this PR does / why we need it:

Since we are using the distroless docker image, we don't have shell and tools to execute the healthcheck when starting loki.
For some cases we can run a sidecar, kube is calling the ready endpoint.

But in cases that are not these two, like docker swarm, it is not possible to make a check.

So we are adding a health command support to the binary, where the user can call the binary with the -health arg, this will make Loki check itself without any external dependency or shell needed in docker container.

Which issue(s) this PR fixes:
Fixes #20149

Special notes for your reviewer:

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR
@loki-gh-app
loki-gh-app Bot requested a review from a team as a code owner January 28, 2026 09:29
@loki-gh-app loki-gh-app Bot added backport size/L type/bug Somehing is not working as expected labels Jan 28, 2026
@salvacorts
salvacorts enabled auto-merge (squash) January 28, 2026 09:35
@salvacorts
salvacorts merged commit dfdbe2a into release-3.6.x Jan 28, 2026
71 checks passed
@salvacorts
salvacorts deleted the backport-20313-to-release-3.6.x branch January 28, 2026 09:35
@NanoTrasen-Inc

Copy link
Copy Markdown

FYI this documentation still needs updating:

test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]

@JStickler

Copy link
Copy Markdown
Contributor

@NanoTrasen-Inc thanks, should be fixed now.

antonio-mazzini added a commit to antonio-mazzini/tempo that referenced this pull request Mar 4, 2026
Add a -health CLI flag that checks Tempo's /ready endpoint without
requiring a config file or shell in the container. This enables
native Docker HEALTHCHECK using the Tempo binary itself, which is
important since the distroless base image has no shell or curl.

Usage: tempo -health [-health.url=http://localhost:3200/ready]

Follows the same pattern adopted in Loki (grafana/loki#20590).
oleg-kozlyuk-grafana pushed a commit to grafana/tempo that referenced this pull request Mar 10, 2026
* feat: add -health flag for Docker healthchecks

Add a -health CLI flag that checks Tempo's /ready endpoint without
requiring a shell in the container. This enables
native Docker HEALTHCHECK using the Tempo binary itself, which is
important since the distroless base image has no shell or curl.

Usage: tempo -health [-health.url=http://localhost:3200/ready]

Follows the same pattern adopted in Loki (grafana/loki#20590).

* refactor: use standard flag package for health check
mattdurham pushed a commit to mattdurham/tempo that referenced this pull request Jun 18, 2026
* feat: add -health flag for Docker healthchecks

Add a -health CLI flag that checks Tempo's /ready endpoint without
requiring a shell in the container. This enables
native Docker HEALTHCHECK using the Tempo binary itself, which is
important since the distroless base image has no shell or curl.

Usage: tempo -health [-health.url=http://localhost:3200/ready]

Follows the same pattern adopted in Loki (grafana/loki#20590).

* refactor: use standard flag package for health check
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport size/L type/bug Somehing is not working as expected

4 participants