Question

How to access droplet-specific bandwidth usage via API?

I am planning to create a managed hosting solution for my clients using DigitalOcean droplets. I could successfully go through all the operation/billing options using digitalocean API, except the overuse of bandwidth.

The digitalocean api https://docs.digitalocean.com/reference/api/api-reference/#operation/get_user_information does not provide metric tracking such as cpu usage, memory usage, and transfer.

I went through the following options options:

  1. Install DigitalOcean agent (https://www.digitalocean.com/community/questions/how-to-check-bandwidth-usage-in-december-2020), which may lead us to revoke the root access as the malicious customer might mess up the metric tracking. This might be the case of cloudways.

  2. Manually tracking metrics based on billing, which seems counterproductive.

I’m not sure about how Laravel Forge and ServerPilot tracks the bandwidth usage. Is there any other way to track them seamlessly while also granting root access to the user?


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Hey @sdriyaz712!

You should be able to access droplet specific, bandwidth, CPU and RAM usage through the api. It is available under the monitoring section here: Droplet Bandwidth API

That data should be able to be queried directly through the api without the need of the agent.

Hope it helps! Nate