{"id":13582182,"url":"https://github.com/doublemarket/grafana-rrd-server","last_synced_at":"2025-10-29T21:15:24.163Z","repository":{"id":50261541,"uuid":"78623597","full_name":"doublemarket/grafana-rrd-server","owner":"doublemarket","description":"A HTTP server that helps Grafana read RRD files via Grafana Simple JSON Datasource plugin","archived":false,"fork":false,"pushed_at":"2023-11-03T12:57:03.000Z","size":182,"stargazers_count":154,"open_issues_count":24,"forks_count":38,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-12-10T00:42:15.554Z","etag":null,"topics":["go","grafana","rrdtool"],"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/doublemarket.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":"2017-01-11T09:30:23.000Z","updated_at":"2024-12-04T12:30:59.000Z","dependencies_parsed_at":"2024-06-20T11:14:09.912Z","dependency_job_id":"ac3ab6ac-e84c-4f4f-aae2-7df4bac81865","html_url":"https://github.com/doublemarket/grafana-rrd-server","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublemarket%2Fgrafana-rrd-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublemarket%2Fgrafana-rrd-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublemarket%2Fgrafana-rrd-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublemarket%2Fgrafana-rrd-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doublemarket","download_url":"https://codeload.github.com/doublemarket/grafana-rrd-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230438185,"owners_count":18225870,"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","grafana","rrdtool"],"created_at":"2024-08-01T15:02:28.624Z","updated_at":"2025-10-29T21:15:24.081Z","avatar_url":"https://github.com/doublemarket.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Grafana RRD Server\n\nA simple HTTP server that reads RRD files and responds to requests from Grafana with [Grafana Simple JSON Datasource plugin](https://grafana.net/plugins/grafana-simple-json-datasource).\n\n[![CircleCI](https://img.shields.io/circleci/project/github/doublemarket/grafana-rrd-server.svg)](https://circleci.com/gh/doublemarket/grafana-rrd-server)\n[![Coveralls](https://img.shields.io/coveralls/doublemarket/grafana-rrd-server.svg)](https://coveralls.io/github/doublemarket/grafana-rrd-server)\n[![GitHub release](https://img.shields.io/github/release/doublemarket/grafana-rrd-server.svg)](https://github.com/doublemarket/grafana-rrd-server/releases)\n\nThis server supports all endpoints (urls) defined in the [Grafana Simple JSON Datasource plugin documentation](https://grafana.net/plugins/grafana-simple-json-datasource) but:\n\n- You can use `*` as a wildcard in the `target` values (but not for `ds`) for the `/query` endpoint.\n\n# Requirement\n\n- librrd-dev (rrdtool)\n- Go\n- Grafana 3.0 and newer + Simple JSON Datasource plugin 1.0.0 and newer\n\n# Usage\n\n1. Install librrd-dev (rrdtool).\n\n   On Ubuntu/Debian:\n\n   ```\n   sudo apt install librrd-dev\n   ```\n\n   On CentOS:\n\n   ```\n   sudo yum install rrdtool-devel\n   ```\n\n   On openSUSE\n   ```\n   sudo zypper in rrdtool-devel\n   ```\n\n   On Mac:\n\n   ```\n   brew install rrdtool\n   ```\n\n2. Get the package.\n\n   ```\n   go get github.com/doublemarket/grafana-rrd-server\n   ```\n\n   Otherwise, download [the latest release](https://github.com/doublemarket/grafana-rrd-server/releases/latest), gunzip it, and put the file in a directory included in `$PATH`:\n\n   ```\n   gunzip grafana-rrd-server_linux_amd64.gz\n   ```\n\n3. Run the server.\n\n   ```\n   grafana-rrd-server\n   ```\n\n   You can use the following options:\n\n   - `-h` : Shows help messages.\n   - `-p` : Specifies server port. (default: 9000)\n   - `-i` : Specifies server listen address. (default: any)\n   - `-r` : Specifies a directory path keeping RRD files. (default: \"./sample/\")\n     - The server recursively searches RRD files under the directory and returns a list of them for the `/search` endpoint.\n   - `-a` : Specifies the annotations file. It should be a CSV file which has a title line at the top like [the sample file](https://github.com/doublemarket/grafana-rrd-server/tree/master/sample/annotations.csv).\n   - `-s` : Default graph step in second. (default: 10)\n     - You can see the step for your RRD file using:\n       ```\n       $ rrdtool info [rrd file] | grep step\n       step = 300\n       ```\n\n4. Optionally set up systemd unit:\n\n```\nuseradd grafanarrd\ncat \u003e /etc/systemd/system/grafana-rrd-server.service \u003c\u003cEOF\n[Unit]\nDescription=Grafana RRD Server\nAfter=network.service\n\n[Service]\nUser=grafanarrd\nGroup=grafanarrd\nRestart=on-failure\nEnvironment=\"LD_LIBRARY_PATH=/opt/rrdtool-1.6/lib\"\nExecStart=/opt/grafana-rrd-server/grafana-rrd-server -p 9000 -r /path/to/rrds -s 300\nRestartSec=10s\n\n[Install]\nWantedBy=default.target\nEOF\n\nsystemctl daemon-reload\nsystemctl enable grafana-rrd-server\nsystemctl start grafana-rrd-server\n```\n\n5. Setup Grafana and Simple JSON Datastore plugin.\n\n   See [Grafana documentation](http://docs.grafana.org/)\n\n6. Create datasource.\n\n# Contributing\n\n1. Install librrd-dev (rrdtool).\n\n   See the Usage section.\n\n2. Clone the repository.\n\n3. Commit your code on a separate branch.\n\n4. Create a pull request.\n\n# License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoublemarket%2Fgrafana-rrd-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoublemarket%2Fgrafana-rrd-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoublemarket%2Fgrafana-rrd-server/lists"}