Prometheus Storj-Exporter

I updated my dashboard: https://gist.github.com/kevinkk525/7dea9f744ad6fff009b0195bae9a3125

1 Like

oh lol that was smart… forgot the API had a url there too… used that in my dashboard now. Definitely better than using overrides.

I’m having issues in the uptime score gauge and used disk stats, same on the uptime score average:

dash

Note: Don’t know if this changes anything but I’m just testing with one node for now, I’m also using the latest version of grafana and prometheus.

You are using an outdated dashboard. There is no uptime score anymore, only the online score. Try with the dashboard I posted above.

That worked, thanks !

Idk why, but after last storj-exporter container update i can’t retrieve any storj data in grafana. But i’m shure, prometheus->grafana connection works well and connection between exporter and prometheus work well too. Exporter throws no logs, not trying to restart but provides no data.

So, prometheus minds that everything is ok

And that’s what grafana shows

That’s exporters output

I have no more ideas how to fix that. Could anyone help?

Hi,
I’m a new storage node operator, and was wondering how I even set this up. Do I need to install the storj-exporter docker container on the node itself or the device I want to monitor from? I’m running my Node on Raspbian, by the way.

Edit: I have got everything setup, except that for some reason the exporter is only showing this:


And in the drop down menu in Prometheus there isnt anything that starts with ‘storj’.

1 Like

Having the same issue

The exporter needs to run on the same machine as the node. Prometheus can run on a different machine.
You just need to set the job in the prometheus.yml correctly, similar to:

(The rest of the post does not apply to you if you want to run prometheus on a different machine)

1 Like

My node and the Exporter, as well as prometheus are all running on the same machine.
I am only using docker for storj and watchtower, and am using a systemd service for the exporter.

Well if everything runs on the same host and you are unable to configure it correctly yourself, I’d recommend just using the same way I describe in that post using docker-compose with all components in one docker-compose.yml file. Once you got that to work, you can still experiment with other ways until you like your setup.

1 Like

The problem is the exporter won’t run in docker for me because I’m running off a Raspberry Pi, which is ARM based.

oh… well in that case build the docker image yourself:

Clone this repo and cd, then
docker build -t storj-exporter .

Then change the image name in my docker-compose.yml to “storj-exporter” instead of " anclrii/storj-exporter:latest"

1 Like

Not necessarily. It’s ideal to do so as the exporter is continuously capturing metrics even if the Prometheus server goes down, but you can run the exporter on a different machine and point it to the node using STORJ_HOST_ADDRESS and STORJ_API_PORT.

Yes you’re right. I’m not fully awake yet :smiley: If you run netdata, it makes sense that the exporter runs on the same machine as prometheus in combination with the docker-compose.yml so that the exporter prometheus port is not exposed, otherwise netdata will scrape that endpoint and save all those prometheus stats from the node too… Unneccessary load on the system that results in quite some load spikes.

Sorry, i’m a bit of a newbie to docker, what do I do with the docker-compose.yml file? How do I run it?

sudo apt install docker-compose
sudo docker-compose up -d 
(while in the directory of the docker-compose.yml)
1 Like

getting this error with when I run the command:

pi@storagenode:~ $ sudo docker-compose up -d
Creating network “pi_default” with the default driver
Creating prometheus … error
Creating storagenode1 …
Creating storj-exporter1 …
Creating storagenode1 … error
ERROR: for prometheus Cannot create container for service prometheus: invalid mount config for type “bind”: bind source path does not exist: /sharedfolders/prometheus

Creating storj-exporter1 … done

ERROR: for prometheus Cannot create container for service prometheus: invalid mount config for type “bind”: bind source path does not exist: /sharedfolders/prometheus

ERROR: for storagenode Cannot create container for service storagenode: invalid mount config for type “bind”: bind source path does not exist: /hdd/Storj
ERROR: Encountered errors while bringing up the project.

well you have to change your path configurations to your setup. My directories don’t exist on your setup.
But apparently you even got your own storj mountpoint wrong.

FINALLY!
I got it working.
Thanks for all of the help.
Also I didn’t end up using the docker-compose file, as I couldn’t get it working correctly.