RT_FCMeter - Display "utilization data" on an old fashioned VDO like meter.

Submitted by admin on Sat, 08/21/2010 - 17:36

FC_RTMeter is a tool that is perfect for displaying utilization like data. It can be used to show CPU utilization, temperature or humidity that is measured by an snmp enabled sensor, Disk busy or free space percentage etc etc. It is highly customizable through the use of an xml config file. FC_RTMeter supports SNMPv1, SNMPv2 and SNMPv3 and runs on all Windows versions from Windows XP onwards.

FC_RTMeter explained

Free version versus commercial version

The free version is limited to supporting the mib-2 OIDs (all OIDs under 1.3.6.1.2.1). The licensed/commercial version does not have any limitation!

Commandline

FC_RTMeter can be started from the commandline or through a shortcut on the desktop. The name and location of the config xml file can be specified using the /xml commandline switch as in:

C:\RTMeter\FC_RTMeter.exe /xml "C:\RTMeter\MeterConfig.xml"

Base config file for FC_RTMeter

The config xml file has the following format

<?xml version="1.0"?>
<fccomp>
   <comptype>rtmeter</comptype>
   <programtitle></programtitle>
   <savesettfile></savesettfile>
   <meterangle></meterangle>
   <maxmetervalue></maxmetervalue>
   <decimals></decimals>
   <zone1perc></zone1perc>
   <zone2perc></zone2perc>
   <smoothneedle></smoothneedle>
   <dependentneedlecolor></dependentneedlecolor>
   <zone1color></zone1color>
   <zone2color></zone2color>
   <zone3color></zone3color>
   <bgcolor></bgcolor>
   <textandtickscolor></textandtickscolor>
   <needlecolor></needlecolor>
   <centerdotcolor></centerdotcolor>
   <maxlegendlength></maxlegendlength>
   <left></left>
   <top></top>
   <width></width>
   <height></height>
   <preferredinstance></preferredinstance>
   <charttitle></charttitle>
   <contpanvisible></contpanvisible>
   <piboxvisible></piboxvisible>
   <pollinginterval></pollinginterval>
   <savessfile></savessfile>
   <host></host>
   <community></community>
   <snmpport></snmpport>
   <snmpversion></snmpversion>
   <shooter>
      <raw></raw>
      <shootertargettable>
         <shootertargetentry>
            <oid></oid>
            <instance></instance>
            <delta></delta>
            <visible></visible>
            <formula></formula>
         </shootertargetentry>
      </shootertargettable>
   </shooter>
   <oidtable>
      <oidentry>
         <oid></oid>
         <oiddescr></oiddescr>
         <format></format>
         <oidtype></oidtype>
      </oidentry>
   </oidtable>
   <vendorspecific>
      <vlogofile></vlogofile>
      <vappname></vappname>
      <vappversion></vappversion>
   </vendorspecific>
</fccomp>

The XML tags explained in detail! - The tag reference table.

The reference table for the xml tag descriptions used in the FineConnection components can be found here.

Examples

Attention! Attention! If you copy and paste the xml examples shown below don't forget to modify the "host dependent" fields in order to poll devices in your own network environment. Also, be aware that not all hosts support snmp nor have it enabled by default!

Example 1.

The XML file below is for a meter that collects (every 5 seconds) the incoming bytes (ifInOctets) on a port (should be chosen at runtime) of a switch. <maxmetervalue> is set to "0", meaning "auto".

<?xml version="1.0"?>
<fccomp>
   <comptype>rtmeter</comptype>
   <programtitle>Example 1</programtitle>
   <savesettfile></savesettfile>
   <meterangle>260</meterangle>
   <maxmetervalue>0</maxmetervalue>
   <decimals>0</decimals>
   <zone1perc>60</zone1perc>
   <zone2perc>20</zone2perc>
   <smoothneedle>true</smoothneedle>
   <dependentneedlecolor>false</dependentneedlecolor>
   <zone1color>#00FF00</zone1color>
   <zone2color>#FFFF00</zone2color>
   <zone3color>#FF0000</zone3color>
   <bgcolor>#FFFFFF</bgcolor>
   <textandtickscolor>#000000</textandtickscolor>
   <needlecolor>#000000</needlecolor>
   <centerdotcolor>#FFFFFF</centerdotcolor>
   <maxlegendlength>30</maxlegendlength>
   <left></left>
   <top></top>
   <width></width>
   <height></height>
   <preferredinstance></preferredinstance>
   <charttitle>Incoming bytes/sample</charttitle>
   <contpanvisible>true</contpanvisible>
   <piboxvisible>true</piboxvisible>
   <pollinginterval>5</pollinginterval>
   <savessfile></savessfile>
   <host>uranium</host>
   <community>public</community>
   <snmpport>161</snmpport>
   <snmpversion>1</snmpversion>
   <shooter>
      <raw>true</raw>
      <shootertargettable>
         <shootertargetentry>
            <oid>1.3.6.1.2.1.2.2.1.10</oid>
            <instance>at runtime</instance>
            <delta>true</delta>
            <visible>true</visible>
            <formula></formula>
         </shootertargetentry>
      </shootertargettable>
   </shooter>
   <oidtable>
      <oidentry>
         <oid>1.3.6.1.2.1.2.2.1.10</oid>
         <oiddescr>ifInOctets</oiddescr>
         <format></format>
         <oidtype>Counter32</oidtype>
      </oidentry>
   </oidtable>
   <vendorspecific>
      <vlogofile></vlogofile>
      <vappname></vappname>
      <vappversion></vappversion>
   </vendorspecific>
</fccomp>

Output example 1.

Example 2.

Example 2 shows a meter that can be used to see the interface utilisation of a switchport (or router etc). In order to calculate the utilisation we need the number of Incoming and Outgoing bytes of the port and it's linkspeed. The linkspeed is in bits/sec. The Utilisation of a switch port is given by ((Incoming + Outgoing bits/sec)/Linkspeed bits/sec)x100. ifInOctets and ifOutOctets are in bytes, ifSpeed is in bits/sec!

<?xml version="1.0"?>
<fccomp>
   <comptype>rtmeter</comptype>
   <programtitle>Example 2</programtitle>
   <savesettfile></savesettfile>
   <meterangle>180</meterangle>
   <maxmetervalue>100</maxmetervalue>
   <decimals>0</decimals>
   <zone1perc>60</zone1perc>
   <zone2perc>20</zone2perc>
   <smoothneedle>true</smoothneedle>
   <dependentneedlecolor>false</dependentneedlecolor>
   <zone1color>#00FF00</zone1color>
   <zone2color>#FFFF00</zone2color>
   <zone3color>#FF0000</zone3color>
   <bgcolor>#FFFFFF</bgcolor>
   <textandtickscolor>#000000</textandtickscolor>
   <needlecolor>#000000</needlecolor>
   <centerdotcolor>#FFFFFF</centerdotcolor>
   <maxlegendlength>30</maxlegendlength>
   <left></left>
   <top></top>
   <width></width>
   <height></height>
   <preferredinstance></preferredinstance>
   <charttitle>Interface utilisation</charttitle>
   <contpanvisible>true</contpanvisible>
   <piboxvisible>true</piboxvisible>
   <pollinginterval>5</pollinginterval>
   <savessfile></savessfile>
   <host>192.168.3.10</host>
   <community>public</community>
   <snmpport>161</snmpport>
   <snmpversion>1</snmpversion>
   <shooter>
      <raw>true</raw>
      <shootertargettable>
         <shootertargetentry>
            <oid>1.3.6.1.2.1.2.2.1.10</oid>
            <instance>at runtime</instance>
            <delta>true</delta>
            <visible>false</visible>
            <formula></formula>
         </shootertargetentry>
         <shootertargetentry>
            <oid>1.3.6.1.2.1.2.2.1.16</oid>
            <instance>at runtime</instance>
            <delta>true</delta>
            <visible>false</visible>
            <formula></formula>
         </shootertargetentry>
         <shootertargetentry>
            <oid>1.3.6.1.2.1.2.2.1.5</oid>
            <instance>at runtime</instance>
            <delta>false</delta>
            <visible>false</visible>
            <formula></formula>
         </shootertargetentry>
         <shootertargetentry>
            <oid>Formula1</oid>
            <instance></instance>
            <visible>true</visible>
            <formula>util,((A+B)/$PI)*(8*100)/C,A=1.3.6.1.2.1.2.2.1.10,B=1.3.6.1.2.1.2.2.1.16,C=1.3.6.1.2.1.2.2.1.5,</formula>
         </shootertargetentry>
         <shootertargetentry>
            <oid>AL=1.3.6.1.2.1.2.2.1.2</oid>
            <instance></instance>
            <visible>false</visible>
            <formula></formula>
         </shootertargetentry>
      </shootertargettable>
   </shooter>
   <oidtable>
      <oidentry>
         <oid>1.3.6.1.2.1.2.2.1.10</oid>
         <oiddescr>ifInOctets</oiddescr>
         <format></format>
         <oidtype>Counter32</oidtype>
      </oidentry>
      <oidentry>
         <oid>1.3.6.1.2.1.2.2.1.16</oid>
         <oiddescr>ifOutOctets</oiddescr>
         <format></format>
         <oidtype>Counter32</oidtype>
      </oidentry>
      <oidentry>
         <oid>1.3.6.1.2.1.2.2.1.5</oid>
         <oiddescr>ifSpeed</oiddescr>
         <format></format>
         <oidtype>Gauge32</oidtype>
      </oidentry>
      <oidentry>
         <oid>1.3.6.1.2.1.2.2.1.2</oid>
         <oiddescr>ifDescr</oiddescr>
         <format></format>
         <oidtype>OctetString</oidtype>
      </oidentry>
   </oidtable>
   <vendorspecific>
      <vlogofile></vlogofile>
      <vappname></vappname>
      <vappversion></vappversion>
   </vendorspecific>
</fccomp>

Output example 1.

© 2000-2012 FineConnection. Drupal theme by Kiwi Themes.