mirror of
https://github.com/prometheus-community/smartctl_exporter.git
synced 2024-12-21 02:21:55 +01:00
813e085b0d
* Update Go to 1.22. * Update minimum Go version to 1.21. Signed-off-by: SuperQ <superq@gmail.com> |
||
---|---|---|
.circleci | ||
.github | ||
systemd | ||
testdata | ||
.gitignore | ||
.golangci.yml | ||
.promu.yml | ||
.yamllint | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
collect-smartctl-json.sh | ||
device_filter.go | ||
device_filter_test.go | ||
Dockerfile | ||
EXAMPLE.md | ||
gjsonext.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
MAINTAINERS.md | ||
Makefile | ||
Makefile.common | ||
metrics.go | ||
readjson.go | ||
README.md | ||
redact_fake_json.py | ||
SECURITY.md | ||
smartctl.go | ||
smartctlinfo.go | ||
VERSION |
smartctl_exporter
Export smartctl statistics to prometheus
Example output you can show in EXAMPLE.md
Need more?
If you need additional metrics - contact me :) Create a feature request, describe the metric that you would like to have and attach exported from smartctl json file
Requirements
smartmontools >= 7.0, because export to json released in 7.0
Configuration
Command line options
The exporter will scan the system for available devices if no --smartctl.device
flags are used.
usage: smartctl_exporter [<flags>]
Flags:
-h, --help Show context-sensitive help (also try --help-long and --help-man).
--smartctl.path="/usr/sbin/smartctl"
The path to the smartctl binary
--smartctl.interval=60s The interval between smartctl polls
--smartctl.rescan=10m The interval between rescanning for new/disappeared devices. If the interval is smaller than 1s no
rescanning takes place. If any devices are configured with smartctl.device also no rescanning takes
place.
--smartctl.device=SMARTCTL.DEVICE ...
The device to monitor (repeatable)
--smartctl.device-exclude=""
Regexp of devices to exclude from automatic scanning. (mutually exclusive to
device-include)
--smartctl.device-include=""
Regexp of devices to include in automatic scanning. (mutually exclusive to
device-exclude)
--web.telemetry-path="/metrics"
Path under which to expose metrics
--web.systemd-socket Use systemd socket activation listeners instead of port listeners (Linux only).
--web.listen-address=:9633 ...
Addresses on which to expose metrics and web interface. Repeatable for multiple
addresses.
--web.config.file="" [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication.
--log.level=info Only log messages with the given severity or above. One of: [debug, info, warn,
error]
--log.format=logfmt Output format of log messages. One of: [logfmt, json]
--version Show application version.
TLS and basic authentication
This exporter supports TLS and basic authentication.
To use TLS and/or basic authentication, you need to pass a configuration file
using the --web.config.file
parameter. The format of the file is described
in the exporter-toolkit repository.
Example of running in Docker
Minimal functional docker-compose.yml
:
version: "3"
services:
smartctl-exporter:
image: prometheuscommunity/smartctl-exporter
privileged: true
user: root
ports:
- "9633:9633"