remkodobber

qos_server - Probe that generates Top-10 information

Discussion created by remkodobber on Oct 28, 2008
Latest reply on Sep 3, 2010 by ntimm

Requirements

NimBUS 3.50 datamodel; Activeperl 5.8; Perl_SDK; Access to NimbusSLM database via ODBC.

Drop the probe on your server. Define a SYSTEM ODBC connection (DSN) to the NimbusSLM database. Update configuration file:


datasource = nimbusSLM    # The ODBC DSN you defined
dbuser = sa               # A database user with owner rights on NimbusSLM.
dbpassword = sa           # The password.
The dbuser & dbpassword can be left blank if you're using Windows integrated authentication.

Usage

The timed probe will run every 5 minutes and do the following:


The first time it runs, it copies the S_QOS_DATA table to RD_QOS_DATA. It also does this whenever a new QoS object is added.

Every 5 minutes, it will update the RD_QOS_DATA.sampletime and RD_QOS_DATA.smaplevalue fields with the last measured QoS value. This can then be used in top 10 dashboard tables (EC or SDP) by pointing to a generic database query and entering a query like, for example:
SELECT source, target, sampletime, samplevalue
FROM RD_QOS_DATA
WHERE qos = 'QOS_URL_RESPONSE' AND (getdate()-sampletime) < 0.1
ORDER BY samplevalue DESC
This query will retrieve the last measured values for all url_response profiles, order descending, and it also makes sure to get only recent data (one would probably not want days old data in the table).

Using Nimbus Information Store as the data source:

This query will retreive the top 10 servers that have the least amount of disk space.

select top 10 source,target,samplevalue from rd_qos_data 
where probe ='cdm'and qos ='QOS_DISK_USAGE_PERC' ORDER BY samplevalue DESC

This query will retreive the top 10 processes consuming CPU accross all servers.

select top 10 source,target,samplevalue from rd_qos_data 
where probe ='processes'and qos ='QOS_PROCESS_CPU' ORDER BY samplevalue DESC

This query will show top 10 servers by CPU (with or without qos_server)

SELECT TOP 10 RTRIM(RobotName),RTRIM(RobotIP),RTRIM(CPU_Usage)
FROM GRP_SERVER WHERE nimbus_type LIKE ('controller')ORDER BY CPU_Usage DESC

This query will show top 10 interfaces by utilization (with or without qos_server)

SELECT  TOP 10 RTRIM(device),RTRIM(interface),RTRIM(in_utilization),RTRIM(out_utilization) 
from GRP_INTERFACE order by in_utilization desc


DISCLAIMER

This probe is meant a an example. It will make your database work harder, and on a large system it might not finish in the 5 minutes allotted by the probe definition. In this case, feel free to:
 
1) increase the interval to, for example, 60 minutes;
2) optimize the code, or
3) change the code to include only qos metrics you want to display in your top-10 reports.

Outcomes