Git Product home page Git Product logo

sparta's Introduction

README file for SPARTA (System Performance And Reporting Tool Analyser)
=======================================================================

This package contains a number of scripts and utilities that need to
be installed in order to gather performance data from a NexentaStor
appliance.


Installation
------------
In the directory where this package has been unpacked, run the
installer.sh script to install.  This will create a /perflogs directory
and copy the scripts and utilities to that directory.  If there is
insufficient space in the syspool you will not be able to continue
(at the time of writing this is 1GB).

# ./installer.sh

Once installed you'll need to invoke the /perflogs/scripts/sparta.sh
script with arguments (see below) to start collecting data.


Running
-------
The sparta.sh script takes the following arguments but is typically
invoked using 'sparta.sh <command>' where the command may be one
of the following:

   sparta.sh start	 : Starts the data collection
   sparta.sh stop 	 : Stops any active dtrace scripts
   sparta.sh status	 : Displays which dtrace scripts are running
   sparta.sh tarball	 : Generates a tarball of /perflogs (can be quite LARGE)
   sparta.sh version     : Displays the version of SPARTA

There are several optional switches that can be supplied to enable
NFS, CIFS or iSCSI monitoring thus:

   sparta.sh -N	start : Enable NFS scripts
   sparta.sh -C start : Enable CIFS scripts
   sparta.sh -I start : Enable iSCSI scripts
   sparta.sh -S start : Enable STMF (COMSTAR) scripts
        
*** NOTE ***
  These will be in *addition* to any pre-configured protocol that may have been
  selected by the installer utility.

If you don't specify a command using the switch, then nothing will happen, thus 
it's imperitive a command be given. 

[ It also accepts a -h | -help | -? switch to dump out a help page ]


Additional Switches
-------------------
There are additional switches that may be supplied to sparta.sh thus:

  -p <zpool_list>	: Invoke ZFS specific monitoring on the given list
			  of pools.  The zpool_list should be separated by
			  commas, eg:

			# sparta.sh -p vmachines,datstore

  -P <protocol_list>	: Enable explicit protocol tools for the given list
		 	  of protcols (cifs, iscsi, nfs or stmf), separated by
			  commas, eg:

			# sparta.sh -P nfs,cifs

			  Specifying the protocol list this way will disable
			  all non-specified protocols, regardless of whether
		          they have been set by the installation process.


Automatic Updates
-----------------
SPARTA will attempt to connect to an Internet based server in order to check
for and download an updated version of itself.
It does this automatically when invoked, however if you wish to skip the auto
update feature because the appliance is behind a firewall or the auto update
feature failed to work, you should invoke sparta.sh with a -u switch.
This takes either a yes or no keyword, to either enable the automatic update
feature (enabled by default) or bypass the feature.

Thus to bypass the automatic update check, use:

  sparta.sh -u no start



SPARTA progress
---------------
The script runs through numerous dtrace scripts and utilities, collecting
data as it progresses and outputing to the screen the status of the
collection.

You may also monitor the sparta.log file in the /perflogs directory which
contains slightly more detail.

Ideally the script should be run once when the appliance is not
experiencing performance issues, such that a baseline can be established.
If a baseline is to be established, collect between 30 - 60 minutes of
dtrace data before stopping the script and then generating a tarball 
which can then be uploaded to Nexenta for further analysis.

Example:

# cd /perflogs/scripts
# ./sparta.sh start

(wait 30 - 60 minutes)

# ./sparta.sh stop
# ./sparta.sh tarball

The script has been designed to be left running in order to capture data
when a performance problem arises, so start SPARTA and leave it running
however it is presently advisable to monitor the space usage of the /perflogs
directory to ensure this doesn't fill up too rapidly.



Post Run
--------
After the script has been run, you'll be asked whether you wish to generate
a tarball of the collected data *SO FAR*.
Bear in mind this is usually about 3 minutes worth of data, so it is barely
any data to work with and possibly a useable baseline during a quiet period.

If you answer yes a tarball will be created.
Alternatively you can run:

  sparta.sh tarball

and this will generate a tarball.
Once a tarball has been generated that captures a performance problem, please
upload this to the Nexenta FTP server.



Example tarball output
----------------------

# /perflogs/scripts/sparta.sh tarball
Generating a tarball of collected performance data
Creating tarball ... done
Compressing tarball ... done

A snapshot of the currently collected data has been collected.
Please upload /var/tmp/nexenta_perf_data-2013-10-23_16:58:42.tar.gz to ftp.nexenta.com:/upload/<CASE_REF>
where <CASE_REF> should be substituted for the case reference number
of the performance issue is being investigated.

Please update your case reference in http://login.salesforce.com 
or contact [email protected] if there are additional questions.

sparta's People

Contributors

jasonba avatar kdavyd avatar

Watchers

James Cloos avatar  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.