Skip to content

gleeman2/Graph-RRD

Repository files navigation

Graph from RRD

Story:

We were looking for a "first look" troubleshooting/monitoring tool to cover our multivendor storage environment. Criteria to meet:

  1. Must be multivendor
  2. Must be able keep trends (Capacity, IO, etc) up to 1 year
  3. Must have alerting/reporting capabilities
  4. Must be well supported, free'ish and have be future proof
  5. Nice to have - Low maintenance and easy to use/configure
  6. Nice to have – Support(paid or free) from vendor to modify pull scripts or add new arrays.

There was no one app out there to fill all the criteria, but we came close anough with using stor2rrd, Grafana and Graphite. The rest of the readme covers the lessosn learned and the end results that is my current working solution. This document will be focused around INFINIDAT monitoring, reporting and alerting.

STOR2RRD

The product actually supports these storages arrays:

INFINIDAT InfiniBox
IBM
Hitachi
NetApp FAS (7-mode, C-mode)
NetApp E-series
HPE
Dell EMC²
Dell SC series (Compellent)
Dell MD 3000
DotHiLL
Lenovo Storage S Series (S2200/S3200)
Pure Storage
Huawei OceanStore
Fujitsu ETERNUS
Quantum StorNext
Dot Hill/Seagate AssuredSAN
LSI / Engenio based storages
DataCore SANSymphony

The product supports SAN monitoring:

Brocade SAN switches and all their re-brands
Brocade Network Advisor
Cisco MDS SAN switches
Cisco Nexus switches
QLogic

Stro2RRD

Grafana

Grafana is a better graphical tool to represent the data captured by Stor2rrd. Grafana cannot directly read RRD databases, but Graphite can and as it happens Grafana can read from Graphite and whola, we have graphs.

Grafana

Putting it together

A lot of work has already been done on the indiviual packages, so not to reinvent the wheel, we went the docker way and used pre confgured images.

  1. Get docker up and running. Make sure that docker-compose are part of your install.
  1. Git the compose file and relevent configuration files from https://github.com/gleeman2/Graph-RRD/ by either cloning (git https://github.com/gleeman2/Graph-RRD.git) or download the zip file.
  1. To start the containers run #docker-compose up -d in the folder the docker-compose.yml file is located.
  1. Stor2rrd setup
  • Follow instructions from http://www.stor2rrd.com/INFINIDAT-Infinibox-monitoring.htm
  • Create encrypted stor2rrd password
    • $ cd /home/stor2rrd/stor2rrd
    • $ perl bin/spasswd.pl
  • example of Infinibox entryin etc files (etc file is stored at /home/stor2rrd/stor2rrd/etc/storage-config.cfg)
    • Infinibox_2990:INFINIBOX:192.168.0.11:stor2rrd:KT4mXVIssss0BUPjZdVQo=
  • Check new config:
    • $ cd /home/stor2rrd/stor2rrd
    • $ ./bin/config_check.sh Infinibox_2990
  1. Grafana setup.

Lets Use it!

  1. Login to http://localhost:8080/stor2rrd
  • Configure Alerts/reports
  • Create Dashboards
  1. Login to http://localhost:3000
  • Create Dashboards

Lessons Learned

  • Not to reinvent the wheel and use what has already been proved stable.
  • Password for user(lpar2rrd) polling the array:
 $ cd /home/stor2rrd/stor2rrd
 $ perl bin/spasswd.pl

    Encode password for storage authentication:
    -------------------------------------------
    Enter password:
    Re-enter password:

    Copy the following string to the password field of the corresponding line in etc/storage-list.cfg:

    //KT4mXVI9N0BUPjZdVQo=\\

  • Symlinks for Stor2rrd to Graphite to Grapana Grafana has to read from Graphite and Graphite is rading from the stor2rrd RRD database at /home/stor2rrd/stor2rrd/data

XoruX/Grafana Docker and GitHub Image

Git repo of the Docker image for XoruX applications - LPAR2RRD & STOR2RRD.(https://github.com/gleeman2/Graph-RRD) This docker image is based on official Debian 8 (jessie) with all necessary dependencies installed. Using images from graphite-project/docker-graphite-statsd forked from hopsoft/docker-graphite-statsd