Sign inSign up

scaleoutsean/epa-collector

By scaleoutsean

•Updated 8 months ago

Stand-alone performance and event collector for NetApp E-Series SANtricity API v11.80+

Image
Monitoring & observability
0

1.0K

scaleoutsean/epa-collector repository overview

⁠What's this?

It's a fork of the NetApp E-Series Performance Analyzer v3.0.0⁠ that can run as stand-alone container.

NOTE: versions >=3.4.0 are greatly simplified. If you have and older (e.g. 3.3.0) database and collector, there's no need to update and risk issues. But if you're new to EPA, 3.4.1 or higher is recommended.

⁠E-Series Performance Analyzer for NetApp E-Series / EF-Series arrays

  • collector - collects data from NetApp E-Series arrays using the SANtricity API

⁠How to build EPA Collector

git clone https://github.com/scaleoutsean/eseries-perf-analyzer/
cd eseries-perf-analyzer/epa
vim .env                 # you probably don't need to change anything here
vim docker-compose.yaml  # see collector service sample above; you may use 'DB_NAME' to set a different DB name for each collector
./setup-data-dirs.sh     # run this or set correct ownership/perms on data directories for InfluxDB and Grafana

# one shot Hail Mary:
docker compose -d up # includes 'utils' container

⁠How to use

Collector sends data to an InfluxDB v1 database running at port 8086/tcp.

  • API is the SANtricity controller IPv4 address
  • Username and password are SANtricity monitor user's account and credential
  • System Name is SANtricity System Name (use WWN if you don't have it)
  • System ID is SANtricity Array's WWN (look it up in the Web UI - or RTFM)

CLI: get Collector from Github and run it from the CLI

Docker: clone git repo, modify TAG version in .env for Docker Compose, edit docker-compose.yaml, and run. If you don't want to build your own, just replace ${TAG} with 3.4.0, 3.4.1 or higher version 3

services:
  collector:
    image: epa/collector:${TAG}
    # image: docker.io/scaleoutsean/epa-collector:3.4.1 # best build your own
    container_name: collector
    build: ./collector
    mem_limit: 256m
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-file: "5"
        max-size: 10m
    environment: 
      - USERNAME=monitor
      - PASSWORD=monitor123
      - SYSNAME=R26U25-EF600
      - SYSID=600A098000F63714000000005E79C888
      - API=5.5.5.5
      - RETENTION_PERIOD=52w
      - DB_ADDRESS=6.6.6.6
      - DB_PORT=8086
      # Optional: Override default database name (eseries)
      # - DB_NAME=my_custom_db
      # Optional: Create database and exit (true/1 = enable)
      # - CREATE_DB=false
      # Optional: Only collect specific measurements (space-separated)
      # - INCLUDE=power temp

Create multiple services for multiple arrays. Or run multiple docker-compose if you want separation of concerns among storage administrators.

⁠Where can I find more?

⁠Source code

Tag summary

Content type

Image

Digest

sha256:60eb57c18…

Size

26.2 MB

Last updated

8 months ago

docker pull scaleoutsean/epa-collector:3.5.3