Introduction

NMON is short for Nigel’s Performance Monitor, it is available on AIX Systems, Solaris (with Sarmon), and Linux Systems.

  • nmon for Linux is open source under GPL: http://nmon.sourceforge.net

  • nmon for AIX is not open source but is integrated into topas command from:

    • AIX 5.3 TL09
    • AIX 6.1 TL02

See: http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon

This is a great “all in one” Performance Monitor tool that provides a very large amount of system performance information, and it can be used in different scenarios.

The first way to use NMON is running the “nmon” command in terminal, which opens a Real time monitoring terminal interface, giving you access to many system metrics within a single screen:

nmon_screen1

nmon is also very often used as a Capacity Planning and Performance tool by running the nmon process in a csv generating mode all along it’s run time, for later cold Analyse.

Here are some useful links about NMON:

Analysing NMON csv data is not easy because it has a very specific format Splunk cannot directly manage. (one big problem stands in the event time stamp identification which is very uncommon and defined by a non time stamp pattern)

This is why I decided to develop this App, based on my own professional experience in Unix systems Capacity Planning, to provide to anyone interested a powerful too to Analyse NMON data with an Enterprise Class Application.

How it works

In a few words, here is how the App works:

  • The Nmon core application contains all the views, data models, configurations and related objects
  • The TA-nmon which is the technical addon for the Nmon Performance application contains binaries and scripts to manage the nmon data
  • The TA-nmon once installed starts immediately to collect and transforms nmon performance and configuration data
  • The default configuration indexes data into the “nmon” index (by default)

Splunk Data structure

nmon_data

Performance metrics data ordered by the key “type” which corresponds to the nmon section metric item (CPU_ALL, LPAR…):

index=nmon sourcetype=nmon_data

Eventtype::

eventtype=nmon:performance

nmon_config

Configuration data extracted by nmon2csv converters, corresponds to AAA and BBB* sections of nmon raw data:

index=nmon sourcetype=nmon_config

Eventtype::

eventtype=nmon:config

nmon_collect

Output of the nmon_helper.sh script which is responsible for nmon instances launches:

index=nmon sourcetype=nmon_collect

Eventtype::

eventtype=nmon:collect

nmon_processing

Output of nmon2csv Python and Perl converters (conversion of nmon raw data into csv data):

index=nmon sourcetype=nmon_processing

Eventtype::

eventtype=nmon:collect

nmon_clean

Output of the nmon_cleaner.sh script (interface to nmon_helper.py | nmon_helper.pl) which is responsible for nmon raw data file cleaning:

index=nmon sourcetype=nmon_clean

Eventtype::

eventtype=nmon:clean

Available packages

There are different packages: