[Xymon] CPU utilization column

Christian xymon at elysiria.fr
Mon Jan 12 07:57:40 CET 2015


 

 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 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20150112/ccf79a0c/attachment.html>


More information about the Xymon mailing list