A Prometheus exporter that collects metrics from ServerTech PDUs using the ServerTech JAWS API.
Start servertech_exporter with valid flags. To then collect the metrics of a PDU, pass the 'target', 'user' and 'pass' parameter to the exporter's web interface. For example, http://exporter:9783/metrics?target=192.168.77.9&user=admn&pass=admn. By default, servertech_exporter runs in HTTPS mode and a valid certificate and key need to be passed using the --web.certificate
and --web.key
flags.
To run servertech_exporter:
./servertech_exporter [flags]
To view available flags:
./servertech_exporter -h
usage: servertech_exporter [<flags>]
Flags:
-h, --help Show context-sensitive help (also try --help-long and --help-man).
--servertech.http.timeout="20s"
The HTTP timeout when scraping the ServerTech API.
--collector.branches Enable the branches collector (default: enabled).
--collector.cords Enable the cords collector (default: enabled).
--collector.lines Enable the lines collector (default: enabled).
--collector.ocps Enable the ocps collector (default: enabled).
--collector.outlets Enable the outlets collector (default: enabled).
--collector.phases Enable the phases collector (default: enabled).
--collector.system Enable the system collector (default: enabled).
--collector.units Enable the units collector (default: enabled).
--web.listen-address=":9783"
Address on which to expose metrics and web interface.
--web.telemetry-path="/metrics"
Path under which to expose metrics.
--web.http Run in HTTP mode.
--web.certificate=WEB.CERTIFICATE
Path to SSL certificate.
--web.key=WEB.KEY Path to SSL certificate key.
--log.level="info" Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]
--log.format="logger:stderr"
Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"
--version Show application version.
Promethues configuraiton:
scrape_configs:
- job_name: servertech
static_configs:
- targets:
- device1
params:
user: admn
pass: admn
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: localhost:9783 # In this example, localhost is running servertech_exporter
Docker:
docker run --restart unless-stopped -d -p 9783:9783 -v /path/to/server.crt:/server/crt -v /path/to/server.key:/server.key tynany/servertech_exporter
The Docker containers expects the SSL certificate be located at /server.crt and the key be located at /server.key.
Metric descriptions have been taken from ServerTech's JAWS API Documentation.