Njmon-OlderVersions

njmon - Older Versions

njmon for Linux 1 April 2019
  • njmon for Linux version 22 C source code and Makefile example njmon_linux_code_v22.zip - 18 KB.
  • njmon for Linux version 22 pre-compiled njmon_linux_binaries_v22.zip - 257 KB for
    ppc64 (Ubuntu18.04, RHEL 7.5) and AMD64/x86_64 (Ubuntu18.04, RHEL 7.5)
  • Unchanged: njmon for Linux Command line options and njmon -? output: njmon4LinuxCommandLine
  • Added PURR and SPURR counters for POWER hardware - these are hardware CPU register use counters (the S is for scaled use to indicated variably CPU frequencies
    • Underclocking to save electricity and running cooler
    • Overclocking for high performance for POWER8 and POWER9
    • In the case of a PowerVM LPAR njmon needs to be run as the root user due to /sys filesystem permissions
    • Useful for Capacity Planning
  • Fix to network details for a case of an online network without IP address
  • Removed compile option -D STAY_FOREGROUND
njmon for Linux 13 March 2019
  • Note the previous version 20 included a big bug - I forgot to comment out a debugging statement so it crashs after the first stats capture
  • njmon for Linux version 21 C source code and Makefile example njmon_linux_code_v21.zip - 17 KB.
  • njmon for Linux version 21 pre-compiled njmon_linux_binaries_v21.zip - 300 KB for
    ppc64 (Ubuntu18.04, RHEL 7.5 and SLES 15) and AMD64/x86_64 (Ubuntu18.04, RHEL 7.5)
  • njmon for Linux Command line options and njmon -? output: njmon4LinuxCommandLine
    • If you want other hardware + Distro combination - ask! Or compile it your self (it is only one file & GNU gcc)
    • Older compiled binary for RHEL 6.9 njmon_AMD64_rhel69_v18
njmon for AIX 21st Feb 2019
  • njmon for AIX/VIOS version 19 pre-compiled njmon_aix_v19.zip - 1.2 MB for AIX 6.1, AIX 7.1, AIX 7.TL2, AIX 7.2 TL3, VIOS 2.2, VIOS 3.1
  • Improved debugging output for tracking problems
  • njmon for AIX/VIOS version 19 C code njmon_aix_v19.c
njmonchart v2 1st Feb 2019
  • njmonchart for AIX/VIOS version 2 njmonchart_aix_v2.py - handles old runqueue (wrongly an integer) & new run_queue (a floating point)
njmon for AIX/VIOS 1st Feb 2019
  • njmon for AIX/VIOS version 18 pre-compiled njmon_aix_v18.zip - 1.2 MB for AIX 6.1, AIX 7.1, AIX 7.TL2, AIX 7.2 TL3, VIOS 2.2, VIOS 3.1
njmon for AIX/VIOS 28 Jan 2019
  • Updated both AIX and Linux njmon with GPFS stats (now called Spectrum Scale)
    • Only works if you are the root user (GPFS limitation).
    • These are gathers from the mmpmon tool that comes with GPFS but its a ghastly user interface and format - now beautiful JSON
    • The the commands are not found in /usr/lpp/mmfs/bin GPFS stts are silently switched off
    • njmon for AIX/VIOS version 18 njmon_aix_v18.c
    • njmon for Linux version 18 njmon_linux_v18.c
    • For a single GPFS filesystem the output looks like this:
           "gpfs_io_total": {
                "node": "192.168.50.20",
                "name": "ems1-hs",
                "rc": 0,
                "time": 1548688323,
                "tu": 157,
                "readbytes": 355260,
                "writebytes": 355260,
                "open": 16,
                "close": 16,
                "reads": 15,
                "writes": 15,
                "directorylookup": 0,
                "inodeupdate": 0
           },
           "gpfs_filesystems": {
                     "cesroot": {
                     "node": "192.168.50.20",
                     "name": "ems1-hs",
                     "rc": 0,
                     "time": 1548688323,
                     "tu": 157,
                     "cl": "SBANK_ESS.gpfs.net",
                     "disks": 4,
                     "readbytes": 355260,
                     "writebytes": 355260,
                     "open": 16,
                     "close": 16,
                     "reads": 15,
                     "writes": 15,
                     "directorylookup": 0,
                     "inodeupdate": 0
                     }
           }
    • The is some mystery about what these stats mean like: tu, cl, rc (status 0=OK I think), name and is node always an IP address?
    • Six Snapshot sample output including GPFS stats njmon_v18_gpfs_sample_rhel71_pps64.json
njmon for AIX/VIOS 21 Jan 2019
  • Updated both AIX and Linux njmon with more digits after the decimal point for floating point numbers
    • This stops graphs with values under 10 & especially under 1 from getting squared off as 0.1 was the smallest increment
    • njmon for AIX/VIOS version 16 njmon_aix_v16.c
    • njmon for Linux version 17 njmon_linux_v17.c
njmon for Linux 14 Jan 2019
  • njmon for Linux version 16 - added filesystem full percentage "fs_full_percent" and when on POWER/PowerVM added a pool_idle_cpu = unused physical CPU time in the shared CPU pool
njmon for Collector 14 Jan 2019
  • njmon Collector version 15 - single new feature plus some logging clean up
    • Added -c full-filename-of-your-injector so you can have more injectors than the single default filename.
    • Example: njmon_collector -p 8181 -d /home/janet -i -X beetlejuice -c /home/janet/injector_for_DB42.py
    • njmon_collector_v15.c new njmon_collector_v15.c for njmon.
    • njmon_collector_v15.zip Binary of above compiled on x86_64 Ubuntu 18.04, POWER Ubuntu 18.04 and POWER RHEL 7.5
njmon for AIX/Linux 4 Jan 2019
  • Updated both AIX and Linux njmon to allow hostname (new) or IP address for the njmon collector server
Linux njmon to
match the collector
18 Dec 2018
  • Updated the Linux njmon to match the collector support in the AIX version and catch up with other AIX code enhancements
    • njmon for Linux version 12
      • njmon_linux_v12.c new njmon_linux_v12.c for njmon.
      • To compile: gcc -g -O4 -o njmon12 nmon_linux_v12_binaries.zip
      • No dependencies or libraries needed - just the C compiler
      • Added support for njmon_collector v14 (below) by adding -i IP address, -p port -X secret
      • Also -x output the PID and -k option check if njmon already running option
      • Plus the option to count the stats see NJMON_STATS shell variable
      • Plus njmon breaks from the terminal to become a daemon
      • Plus write buffer checking and fixed POWER /proc/lparcfg handing and lscpu column problem
      • Plus better first snapshot time = the -s sec option or 60 seconds - which ever is the least
    • Some pre-compiled binaries for POWER and Intel
    • Sample JSON files for POWER and Intel
Fixed injection/collector 6 Dec 2018
  • Found the issue with injection/collector and fixed in the below code
    • njmon for AIX version 14
      • njmon_aix_v14.c new njmon_aix_v14.c for AIX.
      • njmon_aix_v14.zip new binaries njmon for AIX: AIX 6.1, 7.1, 7.2, 7.3, VIOS 2.x and VIOS 3.x
      • Lots of bug fixed
      • Work around libperfstat paging space returns odd results!
      • runqueue calculation corrected but renamed run_queue - this rename avoid problem in the InfluxDB as it changes a integer to a double
      • plus avoiding divide by zero errors
    • njmon Collector version 14
    • njmon Injector for InfluxDB version 14
      • injector_14.py new injector.py for njmon JSON files in to InfluxDB.
      • See below injector v12 for functional details
      • You MUST edit the InfluxDB host an login and db details
      • Supplied for one snapshot injection. If you want to bulk inject nmon files edit batch=False to batch=True
      • Added logging for debugging - it will create an injector.log file to the directory in which the njmon_collector is running and add one log line each time it pushes data into InfluxDB
    • njmon for AIX version 14 Sample AIX 72 single JSON Snapshot
      • njmon14_AIX72_sample_snapshot.json Simple one CPU, one disk, one Network LPAR has 1000+ stats excluding process stats
      • JSON files: Open them in a browser like Chrome and it lays out the content and shows the hierarchy very nicely. Also, the vim editor (vi on Linux) colourises JSON files for easy reading and syntax checking.