nv-l

RE: [nv-l] snmpCollect "bang" files

2004-04-01 09:39:07
Subject: RE: [nv-l] snmpCollect "bang" files
From: "Barr, Scott" <Scott_Barr AT csgsystems DOT com>
To: <nv-l AT lists.us.ibm DOT com>
Date: Thu, 1 Apr 2004 08:27:42 -0600
Greetings again from snmpCollectHell. I am still struggling with this and since I havn't had a lot of responses I am assuming the question I asked wasn't thorough or clear enough so I want to try this again.

NetView 7.1.4
Solaris 2.8

Requirements:

We have an application we wrote which produces "statistical" data which is written out to files. It's written in some sort of bizarre format which defies the logic of known human beings but my colleague wrote a parsing program for it. His program opens the files, pulls out the stats we need and using Perl, opens a socket connection to a Perl receiver running on the NetView server.

The receiver progam accepts the socket data and populates the snmpCollect database with both a data file and a bang file for each "pool" of users on the gateway servers mentioned above. The goal is to be able to graph in xnmgraph (and thus in Tavve PreView) these various statistics. The first one we have implememented is a simple - how many users logged on to each pool every hour.

I realize this forum is for the support of third party products like Tavve but if I can graph the data in xnmgraph I'll be happy and deal with any Tavve issues afterwards. For now, a graph out of xnmgraph is all I really want/need.

I have built my own mib and loaded it in Netview and I have also started bogus snmpCollect data "collections" (basically I told it to go get the user count once a day). This is required for Tavve later and not specifically required for xnmgraph (I think).

Here is what's in snmpCol.conf:

MIB .1.3.6.1.4.1.10000.1.1.1 UserCount units INTEGER R
C milipgw1.co.csgsystems.com 86400 0.000000 0.000000 xA s 58720263 ALL -
C milipgw2.co.csgsystems.com 86400 0.000000 0.000000 xA s 58720263 ALL -
C milipgw3.co.csgsystems.com 86400 0.000000 0.000000 xA s 58720263 ALL -

Here is my mib loaded in NetView:

CSG-MIB DEFINITIONS ::= BEGIN
csg-ipg                 OBJECT IDENTIFIER ::= { enterprises 10000 }
pool                    OBJECT IDENTIFIER ::= { csg-ipg 1 }
poolName                OBJECT IDENTIFIER ::= { pool 1 }

UserCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                        "Hourly Count of Users accessing the pool"
        ::= { poolName 1 }

TranCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                        "Transaction count from pool activity."
        ::= { poolName 2 }
END

Obviously, since there is no snmpAgent on the server to answer these queries, the collection will fail but that really isn't an issue. Tavve just requires there to be a collection enabled in the snmpCol.conf in order to dynamically build it's web page links.

Problem:
 
Whenever I attempt to "graph all collected data" for these servers I get the following error message:
 
ERROR: Could not convert _expression_ or MIB variable
".1.3.6.1.4.1.10000.1.1.1" using MIB database
"/usr/OV/conf/mibExpr.conf": No such _expression_


Here is a sample bang file:

units
INTEGER
.1.3.6.1.4.1.10000.1.1.1
BRES_WINNI01
Now, the last entry is probably the issue. I have been told, and have tested, non-numeric instance names. What I believe is that (from Janes comment) the last entry of "BRES_WINNI01" is being interpreted as a MIB _expression_ name. I have tried counter as the data type and I have also tried building a dummy mibExpr.conf entry (I have NO experience with this file and my reverse polish notation is really, really bad). Here is what I tried:
 
ipgUserCount \
"UserCount * 1" \
.1.3.6.1.4.1.10000.1.1.1. 1 *

It was my goal to make this MIB _expression_ just multiply the number by one for any instances of this MIB variable regardless of the instance name. This did not work however and produced a slightly different error message.

Here is my sample data trying to be graphed (note time and date still messed up in these examples)

04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 2
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 2
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 2
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 3
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 3
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 3
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 1
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 3
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 3
04/01/94 07:00:00 PM milipgw1.co.csgsystems.com 0
04/01/94 07:00:00 PM milipgw2.co.csgsystems.com 3
04/01/94 07:00:00 PM milipgw3.co.csgsystems.com 4

Any assistance would be appreciated. I may end up opening a PMR to get this figured out.
 
- Scott

 

<Prev in Thread] Current Thread [Next in Thread>