Creates a PDF report out of sar files
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tests
.gitignore
.travis.yml
HACKING
LICENSE
MANIFEST.in
README.md
TODO
requirements.txt
sar_grapher.py
sar_metadata.py
sar_parser.py
sar_stats.py
sarstats
sarstats.spec
setup.cfg
setup.py
sos_report.py
test-requirements.txt
tox.ini

README.md

sarstats

Creates a PDF report out of sar files

Written originally by Ray, I cleaned it up to make it more user-friendly, use less memory and make it multi-processor capable.

demo

Here you can see how such a pdf looks like: http://acksyn.org/software/sarstats/sar19.pdf And a more complex example (~60MB): http://acksyn.org/software/sarstats/sar01.pdf

The following creates a report off 'sar01' and adds a graph with three datasets (udpsck, rawsck,tcp-tw):

./sarstats --out sar01.pdf --custom 'foo:udpsck,rawsck,tcp-tw' /var/log/sa/sar01

To list the names of all the possible graphs just run:

./sarstats --list /var/log/sa/sar01

To export a single custom graph in svg format run:

./sarstats --output base --svg 'ldavg-1,ldavg-5,ldavg-15' \
  --label 'peak:2014-02-17 14:30:00' demo/var/log/sa/

This will produce the following output: svg_output

It is also possible to print a single graph in ascii format:

./sarstats --ascii 'tcp/s' tests/sar-files/1/sar19

                           tcp/s - tests/sar-files/1/sar19

   0.01 +++A-+--+--A--+--+--A--+-+--+--+--+--A--+--+-+--+--+--+--+--+--A--+++
        |  * +     *     +  *  +    +     +  *  +    +     +   tcp/s **A*** |
        |  *       *        *                *                         *    |
        |  *       *        *                *                         *    |
  0.008 ++ *       *        *                *                         *   ++
        |  *       *        *                *                         *    |
        |  *       *        *                *                         *    |
  0.006 ++ *       *        *                *                         *   ++
        |  *       *        *                *                         *    |
        |  *       **       **               **                        **   |
        | **       **       **               **                        **   |
  0.004 ++**       **       **               **                        **  ++
        | **       **       **               **                        **   |
        | **       **       **               **                        **   |
  0.002 ++**       **       **               **                        **  ++
        | **       **       **               **                        **   |
        | **       **       **               **                        **   |
        | ** +     **    +  ** +    +     +  ** +    +     +     +     **   |
      0 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           02:00 04:00 06:00 08:0010:00 12:00 14:0016:00 18:00 20:00 22:00
                                        Time

Q&A

  • Q: Why don't you use 'sadf' instead of doing all that parsing?

  • A: sadf does not parse 'older' SA files. So no RHEL 5 and even RHEL 6 files cannot be parsed on a current (F20) Fedora box.

  • Q: I found a bug, where do I report it?

  • A: Drop me an email or open an issue in github

  • Q: Shouldn't you move to PCP or something more capable anyway?

  • A: Yes, as soon as PCP is more widespread

  • Q: In network graphs with bonding the bond interface is never shown?

  • A: Because, depending on the bonding mode, the underlying ethX interface has the exact same traffic patterns and is drawn afterwards

  • Q: When using --maxgraphs 15 on a big sar file (one with many scsi devices for example) I get a traceback with IOError: Cannot open resource "...."

  • A: You are hitting the file number limit due to the many images that are being opened. Increase the limit per user (https://rtcamp.com/tutorials/linux/increase-open-files-limit/)

Thanks

Luca Miccini, Pablo Iranzo Gomez, Ali Sogukpinar, Freddy Wissinger