{"id":25050656,"url":"https://github.com/steadybit/extension-prometheus","last_synced_at":"2026-03-10T09:06:41.559Z","repository":{"id":65183714,"uuid":"527962567","full_name":"steadybit/extension-prometheus","owner":"steadybit","description":"A Steadybit check implementation to gather and verify the result PromQL queries.","archived":false,"fork":false,"pushed_at":"2026-02-09T17:49:08.000Z","size":1131,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-09T19:48:20.782Z","etag":null,"topics":["chaos-engineering","chaos-testing","kubernetes","monitoring","prometheus","promql"],"latest_commit_sha":null,"homepage":"https://hub.steadybit.com/extension/com.steadybit.extension_prometheus","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steadybit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-23T11:38:11.000Z","updated_at":"2026-02-09T17:49:13.000Z","dependencies_parsed_at":"2023-10-23T21:35:03.283Z","dependency_job_id":"39aacdf4-8cba-4b5a-8e3a-87fa1489bb21","html_url":"https://github.com/steadybit/extension-prometheus","commit_stats":{"total_commits":22,"total_committers":2,"mean_commits":11.0,"dds":"0.31818181818181823","last_synced_commit":"3fedf9e692811cfdb3f69f62fb8fa45ef07de03c"},"previous_names":[],"tags_count":79,"template":false,"template_full_name":null,"purl":"pkg:github/steadybit/extension-prometheus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-prometheus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-prometheus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-prometheus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-prometheus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steadybit","download_url":"https://codeload.github.com/steadybit/extension-prometheus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-prometheus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29333155,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T12:42:24.625Z","status":"ssl_error","status_checked_at":"2026-02-11T12:41:23.344Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chaos-engineering","chaos-testing","kubernetes","monitoring","prometheus","promql"],"created_at":"2025-02-06T09:17:15.475Z","updated_at":"2026-02-11T13:06:42.048Z","avatar_url":"https://github.com/steadybit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./logo.png\" height=\"130\" align=\"right\" alt=\"Prometheus logo depicting a fire next to the text 'Prometheus'\"\u003e\n\n# Steadybit extension-prometheus\n\nA [Steadybit](https://www.steadybit.com/) check implementation to gather Prometheus metrics within chaos engineering experiment executions. These can be used as checks within experiments, e.g., to implement pre- and post-conditions.\n\nLearn about the capabilities of this extension in our [Reliability Hub](https://hub.steadybit.com/extension/com.steadybit.extension_prometheus).\n\n## Configuration\n\n| Environment Variable                                         | Helm value                               | Meaning                                                                                                                                                                                                                              | Required |\n|--------------------------------------------------------------|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| `STEADYBIT_EXTENSION_PROMETHEUS_INSTANCE_\u003cn\u003e_NAME`           | `prometheus.name`                        | Name of the Prometheus instance                                                                                                                                                                                                      | yes      |\n| `STEADYBIT_EXTENSION_PROMETHEUS_INSTANCE_\u003cn\u003e_ORIGIN`         | `prometheus.origin`                      | Url of the Prometheus                                                                                                                                                                                                                | yes      |\n| `STEADYBIT_EXTENSION_PROMETHEUS_INSTANCE_\u003cn\u003e_HEADER_KEY`     | `prometheus.headerKey`                   | Optional header key to send to the Prometheus API. Typically used for authentication purposes.                                                                                                                                       | no       |\n| `STEADYBIT_EXTENSION_PROMETHEUS_INSTANCE_\u003cn\u003e_HEADER_VALUE`   | `prometheus.headerValue`                 | Optional header value to send to the Prometheus API. Typically used for authentication purposes.                                                                                                                                     | no       |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_INSTANCE` | `discovery.attributes.excludes.instance` | List of Target Attributes which will be excluded during discovery. Checked by key equality and supporting trailing \"*\"                                                                                                               | no       |\n| `STEADYBIT_EXTENSION_ENABLE_REQUEST_LOGGING`                 | via extraEnv variables                   | Set to `true`to enable detailed Request logging                                                                                                                                                                                      | no       |\n| `STEADYBIT_EXTENSION_ADDITIONAL_REQUEST_PARAMS`              | via extraEnv variables                   | Additional Request Parameters that will be added when metrics are fetched, key value pairs for example `latency_offset,1` when using [Victoria Metics](https://docs.victoriametrics.com/victoriametrics/keyconcepts/#query-latency). | no       |\n| `STEADYBIT_EXTENSION_QUERY_RETRIES`                          | via extraEnv variables                   | Retry Prometheus queries this many times.                                                                                                                                                                                            | no       |\n\nThe extension supports all environment variables provided by [steadybit/extension-kit](https://github.com/steadybit/extension-kit#environment-variables).\n\n## Installation\n\n### Kubernetes\n\nDetailed information about agent and extension installation in kubernetes can also be found in\nour [documentation](https://docs.steadybit.com/install-and-configure/install-agent/install-on-kubernetes).\n\n#### Recommended (via agent helm chart)\n\nAll extensions provide a helm chart that is also integrated in the\n[helm-chart](https://github.com/steadybit/helm-charts/tree/main/charts/steadybit-agent) of the agent.\n\nYou must provide additional values to activate this extension.\n\n```\n--set extension-prometheus.enabled=true \\\n--set extension-prometheus.prometheus.name=\"dev\" \\\n--set extension-prometheus.prometheus.origin=\"http://prometheus-server.default.svc.cluster.local\" \\\n```\n\nAdditional configuration options can be found in\nthe [helm-chart](https://github.com/steadybit/extension-prometheus/blob/main/charts/steadybit-extension-prometheus/values.yaml) of the\nextension.\n\n#### Alternative (via own helm chart)\n\nIf you need more control, you can install the extension via its\ndedicated [helm-chart](https://github.com/steadybit/extension-prometheus/blob/main/charts/steadybit-extension-prometheus).\n\n```bash\nhelm repo add steadybit-extension-prometheus https://steadybit.github.io/extension-prometheus\nhelm repo update\nhelm upgrade steadybit-extension-prometheus \\\n  --install \\\n  --wait \\\n  --timeout 5m0s \\\n  --create-namespace \\\n  --namespace steadybit-agent \\\n  --set prometheus.name=\"dev\" \\\n  --set prometheus.origin=\"http://prometheus-server.default.svc.cluster.local\" \\\n  steadybit-extension-prometheus/steadybit-extension-prometheus\n```\n\n### Openshift Prometheus behind Thanos\n\nTo be able to reach prometheus through thanos querier on prometheus, please allow the service account from the extension to fetch metrics:\n```bash\noc adm policy add-cluster-role-to-user cluster-monitoring-view -z steadybit-extension-prometheus -n steadybit-agent\n```\n\nThen you need to get a dedicate token for the extension, the rotation of the token is your responsability:\n```bash\noc create token steadybit-extension-prometheus --namespace steadybit-agent\n```\n\nYou can now pass the authorization token via helm values:\n```yaml\nprometheus:\n  headerKey: Authorization\n  headerValue: Bearer ${YOUR_GENERATED_TOKEN}\n```\n\nThis will create a kubernetes secret with header key and value, then use it for environment variable of the extension deployment.\n\n### Linux Package\n\nPlease use\nour [agent-linux.sh script](https://docs.steadybit.com/install-and-configure/install-agent/install-on-linux-hosts)\nto install the extension on your Linux machine. The script will download the latest version of the extension and install\nit using the package manager.\n\nAfter installing, configure the extension by editing `/etc/steadybit/extension-prometheus` and then restart the service.\n\n## Extension registration\n\nMake sure that the extension is registered with the agent. In most cases this is done automatically. Please refer to\nthe [documentation](https://docs.steadybit.com/install-and-configure/install-agent/extension-registration) for more\ninformation about extension registration and how to verify.\n\n## Version and Revision\n\nThe version and revision of the extension:\n- are printed during the startup of the extension\n- are added as a Docker label to the image\n- are available via the `version.txt`/`revision.txt` files in the root of the image\n\n### Importing your own certificates\n\nYou may want to import your own certificates. Mount a volume with the certificates and reference it in `extraVolumeMounts` and `extraVolumes` in the helm chart.\n\nThis example uses a config map to store the `*.crt`-files in a configmap:\n\n```shell\nkubectl create configmap -n steadybit-agent prometheus-self-signed-ca --from-file=./self-signed-ca.crt\n```\n\n\n```yaml\nextraVolumeMounts:\n\t- name: extra-certs\n\t\tmountPath: /etc/ssl/extra-certs\n\t\treadOnly: true\nextraVolumes:\n\t- name: extra-certs\n\t\tconfigMap:\n\t\t\tname: prometheus-self-signed-ca\nextraEnv:\n\t- name: SSL_CERT_DIR\n\t\tvalue: /etc/ssl/extra-certs:/etc/ssl/certs\n```\n\n## FAQ\n\n#### I don't see metrics from my VictoriaMetrics instance\n\nBy [default](https://docs.victoriametrics.com/victoriametrics/keyconcepts/#query-latency), Victoria Metrics does not immediately return the recently written samples. You can set the `latency_offset` parameter to `1` to disable this behavior. This can be done by setting the environment variable `STEADYBIT_EXTENSION_ADDITIONAL_REQUEST_PARAMS` to `latency_offset,1`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteadybit%2Fextension-prometheus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteadybit%2Fextension-prometheus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteadybit%2Fextension-prometheus/lists"}