{"id":13713680,"url":"https://github.com/oliver006/rethinkdb_exporter","last_synced_at":"2025-04-09T15:08:27.432Z","repository":{"id":30630885,"uuid":"34186364","full_name":"oliver006/rethinkdb_exporter","owner":"oliver006","description":"Prometheus exporter for RethinkDB cluster and table metrics. Supports RethinkDB 2.x","archived":false,"fork":false,"pushed_at":"2023-10-12T15:22:22.000Z","size":1657,"stargazers_count":43,"open_issues_count":0,"forks_count":22,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T15:08:21.772Z","etag":null,"topics":["go","metrics","prometheus","prometheus-exporter","rethinkdb","rethinkdb-cluster","rethinkdb-exporter"],"latest_commit_sha":null,"homepage":"","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/oliver006.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":"2015-04-18T23:11:34.000Z","updated_at":"2023-05-22T09:04:35.000Z","dependencies_parsed_at":"2023-10-13T04:49:25.335Z","dependency_job_id":null,"html_url":"https://github.com/oliver006/rethinkdb_exporter","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliver006%2Frethinkdb_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliver006%2Frethinkdb_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliver006%2Frethinkdb_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliver006%2Frethinkdb_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oliver006","download_url":"https://codeload.github.com/oliver006/rethinkdb_exporter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055283,"owners_count":21040157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["go","metrics","prometheus","prometheus-exporter","rethinkdb","rethinkdb-cluster","rethinkdb-exporter"],"created_at":"2024-08-02T23:01:42.036Z","updated_at":"2025-04-09T15:08:27.407Z","avatar_url":"https://github.com/oliver006.png","language":"Go","readme":"# RethinkDB Prometheus Metrics Exporter\n\n[![Build Status](https://cloud.drone.io/api/badges/oliver006/rethinkdb_exporter/status.svg)](https://cloud.drone.io/oliver006/rethinkdb_exporter)\n [![Coverage Status](https://coveralls.io/repos/github/oliver006/rethinkdb_exporter/badge.svg?branch=master)](https://coveralls.io/github/oliver006/rethinkdb_exporter?branch=master)\n\nPrometheus exporter for RethinkDB cluster, server and table metrics.\u003cbr\u003e\nSupports RethinkDB 2.x\n\n## Building and running\n\nLocally build and run:\n\n```\n    $ git clone https://github.com/oliver006/rethinkdb_exporter.git\n    $ cd rethinkdb_exporter\n    $ go build\n    $ ./rethinkdb_exporter \u003cflags\u003e\n```\n\nOr via docker:\n\n```\n    $ docker pull oliver006/rethinkdb_exporter\n    $ docker run -d --name rethinkdb_exporter -p 9123:9123 oliver006/rethinkdb_exporter\n```\n\n\n## Deploying\n\nA [Helm](https://helm.sh/) chart is included under `helm/` for installing the rethinkdb_exporter on Kubernetes clusters.  You'll need one of these per RethinkDB cluster you run.\n\nInstalling it is as simple as:\n\n```\n$ cd helm/rethinkdb-exporter\n$ helm install \\\n    --name=rethinkdb-exporter-for-clustername  \\\n    --set=rethinkdb_exporter.dbaddr=my-rethinkdb-server:28015  \\\n    --set=rethinkdb_exporter.dbpass=mypassword  \\\n    --set=rethinkdb_exporter.clustername=myclustername  \\\n    .\n```\n\n\n### Flags\n\nName               | Description\n-------------------|------------\ndb.addr            | Address of one or more nodes of the cluster, comma separated.\ndb.auth            | Auth key of the RethinkDB cluster (for versions \u003c 2.3)\ndb.user            | Username for RethinkDB connection (for versions \u003e= 2.3) (must be `admin` if used; see below)\ndb.pass            | Password for RethinkDB connection (for versions \u003e= 2.3)\ndb.count-rows      | Count rows per table, turn off if you experience perf. issues with large tables\ndb.table-stats     | Get stats for all tables.\nclustername        | Name of the cluster, if set it's added as a label to the metrics.\nnamespace          | Namespace for the metrics, defaults to \"rethinkdb\".\nweb.listen-address | Address to listen on for web interface and telemetry, default `:9123`\nweb.telemetry-path | Path under which to expose metrics.\n\n\n### What's exported?\n\nAll entries from the `stats` table of the internal database `rethinkdb` are exported,\nsee http://rethinkdb.com/docs/system-stats/ for details.\u003cbr\u003e\nIn addition, for every table there is a gauge with the number of items of said table.\u003cbr\u003e \nMetric name is `rethinkdb_table_items_total{db=\"...\",table=\"...\"}`\nThere are also total counters for numer of servers, tables and replicas as well as number of \nerrors returned from the `stats` table.\u003cbr\u003e\nMetric names are `rethinkdb_cluster_[servers|server_errors|tables|replicas]_total`\n\n\n### What does it look like?\n[Grafana](https://github.com/grafana) dashboard is available [here](https://grafana.com/grafana/dashboards/5043-rethinkdb/):\u003cbr\u003e\n![rethink_exporter_dashboard](https://grafana.com/api/dashboards/5043/images/3108/image)\n\n\n### v2.3+ Auth\n\nIn v2.3 RethinkDB [moved](https://www.compose.com/articles/using-rethinkdb-2-3s-user-authentication/) to a username/password authentication system.  For compatibility with this use the `--db.user` and `--db.pass` options.\n\nIt would be good to use a dedicated read-only user for this but the RethinkDB [docs](https://rethinkdb.com/docs/system-stats/) say \"the jobs table can only be accessed by the admin user account\".  Thus you'll have to use `--db.user=admin`. \n\n\n### What else?\n\nThings that can/should be added\n- status metrics per shard \n- ...\n\nOpen an issue or PR if you have more suggestions or ideas about what to add.\n","funding_links":[],"categories":["Repositories"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliver006%2Frethinkdb_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foliver006%2Frethinkdb_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliver006%2Frethinkdb_exporter/lists"}