{"id":13581853,"url":"https://github.com/letsencrypt/unbound_exporter","last_synced_at":"2025-10-26T07:38:54.236Z","repository":{"id":41950477,"uuid":"78408185","full_name":"letsencrypt/unbound_exporter","owner":"letsencrypt","description":"A Prometheus exporter for Unbound.","archived":false,"fork":false,"pushed_at":"2025-10-08T18:46:51.000Z","size":79,"stargazers_count":235,"open_issues_count":21,"forks_count":92,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-10-11T00:20:10.921Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/letsencrypt.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,"zenodo":null}},"created_at":"2017-01-09T08:18:02.000Z","updated_at":"2025-10-09T13:08:49.000Z","dependencies_parsed_at":"2023-11-19T17:23:48.588Z","dependency_job_id":"df3214fa-4258-4065-9c3d-b98f42c27846","html_url":"https://github.com/letsencrypt/unbound_exporter","commit_stats":{"total_commits":46,"total_committers":21,"mean_commits":"2.1904761904761907","dds":0.8260869565217391,"last_synced_commit":"ab17c00752b8988e5045db3d8395d3715eae5aad"},"previous_names":["kumina/unbound_exporter"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/letsencrypt/unbound_exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsencrypt%2Funbound_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsencrypt%2Funbound_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsencrypt%2Funbound_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsencrypt%2Funbound_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/letsencrypt","download_url":"https://codeload.github.com/letsencrypt/unbound_exporter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsencrypt%2Funbound_exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281074242,"owners_count":26439421,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2024-08-01T15:02:16.630Z","updated_at":"2025-10-26T07:38:54.229Z","avatar_url":"https://github.com/letsencrypt.png","language":"Go","readme":"# Prometheus Unbound exporter\n\nThis repository provides code for a simple Prometheus metrics exporter\nfor [the Unbound DNS resolver](https://unbound.net/). This exporter\nconnects to Unbounds TLS control socket and sends the `stats_noreset`\ncommand, causing Unbound to return metrics as key-value pairs. The\nmetrics exporter converts Unbound metric names to Prometheus metric\nnames and labels by using a set of regular expressions.\n\n- - - -\n\n# Prerequisites\n\nGo 1.24 or above is required.\n\n# Installation\n\n    go install github.com/letsencrypt/unbound_exporter@latest\n\nThis will install the binary in `$GOBIN`, or `$HOME/go/bin` if\n`$GOBIN` is unset.\n\n# Updating dependencies\n\n```\ngo get -u\ngo mod tidy\n```\n\n- - - -\n\n# Usage - Unix socket\n\nThe simplest way to run unbound_exporter is on the same machine as your Unbound instance, connecting via a Unix socket. First, make sure you have this in your unbound.conf:\n\n    remote-control:\n      control-enable: yes\n      control-interface: /run/unbound.ctl\n\nThen, arrange to run this on the same machine:\n\n    unbound_exporter -unbound.ca \"\" -unbound.cert \"\" -unbound.host \"unix:///run/unbound.ctl\"\n\nMetrics will be exported under /metrics, on port 9167, on all interfaces.\n\n    $ curl 127.0.0.1:9167/metrics | grep '^unbound_up'\n    unbound_up 1\n\n# Usage - TLS\n\nThe more complicated way to run unbound_exporter is to configure unbound's control-interface with a TLS certificate from a private CA, and run unbound_exporter on a separate host. This is more of a hassle because you have to keep the certificate up to date and distribute the private CA to the host that unbound_exporter runs on.\n\nSee https://unbound.docs.nlnetlabs.nl/en/latest/getting-started/configuration.html#set-up-remote-control for instructions on setting up the certificates and keys for remote-control via TLS. On the unbound_exporter side you will need to set the `-unbound.ca`, `-unbound.cert`, and `-unbound.key` flags to point to valid files that will trust the Unbound server's certificate and be trusted by Unbound in return.\n\n# Extended statistics\n\nFrom the Unbound [statistics doc](https://www.nlnetlabs.nl/documentation/unbound/howto-statistics/): Unbound has an option to enable extended statistics collection. If enabled, more statistics are collected, for example what types of queries are sent to the resolver. Otherwise, only the total number of queries is collected. Add the following to your `unbound.conf`.\n\n    server:\n\t    extended-statistics: yes\n\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletsencrypt%2Funbound_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fletsencrypt%2Funbound_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletsencrypt%2Funbound_exporter/lists"}