This PR updates the Prometheus dependency in Loki and Promtail. The PR is required so that we can also update Grafana Agent to the latest Prometheus. Unfortunately, Promtail and Loki share the same go.mod file.
**What this PR does / why we need it**:
Upgrades various common modules including dskit, thanos objstore,
prometheus, etc. Fixes errors/ changes resulting due to module upgrades.
This is required in order to eventually upgrade BEL dependency in GEL to
point to master.
**Which issue(s) this PR fixes**:
None
**Special notes for your reviewer**:
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](d10549e3ec)
* Loki now uses module services to start and stop its work.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Use services methods to initialize some components.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Use Cortex' NewModuleService.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Converted server to a service.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Converted distributor to service.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Use table manager service
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* querier service
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* query-frontend service
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Merged stopping method into shutdown
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Converted ingester to a service.
It now starts all background tasks in Starting state.
Stopping needs little work, as does reacting on lifecycler errors.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Loki
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* If lifecycler fails, ingester fails too.
It now doesn't call os.Exit, but shuts down gracefully and enters Failed state.
That triggers Loki to shutdown completely.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Ignore ErrStopProcess errors from services
This is a signal that Loki should stop.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Use single /ready handler
It checks the state of all services, and asks ingester for its own check as well.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Removed unused value.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Lint
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Fix test.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Go mod tidy, vendor
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Tailers, not trailers.
Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
* Adds return for the healtcheck in case of error.
Signed-off-by: Cyril Tovena <cyril.tovena@gmail.com>
Co-authored-by: Cyril Tovena <cyril.tovena@gmail.com>