Xymon Mailing List Archive search

CPU utilization column

3 messages in this thread

list Eli · Sun, 11 Jan 2015 17:50:40 -0700 ·
I want to create separate column for CPU utilization % is that possible take out from trend or other method. 

Thanks,
Eli
list Christian · Mon, 12 Jan 2015 07:57:40 +0100 ·
quoted from Eli
 

 Le 2015-01-12 07:01, Eli via Xymon a écrit : 
I want to create
separate column for CPU utilization % is that possible take out from
trend or other method. 

Thanks, 
Eli
Hi, 

I use a personal
script to do that: 

--- cut here --- 

#!/usr/bin/perl 

# written by
JC Simonetti
# version: 1.0, 2014-07-19 

use warnings;
use strict;
use
Hobbit;
use SNMP; 

if (! -x '/usr/bin/vmstat') {
 exit 0;
}
if (! -x
'/usr/bin/tail') {
 exit 0;
} 

my $bb = new Hobbit('cpuUsage');


$bb->print("CPU Usage:nn"); 

#my @output = `/usr/bin/vmstat 1
2|/usr/bin/tail -1 2>&1` or die;
#foreach my $line (@output) {
# if (
$line =~
/d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+d+s+(d+s+)d+s+/ )
{
# my $idle = defined($1)?$1:-1;
# my $color = "green";
# if ($idle <
30) {
# $color="yellow";
# }
# if ($idle < 10) {
# $color = "red";
# }
#
my $used = 100-$idle . " %";
# $bb->color_line($color, $used);
# }
#}


my $session = new SNMP::Session(
 DestHost => "127.0.0.1",
 Community
=> "netcomm",
 Version => "2"
); 

my $vb = new
SNMP::Varbind(["UCD-SNMP-MIB::ssCpuIdle", 0]);
my $var =
$session->get($vb);
my $output;
my $idle = -1;
if ($var =~
/NOSUCHINSTANCE/) {
 $var = -1;
}
if ($session->{ErrorNum}) {
 $output =
$session->{ErrorStr};
} else {
 $idle = $var;
 $output = 100-$var . "
%";
} 

my $color = "green";
if ($idle < 30) {
 $color = "yellow";
}
if
($idle < 10) {
 $color = "red";
}
$bb->color_line($color, $output);


$bb->send; 

--- cut here --- 

You'll see I use 2 methods to get back
the CPU Usage: either by the system "vmstat" command (commented out in
my script) or by SNMP (don't forget to adapt your "community"). 

The
script is called "/etc/hobbit/ext/cpuUsage", and there's also a config
file "/etc/hobbit/clientlaunch.d/cpuUsage" that contains: 
--- cut here
--- 
[cpuUsage] 
#DISABLED 
ENVFILE /etc/hobbit/hobbitclient.cfg 
CMD
/etc/hobbit/ext/cpuUsage 
LOGFILE /var/log/hobbit/hobbitclient.log

INTERVAL 1m 
--- cut here --- 

This configuration will create a
"cpuUsage" column with the percentage. The color values are for the
moment hardcoded in the script: less than 30% free is yellow, less than
10% free is red. Adapt them if you want :) 

My script is quite basic
and all error use cases are not covered :) 

Sincerely. 

--


Jean-Christian
list Eli · Mon, 12 Jan 2015 06:23:19 -0700 ·
Thank you so very much.

Christian <user-89dccf1f18cb@xymon.invalid> wrote: