{"id":16839455,"url":"https://github.com/metalmatze/digitalocean_exporter","last_synced_at":"2025-03-17T04:33:36.985Z","repository":{"id":18762843,"uuid":"85128161","full_name":"metalmatze/digitalocean_exporter","owner":"metalmatze","description":"Prometheus exporter for DigitalOcean metrics, written in Go.","archived":false,"fork":false,"pushed_at":"2023-09-26T04:34:38.000Z","size":809,"stargazers_count":137,"open_issues_count":7,"forks_count":39,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-27T18:06:59.423Z","etag":null,"topics":["cloud","digitalocean","docker","golang","metrics","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/metalmatze.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-03-15T22:42:00.000Z","updated_at":"2025-02-11T21:33:13.000Z","dependencies_parsed_at":"2024-06-18T21:34:59.568Z","dependency_job_id":"68150a31-a378-445b-93f4-e607cdd196f8","html_url":"https://github.com/metalmatze/digitalocean_exporter","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metalmatze%2Fdigitalocean_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metalmatze%2Fdigitalocean_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metalmatze%2Fdigitalocean_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metalmatze%2Fdigitalocean_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metalmatze","download_url":"https://codeload.github.com/metalmatze/digitalocean_exporter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243842135,"owners_count":20356610,"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","docker","golang","metrics","prometheus-exporter"],"created_at":"2024-10-13T12:32:17.917Z","updated_at":"2025-03-17T04:33:36.686Z","avatar_url":"https://github.com/metalmatze.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DigitalOcean Exporter [![Build Status](https://cloud.drone.io/api/badges/metalmatze/digitalocean_exporter/status.svg)](https://cloud.drone.io/metalmatze/digitalocean_exporter)\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/metalmatze/digitalocean_exporter.svg?maxAge=604800)](https://hub.docker.com/r/metalmatze/digitalocean_exporter)\n[![Go Report Card](https://goreportcard.com/badge/github.com/metalmatze/digitalocean_exporter)](https://goreportcard.com/report/github.com/metalmatze/digitalocean_exporter)\n\nPrometheus exporter for various metrics about your [DigitalOcean](https://www.digitalocean.com/) droplets, volumes, snapshots \u0026 networks and much more, written in Go.\n\n### Installation\n\nFor pre-built binaries please take a look at the releases.  \nhttps://github.com/metalmatze/digitalocean_exporter/releases\n\nTo deploy directly onto digitalocean, click the button below.  \n[![Deploy to DO](https://mp-assets1.sfo2.digitaloceanspaces.com/deploy-to-do/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/metalmatze/digitalocean_exporter/tree/master)\n\n#### Docker\n\n```bash\ndocker pull metalmatze/digitalocean_exporter:0.6.1\ndocker run --rm -p 9212:9212 -e DIGITALOCEAN_TOKEN=XXX metalmatze/digitalocean_exporter:0.6.1\n```\n\nExample `docker-compose.yml` with Transmission also running in docker.\n\n```yaml\ndigitalocean_exporter:\n    image: metalmatze/digitalocean_exporter:0.6.1\n    environment:\n    - '-do.token=XXX'\n    restart: always\n    ports:\n    - \"127.0.0.1:9212:9212\"\n```\n\n### Configuration\n\n| ENV Variable                          | Description                                                               |\n|---------------------------------------|---------------------------------------------------------------------------|\n| DEBUG                                 | If set to true also debug information will be logged, otherwise only info |\n| DIGITALOCEAN_TOKEN                    | Token for API access                                                      |\n| DIGITALOCEAN_SPACES_ACCESS_KEY_ID     | Spaces Access Key ID to list buckets                                      |\n| DIGITALOCEAN_SPACES_ACCESS_KEY_SECRET | Spaces Access Key Secret to list buckets                                  |\n| HTTP_TIMEOUT                          | Timeout for the godo client, default: `5000`ms                            |\n| WEB_ADDR                              | Address for this exporter to run, default: `:9212`                        |\n| WEB_PATH                              | Path for metrics, default: `/metrics`                                     |\n\nYou can get an API token at: https://cloud.digitalocean.com/settings/api/tokens  \nRead-only tokens are sufficient.\n\n### Metrics\n\n|Name                                         |Type     |Cardinality   |Help\n|----                                         |----     |-----------   |----\n| digitalocean_account_active                 | gauge   | 1            | The status of your account\n| digitalocean_account_balance                | gauge   | 1            | Current balance of your most recent billing activity\n| digitalocean_account_droplet_limit          | gauge   | 1            | The maximum number of droplet you can use\n| digitalocean_account_floating_ip_limit      | gauge   | 1            | The maximum number of floating ips you can use\n| digitalocean_account_verified               | gauge   | 1            | 1 if your email address was verified\n| digitalocean_app                            | gauge   | 5            | A metric with a constant '1' value labeled by app id, name, tier, region, and app phase(\"BUILDING\", \"DEPLOYING\", \"ACTIVE\", \"SUPERSEDED\")\n| digitalocean_balance_generated_at           | gauge   | 1            | The time at which balances were most recently generated\n| digitalocean_build_info                     | gauge   | 1            | A metric with a constant '1' value labeled by version, revision, and branch from which the node_exporter was built.\n| digitalocean_database_status                | gauge   | 9            | The status of the database, 1 if online, 0 otherwise\n| digitalocean_database_nodes                 | gauge   | 9            | The number of nodes in a database cluster\n| digitalocean_domain_record_port             | gauge   | 7            | The port for SRV records\n| digitalocean_domain_record_priority         | gauge   | 7            | The priority for SRV and MX records\n| digitalocean_domain_record_weight           | gauge   | 7            | The weight for SRV records\n| digitalocean_domain_ttl_seconds             | gauge   | 1            | Seconds that clients can cache queried information before a refresh should be requested\n| digitalocean_droplet_cpus                   | gauge   | 4            | Droplet's number of CPUs\n| digitalocean_droplet_disk_bytes             | gauge   | 4            | Droplet's disk in bytes\n| digitalocean_droplet_memory_bytes           | gauge   | 4            | Droplet's memory in bytes\n| digitalocean_droplet_price_hourly           | gauge   | 4            | Price of the Droplet billed hourly in dollars\n| digitalocean_droplet_price_monthly          | gauge   | 4            | Price of the Droplet billed monthly in dollars\n| digitalocean_droplet_up                     | gauge   | 4            | If 1 the droplet is up and running, 0 otherwise\n| digitalocean_floating_ipv4_active           | gauge   | 1            | If 1 the floating ip used by a droplet, 0 otherwise\n| digitalocean_incidents                      | gauge   | 1            | Number of active regional incidents associated with digitalocean services\n| digitalocean_incidents_total                | gauge   | 0            | Number of active total incidents associated with digitalocean services\n| digitalocean_key                            | gauge   | 1            | Information about keys in your digitalocean account\n| digitalocean_loadbalancer_droplets          | gauge   | 1            | The number of droplets this load balancer is proxying to\n| digitalocean_loadbalancer_status            | gauge   | 1            | The status of the load balancer, 1 if active\n| digitalocean_month_to_date_balance          | gauge   | 1            | Balance as of the `digitalocean_balance_generated_at` time\n| digitalocean_month_to_date_usage            | gauge   | 1            | Amount used in the current billing period as of the `digitalocean_balance_generated_at` time\n| digitalocean_snapshot_min_disk_size_bytes   | gauge   | 2            | Minimum disk size for a droplet/volume to run this snapshot on in bytes\n| digitalocean_snapshot_size_bytes            | gauge   | 2            | Snapshot's size in bytes\n| digitalocean_spaces_bucket                  | gauge   | 2            | Spaces bucket, will always be 1. Includes name and region labels\n| digitalocean_spaces_bucket_created          | gauge   | 2            | Spaces bucket creation timestamp in unix epoch format. Includes name and region labels\n| digitalocean_start_time                     | gauge   | 1            | Unix timestamp of the start time\n| digitalocean_volume_size_bytes              | gauge   | 11           | Volume's size in bytes\n\n### Alerts \u0026 Recording Rules\n\nAs example alerts and recording rules I have copied my `.rules` file to this repository.  \nPlease check [example.rules.yaml](example.rules.yml).\n\n### Development\n\nYou obviously should get the code\n\n```bash\ngo get -u github.com/metalmatze/digitalocean_exporter\n```\n\nThis should already put a binary called `digitalocean_exporter` into `$GOPATH/bin`.\n\nMake sure you copy the `.env.example` to `.env` and change this one to your preferences.\n\nNow during development I always run:\n\n```bash\nmake install \u0026\u0026 digitalocean_exporter\n```\n\nUse `make install` which uses `go install` in the background to build faster during development.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetalmatze%2Fdigitalocean_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetalmatze%2Fdigitalocean_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetalmatze%2Fdigitalocean_exporter/lists"}