[hobbit] wildcards or regex with SPLITNCV

Shawn Heisey elyograg at elyograg.org
Mon Oct 20 21:38:09 CEST 2008


Graham Nayler wrote:
> Shawn
>
> I'm not using SPLITNCV as I wanted a bit more flexibility in the 
> format of the status report (I wanted to have comment line, single 
> colons not delimiting values etc.), but am using an external script. 
> You may find my earlier reply here
> http://www.hswn.dk/hobbiton/2008/10/msg00159.html useful though.
>
> With the external script mechanism you don't need to restart Hobbit if 
> your test generates additional indexes, only if you add new tests. I'm 
> not entirely sure whether SPLITNCV works the same although it looks OK 
> - but you sound perfectly at home with the source, so have a look at 
> that (do_ncv.c). If you're interested, I attach my parsing script to 
> the end of this - enter the test name list and change the regex for 
> your needs. The commented lines were from when I was using a single 
> RRD file for all indices, but that doesn't give the flexibility of 
> displaying multiple graphs, or adding additional indices.
>
I finally got around to looking at this.  I think I'm even more 
confused.  Not sure where you got the idea I'm comfortable with the 
source ... I've looked at the 4.3 sources trying to get rid of warnings 
and get it working, but the only thing that did was remind me just how 
many years it's been since I did any C programming.  My eyes glazed over 
a bit with your python too, I haven't invested any time in that language 
yet.

I'll start at the beginning and tell everyone what it is I'm trying to 
do and the difficulties I'm facing.  This is an attempt to monitor a 
multi-server EasyAsk search index at a remote data center, to which I 
have no back-end connectivity.  The systems have no way to reach the 
Internet.  I wouldn't have designed it that way; it is an acquisition 
company.  I can log onto them by making an ssh connection to a gateway 
server that has a NIC in the remote LAN, and there are public-facing 
webservers that also can reach it.  We are going to move everything out 
of the data center within the next six months, so I have no plans to 
redesign the network until it is moved to headquarters.

The data is generated by a CGI script running on the public facing 
webserver pair, which an external server-side shell script on Hobbit is 
retrieving with wget.  The CGI script queries the search broker and each 
individual index server.  It notes the total number of records held by 
each index server, adds them all up, and compares that value to the 
number of records reported by the broker.  It also records how long in 
milliseconds each query takes.  It's basically a machine-readable 
rewrite of a script that produces a pretty status page.  We can't watch 
the values on that page 24/7, so I want to graph them to watch for problems.

I didn't go with the external script idea because the RRD docs say it 
doesn't scale well.  I was hoping that NCV or SPLITNCV would handle it 
easily.  I am leery of implementing things that don't scale well - I've 
been bitten in the past because the boss liked what he saw on something 
I'd hacked together without thought to performance and wanted to deploy 
it everywhere.

What I'd like to see is a series of graphs, the first of which should 
have the total count and the broker count, then a graph with just the 
difference.  Then I'd like to have graphs that work like the disk 
graphs, where it aggregates the individual broker counts.  Following 
that, another series of graphs that aggregate the response times.

I think it might be easier to implement and easier to read if have four 
separate columns on the host entry, something like i_totals, i_diff, 
i_counts, and i_time.

Forgetting about scalability, are there good examples for how to 
accomplish this, or a kind soul willing to guide me through the 
process?  I can tweak the CGI script and the script on Hobbit that calls 
it in any way required.




More information about the Xymon mailing list