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.2.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

pySMART_exporter-0.3.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file pySMART-exporter-0.3.2.tar.gz.

File metadata

  • Download URL: pySMART-exporter-0.3.2.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pySMART-exporter-0.3.2.tar.gz
Algorithm Hash digest
SHA256 f38cfb6d7926656b35fe64b7eb153c73388c64a7140c85634fe70bedffe01cc3
MD5 73c216477da1dc4816c6898cc7cd6597
BLAKE2b-256 e0c91323f2ac0c3b664899485c549036ff95d2af88a1ed27c120bcac6b095f14

See more details on using hashes here.

File details

Details for the file pySMART_exporter-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pySMART_exporter-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 120ebc0f21e6df2c4fb231bc9e4d50e214dc34e71cda7fbadbb4eab6be4481fc
MD5 4ebfca72ec289bb25614e6f708a45633
BLAKE2b-256 22012921f9a7fd75c070a65b333780af4d59cb0a8a774676e9a4cea1757ab154

See more details on using hashes here.

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