{"id":41591413,"url":"https://github.com/messagebird/beanstalkd_exporter","last_synced_at":"2026-01-24T09:31:37.019Z","repository":{"id":13489561,"uuid":"74576255","full_name":"messagebird/beanstalkd_exporter","owner":"messagebird","description":"A beanstalkd stats exporter for Prometheus","archived":false,"fork":false,"pushed_at":"2022-06-15T11:49:39.000Z","size":2247,"stargazers_count":33,"open_issues_count":17,"forks_count":24,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-06-18T23:12:07.029Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.messagebird.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/messagebird.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-23T12:48:45.000Z","updated_at":"2023-11-29T04:24:40.000Z","dependencies_parsed_at":"2022-09-15T23:21:24.975Z","dependency_job_id":null,"html_url":"https://github.com/messagebird/beanstalkd_exporter","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/messagebird/beanstalkd_exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messagebird%2Fbeanstalkd_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messagebird%2Fbeanstalkd_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messagebird%2Fbeanstalkd_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messagebird%2Fbeanstalkd_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/messagebird","download_url":"https://codeload.github.com/messagebird/beanstalkd_exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messagebird%2Fbeanstalkd_exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28723233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2026-01-24T09:31:36.440Z","updated_at":"2026-01-24T09:31:37.014Z","avatar_url":"https://github.com/messagebird.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Beanstalkd Exporter\n\n[![Build Status](https://travis-ci.org/messagebird/beanstalkd_exporter.svg?branch=master)](https://travis-ci.org/messagebird/beanstalkd_exporter)\n\n\nBeanstalkd Exporter is a [beanstalkd](http://kr.github.io/beanstalkd/) stats exporter for [Prometheus](http://prometheus.io).\n\n## How does it work?\n\nEvery now and then, Prometheus will request a \"scrape\" of metrics from\nthis application via an HTTP request to /metrics. During this scrape\nrequest the exporter will connect to beanstalk and ask for stats. Stats\nare fetched for the whole instance and for each individual tube.\n\nIf you have many tubes and fetching stats one-by-one takes longer than\nyour allowed scrape duration configured in prometheus, you can increase\nthe number of concurrent tube stats workers via the\n`-num-tube-stat-workers` flag, to parallelize the work required.\n\n## Usage\n\n\nRunning beanstalkd_exporter is as easy as executing `beanstalkd_exporter` on the command line. One argument is required: `-mapping-config` (see below for what it needs).\n\n```bash\n$ beanstalkd_exporter -config examples/servers.conf -mapping-config examples/mapping.conf\n```\n\nUse the -h flag to get help information.\n\n```bash\n$ beanstalkd_exporter -h\nUsage of ./bin/beanstalkd_exporter:\n  -beanstalkd.address string\n    \tBeanstalkd server address (default \"localhost:11300\")\n  -beanstalkd.connection-timeout duration\n       Timeout value for tcp connection to Beanstalkd\n  -log.level string\n    \tThe log level. (default \"warning\")\n  -mapping-config string\n    \tA file that describes a mapping of tube names.\n  -poll int\n    \tThe number of seconds that we poll the beanstalkd server for stats. (default 30)\n  -sleep-between-tube-stats int\n    \tThe number of milliseconds to sleep between tube stats. (default 5000)\n  -num-tube-stat-workers int\n    \tThe number of concurrent workers to use to fetch tube stats. (default 1)\n  -web.listen-address string\n    \tAddress to listen on for web interface and telemetry. (default \":8080\")\n  -web.telemetry-path string\n    \tPath under which to expose metrics. (default \"/metrics\")\n```\n\n## Tube name mapping\n\nSometimes tubes names are complicated. Sometimes tubes are dedicated to entities like users and carry on their names the user id.\nBut it is interesting to stat all these diffent but similar tubes together. To do this you can give beastalkd_exporter a mapping config file.\n\nSay you have many tube names like\n\n```\nincoming-emails-7822\nincoming-emails-1235\nincoming-emails-8882\n...\n```\n\nThese tubes hold incoming emails for specific users. If you ran beanstalkd_exporter without any mapping you would get stats like this:\n\n```\ntube_current_jobs_ready{tube=\"incoming-emails-7822\"}\ntube_current_jobs_ready{tube=\"incoming-emails-1235\"}\ntube_current_jobs_ready{tube=\"incoming-emails-8882\"}\n...\n```\n\nAnd it would be hard to group all of them together to know things like \"what is the total size of 'incoming emails' tubes\".\n\nSo we create a mapping config file (\"./mapping.conf\") with this contents:\n\n```\nincoming-emails-(\\d+)\nname=\"incoming-emails\"\nuser_id=\"$1\"\n\nsome-other-tube-(\\w+)-processor-(\\d+)\nname=\"some-other-tube\"\nprocessor=\"$1\"\nnode_id=\"$2\"\n```\n\n(the file format was heavily inspired by [statsd_exporter's stat mapping format](https://github.com/prometheus/statsd_exporter/blob/411b071f1f5ff3d05a2ea12be027df429bd0ca5b/mapper.go).)\n\n\nRun beanstalkd_exporter with the option \"-mapping-config\" like this:\n\n```bash\nbeanstalkd_exporter -mapping-config=\"./mapping.conf\"\n```\n\n\nand the resulting stats will be like\n\n```\ntube_current_jobs_ready{tube=\"incoming-emails\",user_id=\"7822\"}\ntube_current_jobs_ready{tube=\"incoming-emails\",user_id=\"1235\"}\ntube_current_jobs_ready{tube=\"incoming-emails\",user_id=\"8882\"}\n```\n\n## License\n\nbeanstalkd_exporter is licensed under [The BSD 2-Clause License](http://opensource.org/licenses/BSD-2-Clause). Copyright (c) 2016, MessageBird\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmessagebird%2Fbeanstalkd_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmessagebird%2Fbeanstalkd_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmessagebird%2Fbeanstalkd_exporter/lists"}