DEV Community

Cover image for Monitoring the digitalocean app platform with ...the digitalocean app platform?
Caleb Lemoine
Caleb Lemoine

Posted on • Updated on

Monitoring the digitalocean app platform with ...the digitalocean app platform?

What I built

I created a pull request to add existing functionality to a popular digitalocean monitoring app to monitor resources on the digitalocean app platform and tied it into my first hackathon entry. Along with adding functionality to monitor the app platform, I added a deploy template + button to allow simple deployment for consumers.

Category Submission:

Built for Business

I contemplated whether or not this should be submitted for the Random Roulette category or not. While this app is not suited to turn a profit, I think it can really help commercial entities monitor and track their infrastructure on digitalocean to monitor costs, availability, and just get general insight into their resources on the cloud platform such as deployments and builds.

App Link

Screenshots

Screen Shot 2021-01-09 at 12.14.16 PM

Screen Shot 2021-01-09 at 12.19.28 PM

alt text

Description

This is actually my second hackathon entry which builds off of my first app.

For this entry, I went back to our hacktoberfest roots and took an open source approach. For this entry, I made a pull request to add additional features to the digitalocean prometheus exporter. This allows any user to deploy the prometheus exporter on the app platform and monitor the status of their apps for things like builds, deployments, regions and tiers.

Link to Source Code

Permissive License

MIT

Background

I've previously worked on the application and this is my 3rd featured added. Given the new capabilities of the platform, it felt like a no-brainer for this functionality to be enabled for the community.

How I built it

I wrote some Go code utilizing digitalocean's godo client to pull details from the app platform and converted them to prometheus metrics via a new collector. I also added a digitalocean application deployment template to make it simple for users to deploy.

Once the new features were ready, I deployed the exporter on the platform and added the endpoint to my existing prometheus configuration to scrape. Once data was being ingested, I created a new grafana dashboard to showcase available metrics and ideal usage of the data in a real world setting.

It was lots of fun to make the app platform data more accessible... while also using the platform!

Additional Resources/Info

While the pull request hasn't been merged yet, I'm confident that it will be. I even added new functionality to scrape digitalocean managed database info during the hackathon... because why not.

Top comments (3)

Collapse
 
jonasbn profile image
Jonas Brømsø

Great article, too bad I did not discover it until now. Did you progress any further and did you share any more details or repositories?

Collapse
 
circa10a profile image
Caleb Lemoine

Yes, the functionality has been merged into the digitalocean prometheus exporter and is now available for use: github.com/metalmatze/digitalocean...

Collapse
 
jonasbn profile image
Jonas Brømsø

Sounds great and glad to hear.

I am still just experimenting with the App platform and the available log forwarders, I am not completely satisfied, but I guess it will get there. The alternative is going full-blown Kubernetes, but I do not want to go there until really deemed necessary, since my app is just a side project.