{"id":19177777,"url":"https://github.com/andrewsomething/digitalocean_exporter","last_synced_at":"2025-10-20T08:25:02.287Z","repository":{"id":57606289,"uuid":"79751828","full_name":"andrewsomething/digitalocean_exporter","owner":"andrewsomething","description":"A Prometheus exporter for DigitalOcean resources","archived":false,"fork":false,"pushed_at":"2020-12-19T00:55:59.000Z","size":51,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T20:42:18.216Z","etag":null,"topics":["cloud","digitalocean","golang","metrics","monitoring","prometheus","prometheus-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/andrewsomething.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":"2017-01-22T22:58:01.000Z","updated_at":"2023-04-26T18:54:26.000Z","dependencies_parsed_at":"2022-09-26T20:00:59.947Z","dependency_job_id":null,"html_url":"https://github.com/andrewsomething/digitalocean_exporter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewsomething%2Fdigitalocean_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewsomething%2Fdigitalocean_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewsomething%2Fdigitalocean_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewsomething%2Fdigitalocean_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewsomething","download_url":"https://codeload.github.com/andrewsomething/digitalocean_exporter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954127,"owners_count":21830893,"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":["cloud","digitalocean","golang","metrics","monitoring","prometheus","prometheus-exporter"],"created_at":"2024-11-09T10:35:02.975Z","updated_at":"2025-10-20T08:24:57.250Z","avatar_url":"https://github.com/andrewsomething.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# digitalocean_exporter\n[![Build Status](https://travis-ci.org/andrewsomething/digitalocean_exporter.svg)](https://travis-ci.org/andrewsomething/digitalocean_exporter) [![Go Report Card](https://goreportcard.com/badge/github.com/andrewsomething/digitalocean_exporter)](https://goreportcard.com/report/github.com/andrewsomething/digitalocean_exporter) [![Docker Build Status](https://img.shields.io/docker/build/andrewsomething/digitalocean_exporter.svg)](https://hub.docker.com/r/andrewsomething/digitalocean_exporter/)\n\n`digitalocean_exporter` is a Prometheus exporter for DigitalOcean resources.\n\nInitially written as a way to explore Prometheus exporters, I am sharing\nit in the hope that it will be useful to others. Matt Layher's\n[`rtorrent_exporter`](https://github.com/mdlayher/rtorrent_exporter) was\na great help.\n\n**You may want to consider using [github.com/metalmatze/digitalocean_exporter](https://github.com/metalmatze/digitalocean_exporter). It is a more active project than this one.**\n\n## Usage\n\n`digitalocean_exporter` has a number of runtime options that can be set\nusing flags including the listen addresss and the path for the metrics\nend point. A DigitalOcean API token is also required. It is recommended\nto use a read-only token as `digitalocean_exporter` has no need for write\naccess to your account.\n\nAs calls to the DigitalOcean API can be expensive, `digitalocean_exporter`\nmaintains a local cache that is periodically refreshed based on the\n`refresh-interval` value provided. The default is every 60 seconds.\n\n```\n$ ./digitalocean_exporter -help\nUsage of ./digitalocean_exporter:\n  -debug\n        Print debug logs\n  -listen string\n        Listen address for DigitalOcean exporter (default \"localhost:9292\")\n  -metrics-path string\n        URL path for surfacing metrics (default \"/metrics\")\n  -refresh-interval int\n        Interval (in seconds) between subsequent requests against DigitalOcean API (default 60)\n  -token string\n        DigitalOcean API token (read-only)\n  -v    Prints current digitalocean_exporter version\n```\n\n### Docker\n\nThis exporter is also available as a Docker image: [`andrewsomething/digitalocean_exporter`](https://hub.docker.com/r/andrewsomething/digitalocean_exporter/)\n\nExample usage:\n\n```\n$ docker run -p 127.0.0.1:9292:9292 andrewsomething/digitalocean_exporter \\\n    -listen 0.0.0.0:9292 -token $DIGITALOCEAN_API_TOKEN\n```\n\n## Metrics\n\nHere is an example of the metrics exposed by `digitalocean_exporter`:\n\n```\n$ curl --silent localhost:9292/metrics | grep digitalocean\n# HELP digitalocean_droplets_count Number of Droplets by region, size, and status.\n# TYPE digitalocean_droplets_count gauge\ndigitalocean_droplets_count{region=\"lon1\",size=\"1gb\",status=\"active\"} 1\ndigitalocean_droplets_count{region=\"nyc2\",size=\"1gb\",status=\"active\"} 1\ndigitalocean_droplets_count{region=\"nyc2\",size=\"2gb\",status=\"active\"} 3\ndigitalocean_droplets_count{region=\"nyc3\",size=\"16gb\",status=\"active\"} 1\ndigitalocean_droplets_count{region=\"nyc3\",size=\"1gb\",status=\"active\"} 1\ndigitalocean_droplets_count{region=\"nyc3\",size=\"1gb\",status=\"off\"} 1\ndigitalocean_droplets_count{region=\"nyc3\",size=\"4gb\",status=\"active\"} 1\ndigitalocean_droplets_count{region=\"nyc3\",size=\"512mb\",status=\"active\"} 6\ndigitalocean_droplets_count{region=\"nyc3\",size=\"512mb\",status=\"off\"} 1\n# HELP digitalocean_floating_ips_count Number of Floating IPs by region and status.\n# TYPE digitalocean_floating_ips_count gauge\ndigitalocean_floating_ips_count{region=\"nyc3\",status=\"assigned\"} 1\ndigitalocean_floating_ips_count{region=\"nyc3\",status=\"unassigned\"} 1\n# HELP digitalocean_load_balancers_count Number of Load Balancers by region and status.\n# TYPE digitalocean_load_balancers_count gauge\ndigitalocean_load_balancers_count{region=\"nyc3\",status=\"active\"} 1\n# HELP digitalocean_query_duration_seconds Time elapsed while querying the DigitalOcean API in seconds.\n# TYPE digitalocean_query_duration_seconds gauge\ndigitalocean_query_duration_seconds 4.806081399\n# HELP digitalocean_tags_count Count of tagged resources by name and resource type.\n# TYPE digitalocean_tags_count gauge\ndigitalocean_tags_count{name=\"frontend\",resource_type=\"droplets\"} 0\ndigitalocean_tags_count{name=\"production\",resource_type=\"droplets\"} 7\ndigitalocean_tags_count{name=\"prometheus\",resource_type=\"droplets\"} 1\ndigitalocean_tags_count{name=\"swarm\",resource_type=\"droplets\"} 2\n# HELP digitalocean_volumes_count Number of Volumes by region, size in GiB, and status.\n# TYPE digitalocean_volumes_count gauge\ndigitalocean_volumes_count{region=\"fra1\",size=\"100\",status=\"unattached\"} 1\ndigitalocean_volumes_count{region=\"nyc1\",size=\"100\",status=\"attached\"} 1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewsomething%2Fdigitalocean_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewsomething%2Fdigitalocean_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewsomething%2Fdigitalocean_exporter/lists"}