Giter Club home page Giter Club logo

aruba_exporter's Introduction

aruba_exporter

Prometheus exporter for metrics from Aruba devices including ArubaSwitchOS, ArubaOS-CX, ArubaOS (Instant AP and controllers/gateways).

This exporter is in development. The goal to get a basic set of metrics working on the four major devices types via SSH. Additional metrics will be developed as required or requested.

The basic structure is based on:

https://github.com/czerwonk/junos_exporter
...and...
https://github.com/lwlcom/cisco_exporter

Flags

Name Description Default
version Print version information.
web.listen-address Address on which to expose metrics and web interface. :9909
web.telemetry-path Path under which to expose metrics. /metrics
ssh.targets Comma seperated list of hosts to scrape
ssh.user Username to use when connecting to devices using ssh. aruba_exporter
ssh.keyfile Public key file to use when connecting to devices using ssh.
ssh.password Password to use when connecting to devices using ssh.
ssh.timeout Timeout in seconds to use for SSH connection. 5
ssh.batch-size The SSH response batch size. 10000
level Set logging verbose level. info
config.file Path to config file.

Metrics

All metrics are enabled by default. To disable something pass a flag --<name>.enabled=false, where <name> is the name of the metric.

Name Description SwitchOS OS-CX InstantAP Controller
system System metrics (version, CPU (% used/idle), memory (total/used/free), uptime) X X X X
environment Environment metrics (temperatures, state of power supply) - - - -
interfaces Interfaces metrics (transmitted/received: bytes/packets/errors/drops, admin/oper state) X X X X
optics Optical signals metrics (tx/rx) - - - -
routes Router metrics (total, static, dynamic, connected) - - N/A -
wireless wireless metrics (clients, aps, radios, wlans) N/A N/A - -

Install

go get -u github.com/slashdoom/aruba_exporter

Usage

Binary

./aruba_exporter -ssh.targets="host1.example.com,host2.example.com:2233,172.16.0.1" -ssh.keyfile=aruba_exporter

./aruba_exporter -ssh.targets="host1.example.com,host2.example.com:2233,172.16.0.1" -ssh.password=password

./aruba_exporter -config.file=config.yml

Docker

Two example Docker compose files are included. One for a 2 step production build/deploy and one for a dev environment with hot reload. These examples use the golang:bullseye image.

Production

docker compose up

Development

docker compose -f dev.docker-compose.yaml up

Config file

The exporter can be configured with a YAML based config file:

---
level: debug
timeout: 60
batch_size: 10000
username: default-username
password: default-password
key_file: /path/to/key

devices:
  - host: host1.example.com
    key_file: /path/to/key
    timeout: 5
    batch_size: 10000
    features: # enable/disable per host
      routes: false
  - host: host2.example.com:2233
    username: exporter
    password: secret

features:
  system: true
  environment: true
  interfaces: true
  optics: true
  routes: true
  wireless: true

Third Party Components

This software uses components of the following projects

License

(c) slashdoom (Patrick Ryon), 2022. Licensed under MIT license.

Prometheus

See https://prometheus.io/

aruba_exporter's People

Contributors

yankiwi avatar slashdoom avatar mraerino avatar nomaster avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.