Skip to content
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

[tempo] feat: add readiness and liveness probe #3188

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b5df131
added Readiness and Liveness Probe Configuration Options in template/…
Mistral-valaise Jun 26, 2024
3d952af
added Readiness and Liveness Probe Configuration Options in tempo val…
Mistral-valaise Jun 26, 2024
75f5723
Merge branch 'main' into feature/Add-Readiness-and-Liveness-Probe-Con…
Mistral-valaise Jun 27, 2024
dfb8d9c
Merge branch 'main' into feature/Add-Readiness-and-Liveness-Probe-Con…
Mistral-valaise Jun 28, 2024
134d017
Merge branch 'main' into feature/Add-Readiness-and-Liveness-Probe-Con…
Mistral-valaise Aug 15, 2024
ecd6500
Merge branch 'main' into feature/Add-Readiness-and-Liveness-Probe-Con…
Mistral-valaise Aug 19, 2024
75d856e
Merge branch 'main' into feature/Add-Readiness-and-Liveness-Probe-Con…
zanhsieh Aug 28, 2024
ca1060d
Merge branch 'main' into feature/Add-Readiness-and-Liveness-Probe-Con…
Mistral-valaise Dec 7, 2024
b804c13
Update Chart.yaml
Sheikh-Abubaker Dec 3, 2024
ff5c2dd
Update README.md
Sheikh-Abubaker Dec 3, 2024
998f457
Bump rollout operator to 0.21.0
DrFaust92 Dec 9, 2024
d703884
bump grafana-agent-operator
DrFaust92 Dec 9, 2024
6259a82
bump grafana-agent-operator
DrFaust92 Dec 10, 2024
368454b
update readme
KyriosGN0 Dec 3, 2024
a2ffdb1
bump version in Chart.yaml
CostisC Dec 9, 2024
c6d3719
[tempo-distributed] Clarifies use of `global_overrides` and `override…
hedss Dec 5, 2024
e4c302d
grafana-sampling: bump alloy version (#3481)
rlankfo Dec 11, 2024
41f3c3e
Updated memcached image
xogoodnow Dec 11, 2024
73429dc
ran helm-docs
xogoodnow Dec 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions charts/grafana-sampling/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
dependencies:
- name: alloy
repository: https://grafana.github.io/helm-charts
version: 0.6.0
version: 0.10.1
- name: alloy
repository: https://grafana.github.io/helm-charts
version: 0.6.0
digest: sha256:e9dbff0d3707c403c1fb645eb33920a2219cc3156358134537e89caf39c588a5
generated: "2024-08-14T10:41:47.606272-07:00"
version: 0.10.1
digest: sha256:dc461e633c1504ba6c60e11c21afc3346444e175d4e3b7e0b538240c392c81d0
generated: "2024-12-11T10:44:32.61011-08:00"
8 changes: 4 additions & 4 deletions charts/grafana-sampling/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ apiVersion: v2
name: grafana-sampling
description: A Helm chart for a layered OTLP tail sampling and metrics generation pipeline.
type: application
version: 1.1.0
appVersion: "v1.3.0"
version: 1.1.1
appVersion: "v1.5.1"
sources:
- https://github.com/grafana/alloy
- https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/setup/sampling/tail/
dependencies:
- name: alloy
version: 0.6.0
version: 0.10.1
repository: https://grafana.github.io/helm-charts
alias: alloy-deployment
- name: alloy
version: 0.6.0
version: 0.10.1
repository: https://grafana.github.io/helm-charts
alias: alloy-statefulset
2 changes: 1 addition & 1 deletion charts/grafana-sampling/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# grafana-sampling

![Version: 1.1.0](https://img.shields.io/badge/Version-1.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.3.0](https://img.shields.io/badge/AppVersion-v1.3.0-informational?style=flat-square)
![Version: 1.1.1](https://img.shields.io/badge/Version-1.1.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.5.1](https://img.shields.io/badge/AppVersion-v1.5.1-informational?style=flat-square)

A Helm chart for a layered OTLP tail sampling and metrics generation pipeline.

Expand Down
8 changes: 4 additions & 4 deletions charts/tempo-distributed/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ dependencies:
version: 4.0.12
- name: grafana-agent-operator
repository: https://grafana.github.io/helm-charts
version: 0.4.0
version: 0.5.0
- name: rollout-operator
repository: https://grafana.github.io/helm-charts
version: 0.16.0
digest: sha256:504a9bfa69a6d4130c496ed3382add7679b8aed30c1320a418831bdbea4e0ace
generated: "2024-07-02T12:00:59.197303-04:00"
version: 0.21.0
digest: sha256:fbbce04b39c84d31817f237c52b040f03f757e46076f151e30c207a6f2d31fcd
generated: "2024-12-09T18:25:13.738948-05:00"
6 changes: 3 additions & 3 deletions charts/tempo-distributed/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: tempo-distributed
description: Grafana Tempo in MicroService mode
type: application
version: 1.23.2
version: 1.25.2
appVersion: 2.6.0
engine: gotpl
home: https://grafana.com/docs/tempo/latest/
Expand Down Expand Up @@ -30,11 +30,11 @@ dependencies:
condition: minio.enabled
- name: grafana-agent-operator
alias: grafana-agent-operator
version: 0.4.0
version: 0.5.0
repository: https://grafana.github.io/helm-charts
condition: metaMonitoring.grafanaAgent.installOperator
- name: rollout-operator
alias: rollout_operator
repository: https://grafana.github.io/helm-charts
version: 0.16.0
version: 0.21.0
condition: rollout_operator.enabled
22 changes: 11 additions & 11 deletions charts/tempo-distributed/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tempo-distributed

![Version: 1.23.2](https://img.shields.io/badge/Version-1.23.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square)
![Version: 1.25.2](https://img.shields.io/badge/Version-1.25.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square)

Grafana Tempo in MicroService mode

Expand All @@ -13,8 +13,8 @@ Grafana Tempo in MicroService mode
| Repository | Name | Version |
|------------|------|---------|
| https://charts.min.io/ | minio(minio) | 4.0.12 |
| https://grafana.github.io/helm-charts | grafana-agent-operator(grafana-agent-operator) | 0.4.0 |
| https://grafana.github.io/helm-charts | rollout_operator(rollout-operator) | 0.16.0 |
| https://grafana.github.io/helm-charts | grafana-agent-operator(grafana-agent-operator) | 0.5.0 |
| https://grafana.github.io/helm-charts | rollout_operator(rollout-operator) | 0.21.0 |

## Chart Repo

Expand All @@ -32,6 +32,8 @@ To install the chart with the release name `my-release`:
helm install my-release grafana/tempo-distributed
```

Refer to the [Get started with Grafana Tempo using the Helm chart](https://grafana.com/docs/helm-charts/tempo-distributed/next/get-started-helm-charts/) documentation for more details.

## Uninstalling the Chart

To uninstall/delete the my-release deployment:
Expand Down Expand Up @@ -508,7 +510,7 @@ The memcached default args are removed and should be provided manually. The sett
| global.image.pullSecrets | list | `[]` | Optional list of imagePullSecrets for all images, excluding enterprise. Names of existing secrets with private container registry credentials. Ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod Example: pullSecrets: [ my-dockerconfigjson-secret ] |
| global.image.registry | string | `"docker.io"` | Overrides the Docker registry globally for all images, excluding enterprise. |
| global.priorityClassName | string | `nil` | Overrides the priorityClassName for all pods |
| global_overrides.per_tenant_override_config | string | `"/runtime-config/overrides.yaml"` | |
| global_overrides | object | `{"per_tenant_override_config":"/runtime-config/overrides.yaml"}` | The standard overrides configuration section. This can include a `defaults` object for applying to all tenants (not to be confused with the `global` property of the same name, which overrides `max_byte_per_trace` for all tenants). For an example on how to enable the metrics generator using the `global_overrides` object, see the 'Activate metrics generator' section below. Refer to [Standard overrides](https://grafana.com/docs/tempo/latest/configuration/#standard-overrides) for more details. |
| ingester.affinity | string | Soft node and soft zone anti-affinity | Affinity for ingester pods. Passed through `tpl` and, thus, to be configured as string |
| ingester.annotations | object | `{}` | Annotations for the ingester StatefulSet |
| ingester.appProtocol | object | `{"grpc":null}` | Adds the appProtocol field to the ingester service. This allows ingester to work with istio protocol selection. |
Expand Down Expand Up @@ -587,7 +589,7 @@ The memcached default args are removed and should be provided manually. The sett
| memcached.image.pullSecrets | list | `[]` | Optional list of imagePullSecrets. Overrides `global.image.pullSecrets` |
| memcached.image.registry | string | `nil` | The Docker registry for the Memcached image. Overrides `global.image.registry` |
| memcached.image.repository | string | `"memcached"` | Memcached Docker image repository |
| memcached.image.tag | string | `"1.6.29-alpine"` | Memcached Docker image tag |
| memcached.image.tag | string | `"1.6.33-alpine"` | Memcached Docker image tag |
| memcached.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| memcached.podAnnotations | object | `{}` | Annotations for memcached pods |
| memcached.podLabels | object | `{}` | Labels for memcached pods |
Expand Down Expand Up @@ -642,9 +644,9 @@ The memcached default args are removed and should be provided manually. The sett
| metricsGenerator.appProtocol | object | `{"grpc":null}` | Adds the appProtocol field to the metricsGenerator service. This allows metricsGenerator to work with istio protocol selection. |
| metricsGenerator.appProtocol.grpc | string | `nil` | Set the optional grpc service protocol. Ex: "grpc", "http2" or "https" |
| metricsGenerator.config | object | `{"metrics_ingestion_time_range_slack":"30s","processor":{"service_graphs":{"dimensions":[],"histogram_buckets":[0.1,0.2,0.4,0.8,1.6,3.2,6.4,12.8],"max_items":10000,"wait":"10s","workers":10},"span_metrics":{"dimensions":[],"histogram_buckets":[0.002,0.004,0.008,0.016,0.032,0.064,0.128,0.256,0.512,1.02,2.05,4.1]}},"registry":{"collection_interval":"15s","external_labels":{},"stale_duration":"15m"},"storage":{"path":"/var/tempo/wal","remote_write":[],"remote_write_add_org_id_header":true,"remote_write_flush_deadline":"1m","wal":null},"traces_storage":{"path":"/var/tempo/traces"}}` | More information on configuration: https://grafana.com/docs/tempo/latest/configuration/#metrics-generator |
| metricsGenerator.config.processor.service_graphs | object | `{"dimensions":[],"histogram_buckets":[0.1,0.2,0.4,0.8,1.6,3.2,6.4,12.8],"max_items":10000,"wait":"10s","workers":10}` | For processors to be enabled and generate metrics, pass the names of the processors to overrides.metrics_generator_processors value like [service-graphs, span-metrics] |
| metricsGenerator.config.processor.service_graphs.dimensions | list | `[]` | resource and span attributes and are added to the metrics if present. |
| metricsGenerator.config.processor.span_metrics.dimensions | list | `[]` | Dimensions are searched for in the resource and span attributes and are added to the metrics if present. |
| metricsGenerator.config.processor.service_graphs | object | `{"dimensions":[],"histogram_buckets":[0.1,0.2,0.4,0.8,1.6,3.2,6.4,12.8],"max_items":10000,"wait":"10s","workers":10}` | For processors to be enabled and generate metrics, pass the names of the processors to `global_overrides.defaults.metrics_generator_processors` value like `[service-graphs, span-metrics]`. |
| metricsGenerator.config.processor.service_graphs.dimensions | list | `[]` | The resource and span attributes to be added to the service graph metrics, if present. |
| metricsGenerator.config.processor.span_metrics.dimensions | list | `[]` | The resource and span attributes to be added to the span metrics, if present. |
| metricsGenerator.config.storage.remote_write | list | `[]` | https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write |
| metricsGenerator.config.traces_storage | object | `{"path":"/var/tempo/traces"}` | Used by the local blocks processor to store a wal for traces. |
| metricsGenerator.enabled | bool | `false` | Specifies whether a metrics-generator should be deployed |
Expand Down Expand Up @@ -695,7 +697,7 @@ The memcached default args are removed and should be provided manually. The sett
| minio.rootPassword | string | `"supersecret"` | |
| minio.rootUser | string | `"grafana-tempo"` | |
| multitenancyEnabled | bool | `false` | |
| overrides | object | `{}` | |
| overrides | object | `{}` | The runtime overrides to write to the `per_tenant_override_config` file for Tempo (see `global_overrides` and the `per_tenant_override_config` property). This allows overriding the `ingestion` and `global` values on a per-tenant basis. Note that *all* values must be given for each per-tenant configuration block. Refer to [Runtime overrides](https://grafana.com/docs/tempo/latest/configuration/#runtime-overrides) documentation for more details. |
| prometheusRule.annotations | object | `{}` | PrometheusRule annotations |
| prometheusRule.enabled | bool | `false` | If enabled, a PrometheusRule resource for Prometheus Operator is created |
| prometheusRule.groups | list | `[]` | Contents of Prometheus rules file |
Expand Down Expand Up @@ -993,8 +995,6 @@ config: |
abort_if_cluster_join_fails: false
join_members:
- {{ include "tempo.fullname" . }}-memberlist
overrides:
per_tenant_override_config: /runtime-config/overrides.yaml
server:
http_listen_port: 3100
storage:
Expand Down
4 changes: 2 additions & 2 deletions charts/tempo-distributed/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ To install the chart with the release name `my-release`:
helm install my-release grafana/tempo-distributed
```

Refer to the [Get started with Grafana Tempo using the Helm chart](https://grafana.com/docs/helm-charts/tempo-distributed/next/get-started-helm-charts/) documentation for more details.

## Uninstalling the Chart

To uninstall/delete the my-release deployment:
Expand Down Expand Up @@ -330,8 +332,6 @@ config: |
abort_if_cluster_join_fails: false
join_members:
- {{"{{"}} include "tempo.fullname" . {{"}}"}}-memberlist
overrides:
per_tenant_override_config: /runtime-config/overrides.yaml
server:
http_listen_port: 3100
storage:
Expand Down
14 changes: 7 additions & 7 deletions charts/tempo-distributed/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -403,18 +403,18 @@ metricsGenerator:
external_labels: {}
stale_duration: 15m
processor:
# -- For processors to be enabled and generate metrics, pass the names of the processors to overrides.metrics_generator_processors value like [service-graphs, span-metrics]
# -- For processors to be enabled and generate metrics, pass the names of the processors to `global_overrides.defaults.metrics_generator_processors` value like `[service-graphs, span-metrics]`.
service_graphs:
# -- Additional dimensions to add to the metrics. Dimensions are searched for in the
# -- resource and span attributes and are added to the metrics if present.
# -- Additional dimensions to add to the metrics along with the default dimensions.
# -- The resource and span attributes to be added to the service graph metrics, if present.
dimensions: []
histogram_buckets: [0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 12.8]
max_items: 10000
wait: 10s
workers: 10
span_metrics:
# -- Additional dimensions to add to the metrics along with the default dimensions.
# -- Dimensions are searched for in the resource and span attributes and are added to the metrics if present.
# -- The resource and span attributes to be added to the span metrics, if present.
dimensions: []
histogram_buckets: [0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.02, 2.05, 4.10]
storage:
Expand Down Expand Up @@ -1523,11 +1523,11 @@ storage:
# -- The supported storage backends are gcs, s3 and azure, as specified in https://grafana.com/docs/enterprise-traces/latest/configure/reference/#admin_client_config
backend: filesystem

# Global overrides
# -- The standard overrides configuration section. This can include a `defaults` object for applying to all tenants (not to be confused with the `global` property of the same name, which overrides `max_byte_per_trace` for all tenants). For an example on how to enable the metrics generator using the `global_overrides` object, see the 'Activate metrics generator' section below. Refer to [Standard overrides](https://grafana.com/docs/tempo/latest/configuration/#standard-overrides) for more details.
global_overrides:
per_tenant_override_config: /runtime-config/overrides.yaml

# Per tenants overrides
# -- The runtime overrides to write to the `per_tenant_override_config` file for Tempo (see `global_overrides` and the `per_tenant_override_config` property). This allows overriding the `ingestion` and `global` values on a per-tenant basis. Note that *all* values must be given for each per-tenant configuration block. Refer to [Runtime overrides](https://grafana.com/docs/tempo/latest/configuration/#runtime-overrides) documentation for more details.
overrides: {}

# memcached is for all of the Tempo pieces to coordinate with each other.
Expand All @@ -1543,7 +1543,7 @@ memcached:
# -- Memcached Docker image repository
repository: memcached
# -- Memcached Docker image tag
tag: 1.6.29-alpine
tag: 1.6.33-alpine
# -- Memcached Docker image pull policy
pullPolicy: IfNotPresent
host: memcached
Expand Down
2 changes: 1 addition & 1 deletion charts/tempo/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: tempo
description: Grafana Tempo Single Binary Mode
type: application
version: 1.14.0
version: 1.15.0
appVersion: 2.6.1
engine: gotpl
home: https://grafana.net
Expand Down
2 changes: 1 addition & 1 deletion charts/tempo/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tempo

![Version: 1.14.0](https://img.shields.io/badge/Version-1.14.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.1](https://img.shields.io/badge/AppVersion-2.6.1-informational?style=flat-square)
![Version: 1.15.0](https://img.shields.io/badge/Version-1.15.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.1](https://img.shields.io/badge/AppVersion-2.6.1-informational?style=flat-square)

Grafana Tempo Single Binary Mode

Expand Down
4 changes: 4 additions & 0 deletions charts/tempo/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ spec:
name: otlp-http
- containerPort: 55678
name: opencensus
livenessProbe:
{{- toYaml .Values.tempo.livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .Values.tempo.readinessProbe | nindent 12 }}
resources:
{{- toYaml .Values.tempo.resources | nindent 10 }}
{{- with .Values.tempo.securityContext }}
Expand Down
19 changes: 19 additions & 0 deletions charts/tempo/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,25 @@ tempo:
server:
# -- HTTP server listen port
http_listen_port: 3100
#Readiness and Liveness Probe Configuration Options
livenessProbe:
httpGet:
path: /ready
port: 3100
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
successThreshold: 1
readinessProbe:
httpGet:
path: /ready
port: 3100
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
successThreshold: 1
storage:
trace:
# tempo storage backend
Expand Down