>-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On Behalf >Of Marc Powell >Sent: Tuesday, February 12, 2008 11:05 PM >To: Nagios Users Mailinglist >Subject: Re: [Nagios-users] Perfdata from distributed nodes? > > >On Feb 12, 2008, at 9:53 PM, Frost, Mark {PBG} wrote: > >> >> I'm moving our current Nagios 2.10 configuration to a Nagios 3.0rc2 >> distributed configuration. One component that isn't working >for me is >> nagiosgraph. After some investigation, it appears that the >problem is >> that while I'm sending the host/service check results to the central >> server, none of the perfdata is making it there. Some of >our checks >> are >> processed for nagiosgraph via their host/service output and some by >> their performance data. This is all working on our 2.10 >configuration >> because none of the perfdata has to travel anywhere (i.e. it's all on >> one server). >> >> So I thought I'd be clever and modify the send-service-perfdata and >> send-host-perfdata to include $SERVICEPERFDATA$. That is: >> >> define command { >> command_name send_service_check >> command_line $USER5$/send_service_check.pl $HOSTNAME$ >> '$SERVICEDESC$' $SERVICESTATEID$ '$SERVICEOUTPUT$' '$SERVICEPERFDATA' >> } > >I'm unable to test this but the correct format for nagios to >recognize >performance data is 'output | perfdata'. Does using the following >command_line work as expected -- > >command_line $USER5$/send_service_check.pl $HOSTNAME$ >'$SERVICEDESC$' $SERVICESTATEID$ '$SERVICEOUTPUT$ | $SERVICEPERFDATA$' > > >Note that you were also missing the final $ in >$SERVICEPERFDATA above. >It might have been an e-mail typo only though. > >-- >Marc
Marc, Actually, yes that was an e-mail typo. I had shut all this down by the time I sent the e-mail that I was just reproducing it in e-mail. I turned everything back on now so I could demonstrate it. My "send_*_check.pl" scripts really just take the fields and stuff them in a file for another program I wrote to process. Per the previous thread I'd posted, letting the process-*-perfdata Nagios command/script do the actual send_nsca work was sending my latencies sky-high. I had understood that the idea here was to make Nagios think the work had been completed as quickly as possible to keep latencies low. I'd seen the 2 other solutions both of which involved a FIFO, but I wasn't as comfortable with that in case there was a problem. My solution, have my checks write to files that are then picked up and sent every 10 seconds by a 2nd independent daemon process has resulted in very low latencies and has worked very well. My send_*_check.pl scripts write each of these fields to a file separated by tabs. The daemon program then grabs those lines and pumps them through send_nsca to the server. Send_nsca also wants to use tabs as the default field separator so I don't have to do anything with the lines and it works nicely. But your point is well-taken. While I don't need to stick the pipe symbol there, I do need it for Nagios to ultimately understand that that's perfdata. I put the pipe symbol as you suggested in my send_*_check.pl scripts (essentially using the pipe to combine service output and service perfdata when writing fields to my files). That seemed to do the trick. I knew I was missing something :-) Thanks. Mark ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Nagios-users mailing list Nagios-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagios-users ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null