NRD: Nagios Result Distributor
-
Upload
jose-luis-martinez -
Category
Technology
-
view
202 -
download
0
description
Transcript of NRD: Nagios Result Distributor
NRDNagios Result Distributor
NSCA resumed
But
• NSCA (Nagios Service Check Acceptor)
– Lots of limitations
• 63 char hostnames
• 127 char service names
• No multiline
• Result data limited too (512 bytes)
– In Opsview it was frustrating that “bigger” (distributed) instalations got limited features
Looked at NSCA code…
• Problems didn’t seem fixable in a backwardscompatible manner.– Reimplementation in a dynamic language seemed
easy (after all, just pushing results around a network)
• Is a dynamic language a problem?– I Think not
• Performance– Just do things right… Optimize later
• Flexibility– Prototype new functionality
Welcome Perl
• Fast (enough)
• Flexible
• Added value
– CPAN
Code reuse
• Net::Server
– Process model
– Config file
• JSON::XS
– Fast (blazingly fast)
• Crypt::CBC
– Free Crypt::XXX functionality
• Digest::XXX
So what did I do?
Just play around with the components
Idea,Implement, abstract, implement, abstract, idea, abstract, implement…
Did I say that there is a test suite?
So what did I do?
Just play around with the components
Idea,Implement, test, break, implement, test, abstract, idea, abstract, implement, test, abstract
, test…
Flexibility in development
• Fast changes
– SSH tunnel tests show that client can think that a packet was sent… but the server never recieves it
– commit packet implemented
• writers benefit from new “commit” functionality
New functionalities
• Serializers
– plain, crypt, digest
• Writers
– resultdir and cmdfile
Open up!
• googlecode project from the start
– Ton Voon (Opsview project starts testing NRD)
• Committing actively with really good results– NRD::Client
– SSH tunnel testing
– Documentation
– Help with writing to resultdir
And Perl added value?
• CPAN Testers!
Results
(Based on sending 2016 results in a single transaction over an SSH tunnel from a slave to a master. Times measured on the client.)
So in the end NRD is faster and less traffic consuming than NSCA
Get NRD
• https://code.google.com/p/nrd/