{"id":20942834,"url":"https://github.com/go-graphite/carbonzipper","last_synced_at":"2025-04-05T07:06:38.013Z","repository":{"id":12093311,"uuid":"14681629","full_name":"go-graphite/carbonzipper","owner":"go-graphite","description":"proxy to transparently merge graphite carbon backends","archived":false,"fork":false,"pushed_at":"2019-12-11T14:09:45.000Z","size":27396,"stargazers_count":102,"open_issues_count":11,"forks_count":29,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-29T06:07:48.468Z","etag":null,"topics":["carbon","carbonapi","carbonzipper","go","graphite-web","protobuf"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-graphite.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-25T09:39:36.000Z","updated_at":"2024-12-24T13:41:52.000Z","dependencies_parsed_at":"2022-09-26T20:40:58.642Z","dependency_job_id":null,"html_url":"https://github.com/go-graphite/carbonzipper","commit_stats":null,"previous_names":["dgryski/carbonzipper"],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-graphite%2Fcarbonzipper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-graphite%2Fcarbonzipper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-graphite%2Fcarbonzipper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-graphite%2Fcarbonzipper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-graphite","download_url":"https://codeload.github.com/go-graphite/carbonzipper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299832,"owners_count":20916190,"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":["carbon","carbonapi","carbonzipper","go","graphite-web","protobuf"],"created_at":"2024-11-18T23:30:58.998Z","updated_at":"2025-04-05T07:06:37.997Z","avatar_url":"https://github.com/go-graphite.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"carbonzipper: carbonserver proxy for graphite-web\n=================================================\n\n**DEPRECATED** carbonzipper was fully merged with carbonapi and all new fixes, etc are now buildable from [carbonapi/cmd/carbonzipper](https://github.com/go-graphite/carbonapi/tree/master/cmd/carbonzipper). This repo is available for historical purposes, no future changes will be made to master branch. Minor bugfixes might still be commited to 0.x branch which represents carbonzipper state at version 0.74.\n\n[![Build Status](https://travis-ci.org/go-graphite/carbonzipper.svg?branch=master)](https://travis-ci.org/go-graphite/carbonzipper)\n\nWe are using \u003ca href=\"https://packagecloud.io/\"\u003e\u003cimg alt=\"Private Maven, RPM, DEB, PyPi and RubyGem Repository | packagecloud\" height=\"46\" src=\"https://packagecloud.io/images/packagecloud-badge.png\" width=\"158\" /\u003e\u003c/a\u003e to host our packages!\n\n**Please note** that since carbonapi 0.8 it's no longer needed to run separate carbonzipper. This repo still contains a buildable daemon, but it's mostly for compatibility reasons and for those who don't need carbonapi functionality.\n\nCarbonZipper is the central part of a replacement graphite storage stack.  It\nproxies requests from graphite-web to a cluster of carbon storage backends.\nPrevious versions (available in the git history) were able to talk to python\ncarbon stores, but the current version requires the use of\n[go-carbon](https://github.com/lomik/go-carbon) or [graphite-clickhouse](https://github.com/lomik/graphite-clickhouse).\n\n\nInstallation\n------------\n\nStable versions: [Stable repo](https://packagecloud.io/go-graphite/stable/install)\n\nAutobuilds (master, might be unstable): [Autobuild repo](https://packagecloud.io/go-graphite/autobuilds/install)\n\nGeneral information\n-------------------\nConfiguration is done via a YAML file loaded at startup.  The only required\nfield is the list of carbonserver backends to connect to.\n\nOther pieces of the stack are:\n   - [carbonapi](https://github.com/go-graphite/carbonapi)\n   - [carbonmem](https://github.com/go-graphite/carbonmem)\n   - [carbonsearch](https://github.com/kanatohodets/carbonsearch)\n\nFor an overview of the stack and how the pieces fit together, watch\n[Graphite@Scale or How to store millions metrics per second](https://fosdem.org/2017/schedule/event/graphite_at_scale/)\nfrom FOSDEM '17 or [Graphite@Scale or How to Store Millions of metrics per Second](https://www.usenix.org/conference/srecon17asia/program/presentation/smirnov) from SRECon17 Asia.\n\nRequirements\n------------\n\ncarbonzipper requires Go 1.8+ to build. It's recommended to always use latest stable.\n\nCarbonZipper uses protobuf-based protocol to talk with underlying storages. For current version the compatibility list is:\n\n1. [carbonzipper](https://github.com/go-graphite/carbonzipper) \u003e= 0.50\n2. [go-carbon](https://github.com/lomik/go-carbon) \u003e= 0.9.0 (Note: you need to enable carbonserver in go-carbon).\n3. [carbonserver](https://github.com/grobian/carbonserver)@master (Note: you should probably switch to go-carbon in that case).\n4. [graphite-clickhouse](https://github.com/lomik/graphite-clickhouse) any. That's alternative storage that doesn't use Whisper. Limitations: /info handler won't work properly.\n5. [carbonapi](https://github.com/go-graphite/carbonapi) \u003e= 0.5. Note: we are not sure if there is any point in running carbonzipper over carbonapi at this moment.\n\nChanges and versioning\n----------------------\n\nVersion policy - all the versions we run in production is taged.\n\nIn case change will require simultanious upgrade of different components, it will be stated in Upgrading notes below.\n\nAlso we will try to maintain backward compatibility from down to up.\n\nFor example with protobuf2 -\u003e protobuf3 migration - carbonzipper can still send results to older versions of carbonapi, but can't get results from older versions of carbonserver/go-carbon.\n\nSee [CHANGES.md](https://github.com/go-graphite/carbonzipper/blob/master/CHANGES.md)\n\nUpgrading to 0.60 from 0.50 or earlier\n--------------------------------------\n\nStarting from 0.60, carbonzipper will be able to talk **only** with storages compatible with **protobuf3**.\n\nAt this moment (0.60) it's only go-carbon, starting from commit ee2bc24 (post 0.9.1)\n\nCarbonzipper can still return results in protobuf and compatibility won't be removed at least until Summer 2017.\n\nIf you want to upgrade, the best option is to do follwing steps:\n\n1. Migrate to go-carbon post 0.9.1 release. (note: carbonserver isn't compatible with this version of zipper)\n2. Migrate to carbonsearch 0.16.0 (if you are using any)\n3. Upgrade carbonzipper to 0.60 or newer.\n4. Upgrade carbonapi to 0.6.0 (commit 119e346 or newer) (optional, but advised)\n\n\nAcknowledgement\n---------------\nThis program was originally developed for Booking.com.  With approval\nfrom Booking.com, the code was generalised and published as Open Source\non github, for which the author would like to express his gratitude.\n\nLicense\n-------\n\nThis code is licensed under the [MIT license](https://github.com/go-graphite/carbonzipper/blob/master/LICENSE).\n\n\nContact\n-------\n\nIf you have questions or problems there are two ways to contact us:\n\n1. Open issue on a github page\n2. #zipperstack on [gophers slack](https://invite.slack.golangbridge.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-graphite%2Fcarbonzipper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-graphite%2Fcarbonzipper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-graphite%2Fcarbonzipper/lists"}