Skip to content
This repository has been archived by the owner on Aug 28, 2021. It is now read-only.

Commit

Permalink
version 1.3.29
Browse files Browse the repository at this point in the history
  • Loading branch information
guilhemmarchand committed Aug 22, 2017
1 parent d37b503 commit 4222817
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 11 deletions.
11 changes: 9 additions & 2 deletions TA-nmon/bin/nmon2csv.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@
# - 06/30/2017: V1.1.36: Guilhem Marchand: Optimize nmon_processing output and reduce volume of data to be generated #37
# - 08/14/2017: V1.1.37: Guilhem Marchand:
# - silent mode message is shown unconditionally
# - 08/19/2017: V1.1.38: Guilhem Marchand:
# - fix: improve header check for static sections

# Load libs

Expand All @@ -179,7 +181,7 @@
import json

# Converter version
nmon2csv_version = '1.1.37'
nmon2csv_version = '1.1.38'

# LOGGING INFORMATION:
# - The program uses the standard logging Python module to display important messages in Splunk logs
Expand Down Expand Up @@ -1413,6 +1415,8 @@ def write_json(input, json_file):

def standard_section_fn(section):

header_found = False

# if generating json data
if json_output:

Expand Down Expand Up @@ -1555,6 +1559,9 @@ def standard_section_fn(section):
if header_match:
header = header_match.group(2)

# header has been found
header_found = True

# increment
count += 1

Expand All @@ -1575,7 +1582,7 @@ def standard_section_fn(section):
# Old Nmon version sometimes incorporates a Txxxx reference in the header, this is unclean
# but we want to try getting the header anyway

elif not fullheader_match:
if not header_found:
# Assume the header may start with Txxx, then 1 non alpha char
myregex = '(' + section + ')\,(T\d+),([a-zA-Z]+.+)'
fullheader_match = re.search(myregex, line)
Expand Down
6 changes: 6 additions & 0 deletions TA-nmon/bin/nmon_external_cmd/nmon_external_snap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,9 @@ echo "PROCCOUNT,$1,`ps -ef | wc -l`" >>NMON_FIFO_PATH/nmon_external.dat &

# Uptime information (uptime command output)
echo "UPTIME,$1,\"`uptime | sed 's/^\s//g' | sed 's/,/;/g'`\"" >>NMON_FIFO_PATH/nmon_external.dat &

# df table information
DF_TABLE=`df -k -P | sed '1d' | egrep -v '\s\/proc$|\s/dev$|\s\/run$|^tmpfs.*\/dev.*$|^tmpfs.*\/run.*$|^tmpfs.*\/sys.*$|^tmpfs.*\/var.*$' | awk '{print $6}'`
for fs in $DF_TABLE; do
echo "DF_STORAGE,$1,`df -k -P $fs | sed '1d' | sed 's/%//g' | sed 's/,/;/g' | awk '{print $1 "," $2 "," $3 "," $4 "," $5 "," $6}'`" >>NMON_FIFO_PATH/nmon_external.dat
done
6 changes: 5 additions & 1 deletion TA-nmon/bin/nmon_external_cmd/nmon_external_start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
# Guilhem Marchand 2017/03/18, initial version
# Guilhem Marchand 2017/03/29, protect against unexpecting failure in NMON_EXTERNAL_DIR getting value
# Guilhem Marchand 2017/06/09, use dedicated files for external header and data
# Guilhem Marchand 2017/08/17, Adding DF table

# Version 1.0.2
# Version 1.0.3

# For AIX / Linux / Solaris

Expand Down Expand Up @@ -39,3 +40,6 @@ echo "PROCCOUNT,Process Count,nb_running_processes" >>NMON_FIFO_PATH/nmon_extern

# uptime information
echo "UPTIME,Server Uptime and load,uptime_stdout" >>NMON_FIFO_PATH/nmon_external_header.dat

# DF table (file systems usage)
echo "DF_STORAGE,File system disk space usage,filesystem,blocks,Used,Available,Use_pct,mount" >>NMON_FIFO_PATH/nmon_external_header.dat
2 changes: 1 addition & 1 deletion TA-nmon/default/app.conf
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ label = TA-nmon
[launcher]
author = Guilhem Marchand
description = Technical Addon for Nmon Performance Monitor
version = 1.3.28
version = 1.3.29
4 changes: 2 additions & 2 deletions TA-nmon/default/eventtypes.conf
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ search = index=nmon* sourcetype=nmon_data (type="FILE" OR type="PROC*" OR type="
search = index=nmon* sourcetype=nmon_data (type="IOADAPT" OR type="FC")

[nmon:performance:storage]
search = index=nmon* sourcetype=nmon_data (type="DISK*" OR type=DG* OR type="JFS*")
search = index=nmon* sourcetype=nmon_data (type="DISK*" OR type=DG* OR type="JFS*" OR type="DF_STORAGE")

[nmon:performance:network]
search = index=nmon* sourcetype=nmon_data (type="NET*" OR type="NFS*" OR type="SEA*")
Expand Down Expand Up @@ -72,7 +72,7 @@ search = index=nmon* sourcetype=nmon_data type="MEM"

# CIM - Performance
[storage_metrics]
search = index=nmon* sourcetype=nmon_data (type="DG*" OR type="JFSFILE")
search = index=nmon* sourcetype=nmon_data (type="DG*" OR type="JFSFILE" OR type="DF_STORAGE")

# CIM - Performance
[network_metrics]
Expand Down
2 changes: 1 addition & 1 deletion TA-nmon/default/nmonparser_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

"AIX_WLM":["WLMCPU", "WLMMEM", "WLMBIO"],

"nmon_external":["UPTIME", "PROCCOUNT"],
"nmon_external":["UPTIME", "PROCCOUNT", "DF_STORAGE"],

"nmon_external_transposed":[""]

Expand Down
11 changes: 7 additions & 4 deletions TA-nmon/default/props.conf
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,13 @@ FIELDALIAS-Command = Command as process
FIELDALIAS-process_id = PID as process_id
EVAL-user = case(type=="TOP", if(isnotnull(username), username, "undefined"))

# CIM normalization for storage metrics
FIELDALIAS-mount = device as mount
EVAL-storage_used_percent = case(type=="JFSFILE", value)
EVAL-storage_free_percent = case(type=="JFSFILE", (100 - value))
# CIM normalization for storage metrics (JFSFILE and nmon external DF_STORAGE)
EVAL-mount = case(type=="JFSFILE", device, type=="DF_STORAGE", mount)
EVAL-storage = case(type=="DF_STORAGE", round((blocks/1024), 2))
EVAL-storage_free = case(type=="DF_STORAGE", round(((blocks-Used)/1024), 2))
EVAL-storage_free_percent = case(type=="DF_STORAGE", (100-Use_pct), type=="JFSFILE", (100 - value))
EVAL-storage_used = case(type=="DF_STORAGE", round((Used/1024), 2))
EVAL-storage_used_percent = case(type=="DF_STORAGE", Use_pct, type=="JFSFILE", value)

# Non CIM for disk extended statistics (DG*)
EVAL-disk_backlog_time_ms = case(type=="DGBACKLOG", value)
Expand Down
Binary file renamed TA-nmon_1328.tgz → TA-nmon_1329.tgz
Binary file not shown.
7 changes: 7 additions & 0 deletions docs/releasenotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ Requirements
What has been fixed by release
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

========
V1.3.29:
========

- fix: Python parser - header detection correction for nmon external monitoring
- feature: Add df information for improved file system monitoring and storage capacity planning

========
V1.3.28:
========
Expand Down

0 comments on commit 4222817

Please sign in to comment.