What to expect in upcomming releases of AseMon.
In current release there are limited support for User Defined OS Monitoring, which you can add to the Configuration file
In future release, the plan is to add a Wizard where you can add User Defined Host Monitor Counters and maybe support for diff/rate counters as well.
With a Used Defined OS Monitoring you could for example Monitor Outputs from your Application Server or in whatever way you think is's usable.
#-------------------------------------------------
# Example of a simple file list
# isStreaming=false, means that it's executed at every AseMon sample interval
#-------------------------------------------------
hostmon.udc.TestGoransLs.displayName = List of files in $HOME
hostmon.udc.TestGoransLs.description = This would be the tooltip help on the Tab for: List of files in $HOME
hostmon.udc.TestGoransLs.osCommand = ls -Fl | egrep -v '^d'
hostmon.udc.TestGoransLs.osCommand.isStreaming = false
hostmon.udc.TestGoransLs.addStrColumn.umode = {length=10, sqlColumnNumber=1, parseColumnNumber=1, isNullable=false, description=xxx}
hostmon.udc.TestGoransLs.addIntColumn.files = { sqlColumnNumber=2, parseColumnNumber=2, isNullable=true, description=xxx}
hostmon.udc.TestGoransLs.addStrColumn.owner = {length=10, sqlColumnNumber=3, parseColumnNumber=3, isNullable=true, description=xxx}
hostmon.udc.TestGoransLs.addStrColumn.group = {length=10, sqlColumnNumber=4, parseColumnNumber=4, isNullable=true, description=xxx}
hostmon.udc.TestGoransLs.addIntColumn.sizeInBytes = { sqlColumnNumber=5, parseColumnNumber=5, isNullable=true, description=xxx}
hostmon.udc.TestGoransLs.addStrColumn.date = {length=10, sqlColumnNumber=6, parseColumnNumber=6, isNullable=true, description=xxx}
hostmon.udc.TestGoransLs.addStrColumn.time = {length=5, sqlColumnNumber=7, parseColumnNumber=7, isNullable=true, description=xxx}
hostmon.udc.TestGoransLs.addStrColumn.filename = {length=99, sqlColumnNumber=8, parseColumnNumber=8, isNullable=true, description=xxx}
#-------------------------------------------------
# Example of mpstat
# isStreaming=true, means that it's executed once, and a background thread parses the output stream from the command
# and on each AseMon sample interval, a average calculation is done on the sampled records.
# numOfSamples is an counter indicator, which reflects how many sampled records the average is based on.
#-------------------------------------------------
hostmon.udc.TestGoransMpstat.displayName = UD Mpstat
hostmon.udc.TestGoransMpstat.description = This would be the tooltip help on the Tab for: UD Mpstat
hostmon.udc.TestGoransMpstat.osCommand = mpstat -P ALL 1
hostmon.udc.TestGoransMpstat.osCommand.isStreaming = true
hostmon.udc.TestGoransMpstat.addStrColumn.CPU = {length=30, sqlColumnNumber=1, parseColumnNumber=3, isNullable=false, description=Processor number. The keyword all indicates that statistics are calculated as averages among all processors.}
hostmon.udc.TestGoransMpstat.addIntColumn.numOfSamples = { sqlColumnNumber=2, parseColumnNumber=0, isNullable=true, description=Number of 'sub' sample entries of iostat this value is based on}
hostmon.udc.TestGoransMpstat.addStatColumn.usrPct = {precision=10, scale=1, sqlColumnNumber=3, parseColumnNumber=4, isNullable=true, description=Show the percentage of CPU utilization that occurred while executing at the user level (application).}
hostmon.udc.TestGoransMpstat.addStatColumn.nicePct = {precision=10, scale=1, sqlColumnNumber=4, parseColumnNumber=5, isNullable=true, description=Show the percentage of CPU utilization that occurred while executing at the user level with nice priority.}
hostmon.udc.TestGoransMpstat.addStatColumn.sysPct = {precision=10, scale=1, sqlColumnNumber=5, parseColumnNumber=6, isNullable=true, description=Show the percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this does not include time spent servicing hardware and software interrupts.}
hostmon.udc.TestGoransMpstat.addStatColumn.iowaitPct = {precision=10, scale=1, sqlColumnNumber=6, parseColumnNumber=7, isNullable=true, description=Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.}
hostmon.udc.TestGoransMpstat.addStatColumn.irqPct = {precision=10, scale=1, sqlColumnNumber=7, parseColumnNumber=8, isNullable=true, description=Show the percentage of time spent by the CPU or CPUs to service hardware interrupts.}
hostmon.udc.TestGoransMpstat.addStatColumn.softPct = {precision=10, scale=1, sqlColumnNumber=8, parseColumnNumber=9, isNullable=true, description=Show the percentage of time spent by the CPU or CPUs to service software interrupts.}
hostmon.udc.TestGoransMpstat.addStatColumn.stealPct = {precision=10, scale=1, sqlColumnNumber=9, parseColumnNumber=10, isNullable=true, description=Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.}
hostmon.udc.TestGoransMpstat.addStatColumn.guestPct = {precision=10, scale=1, sqlColumnNumber=10, parseColumnNumber=11, isNullable=true, description=Show the percentage of time spent by the CPU or CPUs to run a virtual processor.}
hostmon.udc.TestGoransMpstat.addStatColumn.idlePct = {precision=10, scale=1, sqlColumnNumber=11, parseColumnNumber=12, isNullable=true, description=Show the percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.}
hostmon.udc.TestGoransMpstat.setPkColumns = CPU
hostmon.udc.TestGoransMpstat.setPercentColumns = usrPct, nicePct, sysPct, iowaitPct, irqPct, softPct, stealPct, guestPct, idlePct
hostmon.udc.TestGoransMpstat.setSubSampleColumn = numOfSamples
hostmon.udc.TestGoransMpstat.setParseRegexp = DEFAULT
hostmon.udc.TestGoransMpstat.skipRows.CPU = CPU
#--------------------------------- OK, lets attach a graph to it as well
hostmon.udc.TestGoransMpstat.graph=true
hostmon.udc.TestGoransMpstat.graph.type=byRow
hostmon.udc.TestGoransMpstat.graph.name=mpstatGraph
hostmon.udc.TestGoransMpstat.graph.label=MpStat Graph
hostmon.udc.TestGoransMpstat.graph.menuLabel=MpStat Graph
hostmon.udc.TestGoransMpstat.graph.data.cols=idlePct
hostmon.udc.TestGoransMpstat.graph.data.methods=absVal
hostmon.udc.TestGoransMpstat.graph.data.labels=-pk-