{"id":22675533,"url":"https://github.com/chamilad/kibana-prometheus-exporter","last_synced_at":"2026-01-12T00:00:26.686Z","repository":{"id":46314280,"uuid":"245779424","full_name":"chamilad/kibana-prometheus-exporter","owner":"chamilad","description":"Prometheus Exporter for Kibana","archived":false,"fork":false,"pushed_at":"2023-06-18T07:00:45.000Z","size":328,"stargazers_count":10,"open_issues_count":4,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-06T17:54:24.238Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chamilad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2020-03-08T08:38:38.000Z","updated_at":"2025-05-28T02:57:02.000Z","dependencies_parsed_at":"2024-06-19T02:42:21.644Z","dependency_job_id":"9a882beb-60d7-4798-9c92-86f82c50a61e","html_url":"https://github.com/chamilad/kibana-prometheus-exporter","commit_stats":{"total_commits":71,"total_committers":5,"mean_commits":14.2,"dds":0.2535211267605634,"last_synced_commit":"df0ed073981a5fb4394948d663ed42300c9f8f27"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/chamilad/kibana-prometheus-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilad%2Fkibana-prometheus-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilad%2Fkibana-prometheus-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilad%2Fkibana-prometheus-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilad%2Fkibana-prometheus-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chamilad","download_url":"https://codeload.github.com/chamilad/kibana-prometheus-exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilad%2Fkibana-prometheus-exporter/sbom","scorecard":{"id":273331,"data":{"date":"2025-08-11","repo":{"name":"github.com/chamilad/kibana-prometheus-exporter","commit":"df0ed073981a5fb4394948d663ed42300c9f8f27"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/19 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-on-tag.yml:111","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-on-tag.yml:149","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-on-tag.yml:215","Info: jobLevel 'actions' permission set to 'read': .github/workflows/release-on-tag.yml:216","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-on-tag.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-on-tag.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-on-tag.yml:52","Warn: no topLevel permission defined: .github/workflows/lint-on-push.yml:1","Warn: no topLevel permission defined: .github/workflows/release-on-tag.yml:1","Warn: no topLevel permission defined: .github/workflows/test-on-merge.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":4,"reason":"3 out of the last 5 releases have a total of 3 signed artifacts.","details":["Info: signed release artifact: kibana_exporter-v8.7.x.2-linux-amd64.sig: https://github.com/chamilad/kibana-prometheus-exporter/releases/tag/v8.7.x.2","Info: signed release artifact: kibana_exporter-v8.7.x.1-linux-amd64.sig: https://github.com/chamilad/kibana-prometheus-exporter/releases/tag/v8.7.x.1","Info: signed release artifact: kibana_exporter-v8.5.x.1-linux-amd64.sig: https://github.com/chamilad/kibana-prometheus-exporter/releases/tag/v8.5.x.1","Warn: release artifact v7.10.x.1 not signed: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/42474080","Warn: release artifact v7.5.x.2 not signed: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/33103085","Warn: release artifact v8.7.x.2 does not have provenance: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/108997771","Warn: release artifact v8.7.x.1 does not have provenance: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/99814490","Warn: release artifact v8.5.x.1 does not have provenance: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/99700130","Warn: release artifact v7.10.x.1 does not have provenance: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/42474080","Warn: release artifact v7.5.x.2 does not have provenance: https://api.github.com/repos/chamilad/kibana-prometheus-exporter/releases/33103085"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint-on-push.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/lint-on-push.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:96: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:132: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:138: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:236: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:241: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-on-tag.yml:253: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/release-on-tag.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-on-merge.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/test-on-merge.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-on-merge.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/chamilad/kibana-prometheus-exporter/test-on-merge.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating quay.io/prometheus/busybox:latest to quay.io/prometheus/busybox:latest@sha256:dfa54ef35e438b9e71ac5549159074576b6382f95ce1a434088e05fd6b730bc4","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   6 third-party GitHubAction dependencies pinned","Info:   3 out of   3 goCommand dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-2611 / GHSA-8r3f-844c-mc37"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T13:54:11.078Z","repository_id":46314280,"created_at":"2025-08-17T13:54:11.079Z","updated_at":"2025-08-17T13:54:11.079Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28328632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T22:11:01.104Z","status":"ssl_error","status_checked_at":"2026-01-11T22:10:58.990Z","response_time":60,"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":["hacktoberfest"],"created_at":"2024-12-09T17:45:54.151Z","updated_at":"2026-01-12T00:00:26.499Z","avatar_url":"https://github.com/chamilad.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prometheus Exporter for Kibana (7.\\*., 8.\\*)\n\n1. [Usage](#usage)\n   1. [Docker](#docker)\n   2. [Kubernetes](#kubernetes)\n      1. [Helm Chart](#helm-chart)\n2. [Metrics](#metrics)\n3. [TODO](#todo)\n4. [Contributing](#contributing)\n5. [License](#license)\n\nA standalone Prometheus exporter for Kibana metrics inspired by the [Kibana Prometheus Exporter Plugin](https://github.com/pjhampton/kibana-prometheus-exporter/).\n\nThis makes use of the `/api/status` endpoint to gather and convert metrics to the Prometheus OpenMetrics format.\n\n![](img/metrics-output.png)\n![](img/dashboard.png)\n\n## Usage\n\n\u003e **NOTE**: Currently tested against below Kibana versions only. Checkout\n\u003e releases and Docker images for support for other Kibana versions.\n\u003e\n\u003e 1. 8.5\n\u003e 1. 8.7\n\u003e\n\u003e Please open an issue if you see errors or missing metrics with the Kibana version you're using.\n\u003e\n\u003e Match the Kibana version with the release tag (ex: release `v7.5.x.2` will work with Kibana `7.5.x` versions. It's possible it will continue to work for a few more minor releases, but this depends on what Elastic decides to do with the idea of semantic versioning)\n\u003e\n\u003e First 3 sections of the release tag represents the Kibana version compatibility, while the last section indicates patching increments.\n\u003e Older releases will work with the corresponding Kibana versions, however some\n\u003e newer features such as the `/healthz` endpoint will not be backported to\n\u003e them, at least initially. Please open an issue if you are working with an older Kibana version\n\u003e but still needs them updated.\n\n```bash\n# expose metrics from the local Kibana instance using the provided username and password\nkibana-exporter -kibana.uri http://localhost:5601 -kibana.username elastic -kibana.password password\n```\n\nBy default, the Exporter exposes the `/metrics` endpoint at port `9684`. If needed this port (and the endpoint) can be overridden.\n\n```bash\n# expose the /metrics endpoint at port 8080\nkibana-exporter -kibana.uri http://localhost:5601 -web.listen-address :8080\n```\n\n```bash\n# expose metrics using /scrape endpint\nkibana-exporter -kibana.uri http://localhost:5601 -web.telemetry-path \"/scrape\"\n```\n\n```bash\n# skip TLS verification for self-signed Kibana certificates\nkibana-exporter -kibana.uri https://kibana.local:5601 -kibana.skip-tls true\n```\n\n### Flags\n\n```\n  -debug\n        Output verbose details during metrics collection, use for development only\n  -kibana.password string\n        The password to use for Kibana API\n  -kibana.skip-tls\n        Skip TLS verification for TLS secured Kibana URLs\n  -kibana.uri string\n        The Kibana API to fetch metrics from\n  -kibana.username string\n        The username to use for Kibana API\n  -wait\n        Wait for Kibana to be responsive before starting, setting this to false would cause the exporter to error out instead of waiting\n  -web.listen-address string\n        The address to listen on for HTTP requests. (default \":9684\")\n  -web.telemetry-path string\n        The address to listen on for HTTP requests. (default \"/metrics\")\n\n```\n\n### Docker\n\nThe Docker Image `chamilad/kibana-prometheus-exporter` can be used directly to run the exporter in a Dockerized environment. The Container filesystem only contains the statically linked binary, so that it can be run independently.\n\n```bash\ndocker run -p 9684:9684 -it chamilad/kibana-prometheus-exporter:v7.10.x.2 -kibana.username elastic -kibana.password password -kibana.uri https://elasticcloud.kibana.aws.found.io\n```\n\nRefer to the [Makefile](Makefile) and the [Dockerfile](Dockerfile) for more details.\n\n### Kubernetes\n\nRefer the artifacts in [`k8s`](k8s) directory. There is a Deployment and a Service that exposes the Deployment.\n\n```bash\nkubectl apply -f k8s/kibana-prometheus-exporter.yaml\n```\n\n```bash\n$  kubectl get all -l app=kibana-prometheus-exporter\n  NAME                                             READY   STATUS    RESTARTS   AGE\n  pod/kibana-prometheus-exporter-b8c888bcd-66kvx   1/1     Running   0          16s\n\n  NAME                                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE\n  service/kibana-prometheus-exporter   ClusterIP   10.96.252.18   \u003cnone\u003e        9684/TCP   16s\n\n  NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE\n  deployment.apps/kibana-prometheus-exporter   1/1     1            1           16s\n\n  NAME                                                   DESIRED   CURRENT   READY   AGE\n  replicaset.apps/kibana-prometheus-exporter-b8c888bcd   1         1         1       16s\n```\n\nWith these artifacts deployed, the following Prometheus scrape configuration can be used to scrape the metrics.\n\n```yaml\n- job_name: \"kibana\"\n  scrape_interval: 1m\n  metrics_path: \"/metrics\"\n  kubernetes_sd_configs:\n    - role: service\n  relabel_configs:\n    - source_labels: [__meta_kubernetes_service_label_app]\n      regex: \"kibana-exporter\"\n      action: keep\n    - source_labels: [__meta_kubernetes_namespace]\n      action: replace\n      target_label: kubernetes_namespace\n    - source_labels:\n        [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]\n      target_label: __address__\n      regex: ([^:]+)(?::\\d+)?;(\\d+)\n      replacement: $1:$2\n```\n\n##### Things to note about the Prometheus Scrape Config\n\n1. The `scrape_interval` for the job is kept to once per minute. This is to reduce the load on the ElasticSearch cluster, by frequent API calls.\n2. The port to connect is detected through a K8s Service annotation, `prometheus.io/port`.\n3. The metrics will end up with the label `job: kibana`\n\n#### `/healthz` Endpoint\n\nA simple `GET /healthz` endpoint has been provided to be used for health checks\nand liveness probes in environments like K8s.\n\n#### Helm Chart\n\n@pavdmyt has [developed a Helm chart](https://github.com/chamilad/kibana-prometheus-exporter/issues/4) that can be successfully used to deploy the Kibana Exporter on a K8s cluster available at [AnchorFree](https://github.com/AnchorFree/helm-charts/tree/master/stable/kibana-exporter). To use the chart, simply add the Helm repository and install the chart as follows.\n\n```bash\n$ helm repo add afcharts https://anchorfree.github.io/helm-charts\n$ helm repo update\n$ helm install \u003crelease-name\u003e afcharts/kibana-exporter\n```\n\n## Metrics\n\nThe metrics exposed by this Exporter are the following.\n\n| Metric                              | Description                                     | Type  |\n| ----------------------------------- | ----------------------------------------------- | ----- |\n| `kibana_status`                     | Kibana overall status                           | Gauge |\n| `kibana_core_es_status`             | Kibana Elasticsearch status                     | Gauge |\n| `kibana_core_savedobjects_status`   | Kibana SavedObjects service status              | Gauge |\n| `kibana_concurrent_connections`     | Kibana Concurrent Connections                   | Gauge |\n| `kibana_millis_uptime`              | Kibana uptime in milliseconds                   | Gauge |\n| `kibana_heap_max_in_bytes`          | Kibana Heap maximum in bytes                    | Gauge |\n| `kibana_heap_used_in_bytes`         | Kibana Heap usage in bytes                      | Gauge |\n| `kibana_resident_set_size_in_bytes` | Kibana Resident Set Size in bytes               | Gauge |\n| `kibana_os_load_1m`                 | Kibana load average 1m                          | Gauge |\n| `kibana_os_load_5m`                 | Kibana load average 5m                          | Gauge |\n| `kibana_os_load_15m`                | Kibana load average 15m                         | Gauge |\n| `kibana_os_memory_max_in_bytes`     | Kibana OS memory total                          | Gauge |\n| `kibana_os_memory_used_in_bytes`    | Kibana OS memory used                           | Gauge |\n| `kibana_event_loop_delay`           | Kibana NodeJS Event Loop Delay in Milli Seconds | Gauge |\n| `kibana_response_average`           | Kibana average response time in milliseconds    | Gauge |\n| `kibana_response_max`               | Kibana maximum response time in milliseconds    | Gauge |\n| `kibana_requests_disconnects`       | Kibana request disconnections count             | Gauge |\n| `kibana_requests_total`             | Kibana total request count                      | Gauge |\n\n## Grafana Dashboard\n\nA simple starter dashboard `json` file is included in the repository for\nGrafana. This can be used as a starting place to customise for own needs.\n\n## Binary and Image Verification\n\nThe binary and the Docker images are signed with [Sigstore Cosign](https://docs.sigstore.dev/main-concepts/). The public key\nis available in the release artefacts as `cosign-\u003crelease_tag\u003e.pub`.\n\n[Install `cosign`](https://docs.sigstore.dev/cosign/installation/) and use the following commands on Linux to verify the binaries and the images.\n\n\u003e Replace `\u003crelease_tag\u003e`, `\u003cbinary\u003e`, and `\u003cimage\u003e` values as necessary. Each\n\u003e release note will have release specific commands.\n\n```bash\n# download the binary, signature, and the public key\nwget https://github.com/chamilad/kibana-prometheus-exporter/releases/download/\u003crelease_tag\u003e/\u003cbinary\u003e\nwget https://github.com/chamilad/kibana-prometheus-exporter/releases/download/\u003crelease_tag\u003e/\u003cbinary\u003e.sig\nwget https://github.com/chamilad/kibana-prometheus-exporter/releases/download/\u003crelease_tag\u003e/cosign-\u003crelease_tag\u003e.pub\n\n# verify the images and the binary\ncosign verify --key cosign-\u003crelease_tag\u003e.pub chamilad/\u003cimage\u003e:\u003crelease_tag\u003e\ncosign verify --key cosign-\u003crelease_tag\u003e.pub ghcr.io/chamilad/\u003cimage\u003e:\u003crelease_tag\u003e\ncosign verify-blob --key cosign-\u003crelease_tag\u003e.pub --signature \u003cbinary\u003e.sig \u003cbinary\u003e\n```\n\nAdditionally, a Software Bill of Materials (SBOM), in both SPDX and JSON formats are\nattached to the artefacts in each release.\n\n## TODO\n\n1. Test other versions and edge cases more\n2. Come up with a way to keep up with Kibana API changes\n3. Add more metrics related to the scrape job itself\n4. Add a Grafana dashboards with (Prometheus) alerts\n\n## Contributing\n\nMore metrics, useful tweaks, samples, bug fixes, and any other form of contributions are welcome. Please fork, modify, and open a PR. Please open a GitHub issue for observed bugs or feature requests. I will try to attend to them when possible.\n\nI haven't figured out testing unfortunately, once I have it'll be easier to test changes. Until then, start up basic Elastic and Kibana instances if you're testing dev changes.\n\n## License\n\nThe contents of this repository are licensed under Apache V2 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchamilad%2Fkibana-prometheus-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchamilad%2Fkibana-prometheus-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchamilad%2Fkibana-prometheus-exporter/lists"}