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!


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: