Skip to main content

A Prometheus PySMART exporter

Project description

pySMART-exporter

Copyright (C) 2021 Naudit HPCN S.L.

PySMART-exporter is a simple Python prometheus exporter built on top of PySMART library.

Usage

Server mode

To Use the exporter in server mode you can simply run as

pysmart_exporter -l 0.0.0.0:9099

And configure your prometheus to access it.

File mode

If you whish to generate just a metric sample, you can run this:

pysmart_exporter -f out.txt -1

It may generate a file with a similar content as:

# HELP pysmart_info PySMART metric info
# TYPE pysmart_info gauge
pysmart_info{device="nvme0",firmware="ADHA0101",interface="nvme",model="KBG30ZMV256G TOSHIBA",rotation="None",serial="*********12P",size="256000000000",size_raw="256 GB",smart_capable="True",smart_enabled="True",ssd="True"} 1.0
# HELP pysmart_assessment PySMART metric assessment
# TYPE pysmart_assessment gauge
pysmart_assessment{device="nvme0",interface="nvme",pysmart_assessment="PASS"} 1.0
# HELP pysmart_temperature PySMART metric temperature
# TYPE pysmart_temperature gauge
pysmart_temperature{device="nvme0",interface="nvme"} 44.0
# HELP pysmart_size PySMART metric size
# TYPE pysmart_size gauge
pysmart_size{device="nvme0",interface="nvme"} 2.56e+011
# HELP pysmart_test_capabilities PySMART metric test_capabilities
# TYPE pysmart_test_capabilities gauge
pysmart_test_capabilities{device="nvme0",interface="nvme",pysmart_test_capabilities="conveyance"} 0.0
pysmart_test_capabilities{device="nvme0",interface="nvme",pysmart_test_capabilities="long"} 0.0
pysmart_test_capabilities{device="nvme0",interface="nvme",pysmart_test_capabilities="offline"} 0.0
pysmart_test_capabilities{device="nvme0",interface="nvme",pysmart_test_capabilities="selective"} 0.0
pysmart_test_capabilities{device="nvme0",interface="nvme",pysmart_test_capabilities="short"} 0.0

You can also set an interval with -i instead of -1 to keep flushing data every n seconds

Installation

pySMART-exporter is available on PyPI and installable via pip::

python -m pip install pySMART-exporter

The only external (non-python) dependency is the smartctl component of the smartmontools package. This should be pre-installed in most Linux distributions, or it can be obtained through your package manager. Likely one of the following::

apt-get install smartmontools
    or
yum install smartmontools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysmart_exporter-0.3.3.dev20.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

pySMART_exporter-0.3.3.dev20-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file pysmart_exporter-0.3.3.dev20.tar.gz.

File metadata

File hashes

Hashes for pysmart_exporter-0.3.3.dev20.tar.gz
Algorithm Hash digest
SHA256 51bba89d6e7d27a3a8ffef791848a9369f79ef2051729ae5c230fcbefceefc42
MD5 99ac53604b33092254f17ee358ebe14e
BLAKE2b-256 80e077f6e4bcf2482270eb84680aac0bf336d5f901ded8ce223e1ddd80dc3174

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysmart_exporter-0.3.3.dev20.tar.gz:

Publisher: publish-to-pypi.yml on Naudit/pySMART-exporter

Attestations:

File details

Details for the file pySMART_exporter-0.3.3.dev20-py3-none-any.whl.

File metadata

File hashes

Hashes for pySMART_exporter-0.3.3.dev20-py3-none-any.whl
Algorithm Hash digest
SHA256 ca869b5883111ad8964c8113278e72119f9049bb75b3fa53297c22e0e23f0740
MD5 e3bac98e8bdafcc4c96d95adf16825f3
BLAKE2b-256 6edb87c89ce4e93726365fbc727065fd5fea6f0ca59708eda703f9693ea9983c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pySMART_exporter-0.3.3.dev20-py3-none-any.whl:

Publisher: publish-to-pypi.yml on Naudit/pySMART-exporter

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page