Skip to content

tynany/servertech_exporter

Repository files navigation

ServerTech Exporter

A Prometheus exporter that collects metrics from ServerTech PDUs using the ServerTech JAWS API.

Getting Started

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.

ServerTech API

Metric Descriptions

Metric descriptions have been taken from ServerTech's JAWS API Documentation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages