Using Grafana to track Node / npm dependecies

Hello everyone!

I am looking for a way to monitor the dependencies of a Node application. I am currently looking for potential solutions to this problem, and a colleague of mine suggested Grafana. I will describe my particular use case below and would like to know if Grafana is the best candidate for the job.

What I want to achieve with Grafana is this: we have a number of projects hosted on Bitbucket, which contain a “package.json” text file.
I would like to be able to look inside this text file, search for a particular dependency of the project, for example “typescript” and create a dashboard that is able to display the version of “typescript” that each project uses, on a per project basis, eg. Project 1 uses Typescript version 4.4, Project 2 uses Typescript version 4.0, etc.

How would you recommend approaching this? Do I have to create some sort of API that will scrape the “package.json” from each project? And then save this data in a data source which will then be consumed by the dashboard? I have come across this plugin which might be useful for this approach, called JSON plugin for Grafana | Grafana Labs.

Or, is it possible to scrape the information inside the “package.json” text file straight out of Bitbucket, save it in a data source, then consume it by a dashboard? Are there any plugins that can be used directly with Bitbucket for this?

Any tips are highly appreciated!

A

From your description, and assuming that you can access an endpoint that returns the data you want as JSON, then you could either: use a generic JSON data source plugin or a Prometheus exporter. This is the best JSON data source plugin IMO:

The other option is to use/build a Prometheus exporter, which has advantages. The exporter solution would add your data to a true time series database.

Looks like there is an existing exporter option: