bigip_exporter

command module
v0.0.0-...-bb15ad9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2020 License: MIT Imports: 15 Imported by: 0

README

BIG-IP exporter

Prometheus exporter for BIG-IP statistics. Uses iControl REST API.

based on https://github.com/ExpressenAB/bigip_exporter, I add support multi-instance monitoring, inspired by mysqld_exporter and ipmi_exporter, to rewirte bigip_exporter.go and config.go.

Get it

The latest version is 1.0.0. All releases can be found under Releases and docker images are available at Docker Hub(Thanks to 0x46616c6b).

Usage

The bigip_exporter is easy to use. Example:

./bigip_exporter  --config.file="bigip_exporter.yml"

bigip_exporter.yml:

credentials:
    default:
        user: "USER"
        pass: "password"
        basic_auth: "false"

then you can get the metrics via

curl localhost:9142/bigip?target=<bigip_host>:443

prometheus job config:


- job_name: "bigip-exporter"
  scrape_interval: 1m
  scrape_timeout: 30s
  metrics_path: /bigip
  scheme: http
  file_sd_configs:
  - files:
    - 'tgroups/bigip.yml'
    refresh_interval: 5m
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 10.36.48.46:9142

Configuration file

Take a look at this example configuration file

Implemented metrics

  • Virtual Server
  • Rule
  • Pool
  • Node

Prerequisites

  • User with read access to iControl REST API

Tested versions of iControl REST API

Currently only version 12.0.0 and 12.1.1 are tested. If you experience any problems with other versions, create an issue explaining the problem and I'll look at it as soon as possible or if you'd like to contribute with a pull request that would be greatly appreciated.

13.0 is not supported now

Building

just you can build with make build

Possible improvements

Gather data in the background

Currently the data is gathered when the /metrics endpoint is called. This causes the request to take about 4-6 seconds before completing. This could be fixed by having a go thread that gathers data at regular intervals and that is returned upon a call to the /metrics endpoint. This would however go against the guidelines.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL