prometheus-community / community

Prometheus & The Ecosystem Community Meeting Information
20 stars 3 forks source link

Create smartmon exporter repository #3

Closed pgier closed 2 years ago

pgier commented 4 years ago

I'd like to start a new prometheus community project for exporting SMART metrics. I've created some prototype code in my personal repository (https://github.com/pgier/smartmon-exporter). There seems to be some demand for smart metrics to be added to node_exporter (https://github.com/prometheus/node_exporter/issues/473, https://github.com/prometheus/node_exporter/issues/782), but due to some of the constraints of node_exporter (no root priveledges, using external binaries, etc) it might make more sense for this to be a separate exporter.

SuperQ commented 4 years ago

Sounds like a good one to me. I am willing to sponsor this project.

kfox1111 commented 4 years ago

Any movement on this?

SuperQ commented 4 years ago

@pgier If you can grant me admin access to your repo, I can move it over.

frittentheke commented 2 years ago

@pgier are you still pursuing this in any way?

pgier commented 2 years ago

No, I haven't worked on it at all. Feel free to fork my repo, or start a new one or whatever. If it's helpful, I can give @SuperQ admin access to the repo.

frittentheke commented 2 years ago

... currently people looking for monitoring of disk health or smartmon data are pointed to two scripts (one Python the other bash) producing metrics to be handled by the textfile exporter:

and there definitely is interest in having smartmon data (see: https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/issues?q=smartmon). But since there always are calls to an external binary involved, I doubt it will ever end up as a collector within the node_exporter itself, or am I mistaken @SuperQ ?

Question then is if a standalone exporter like yours @pgier, written in Golang and therefore lightweight and with no real dependencies on the system, or further improvements to the Python script (i.e. https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/pull/67#issuecomment-760892826) are the way forward.

In any case, just adding yet another implementation to me is not helping to gain traction on stability or new features for this data to be available and scrapeable by Prometheus.

kfox1111 commented 2 years ago

https://github.com/Sheridan/smartctl_exporter is another option. I've had fairly good luck with it.

Big +1 for some kind of community supported smart data exporter though, whatever the route.

SuperQ commented 2 years ago

@frittentheke Without a way to get the data via some kernel interface, it's not likely to be in the node_exporter.

The smartctl_exporter looks like probably the best option. If the owners want to move it to prometheus-community, I'd be happy to help with that.

kfox1111 commented 2 years ago

The author of https://github.com/Sheridan/smartctl_exporter would be willing to contribute the exporter. What do we need to do to get him a repo under prometheus-community? Anyone here that can assist him through the process? I've never done it before.

kfox1111 commented 2 years ago

Ping

SuperQ commented 2 years ago
SuperQ commented 2 years ago

@Sheridan Does this sound like what you would want to do?

kfox1111 commented 2 years ago

So, how do we find a Prometheus-Team member?

Who has the ability to create the GitHub team?

SuperQ commented 2 years ago

I've created the team and invited @Sheridan.

Sheridan commented 2 years ago

@SuperQ I can't find the invitation ...

roidelapluie commented 2 years ago

I have re-sent the invite

Sheridan commented 2 years ago

@roidelapluie Thanks, transfer done :)

vagifzeynalov commented 2 years ago

Just a side comment - although smartctl_exporter provides a great foundation (@Sheridan many thanks!), but after reviewing it I realized that there are many things could be optimized. Specifically conversion boolean flags into strings. Also there are some parts from JSON response were missed.

Sheridan commented 2 years ago

Yes, code needs review and optimization. Because these two exporters of mine were an experiment in go. Otherwise, I'm not even a programmer, but an admin / devops :)

k0ste commented 2 years ago

@SuperQ, I contacted with @Sheridan directly, and we find out that he can't add, for example @NiceGuyIT or @vagifzeynalov, to repo members. I think this guys can warm up this repo with patches, so somebody need merge permissions. The original author of exporter too busy to review new code

Thanks!

Sheridan commented 2 years ago

I am have no acces to access setings image

NiceGuyIT commented 2 years ago

Any movement on this front? There are 9 PRs outstanding and some (myself included) have forked the repo just to be able to merge the PRs that affect them.

SuperQ commented 2 years ago

This has been moved, but we need more people to review PRs.

bjornfor commented 2 years ago

If this issue is resolved, where is the new smartmon exporter repo?

SuperQ commented 2 years ago

https://github.com/prometheus-community/smartctl_exporter

bjornfor commented 2 years ago

https://github.com/prometheus-community/smartctl_exporter

So that's what users should use now instead of https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/blob/master/smartmon.py?

SuperQ commented 2 years ago

You're welcome to use either, depending on your use case.