Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slashdoom/aruba_exporter
Prometheus exporter for Aruba switches, instant APs and controllers
https://github.com/slashdoom/aruba_exporter
aruba aruba-iap aruba-switch arubanetworks arubaos arubaos-cx arubaos-switch hpe prometheus prometheus-exporter
Last synced: about 1 month ago
JSON representation
Prometheus exporter for Aruba switches, instant APs and controllers
- Host: GitHub
- URL: https://github.com/slashdoom/aruba_exporter
- Owner: slashdoom
- License: mit
- Created: 2021-07-06T02:28:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-18T09:28:43.000Z (almost 2 years ago)
- Last Synced: 2024-06-21T00:12:24.292Z (7 months ago)
- Topics: aruba, aruba-iap, aruba-switch, arubanetworks, arubaos, arubaos-cx, arubaos-switch, hpe, prometheus, prometheus-exporter
- Language: Go
- Homepage:
- Size: 20 MB
- Stars: 6
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 `--.enabled=false`, where `` 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
```bash
go get -u github.com/slashdoom/aruba_exporter
```# Usage
## Binary
```bash
./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
```bash
docker compose up
```### Development
```bash
docker compose -f dev.docker-compose.yaml up
```## Config file
The exporter can be configured with a YAML based config file:```yaml
---
level: debug
timeout: 60
batch_size: 10000
username: default-username
password: default-password
key_file: /path/to/keydevices:
- 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: secretfeatures:
system: true
environment: true
interfaces: true
optics: true
routes: true
wireless: true
```# Third Party Components
This software uses components of the following projects
* Prometheus Go client library (https://github.com/prometheus/client_golang)
* Logrus Logging library (https://github.com/sirupsen/logrus)# License
(c) slashdoom (Patrick Ryon), 2022. Licensed under [MIT](LICENSE) license.# Prometheus
See https://prometheus.io/