From: James T. <ja...@nt...> - 2007-03-06 00:20:50
|
Florian Gleixner wrote: > O.K. let's try: > > - do you have perfparsed running? > - you can check the error log. In your config it is set to > "perfparse.log". Use a absolute path if you cannot find that file. > - Is /usr/local/nagios/var/service-perfdata.dat a pipe? If it is a file, > it will not work. move the file away. As far as i remember perfparsed > recreates the pipe at startup. > > Here's my config of a testing system: > > Nagios command: > > command_line > /usr/local/nagios/bin/perfparse_nagios_pipe_command.pl /usr/local/nagios/va > r/serviceperf.log "$TIMET$" "$HOSTNAME$" "$SERVICEDESC$" > "$SERVICEOUTPUT$" "$SERVICESTATE$" "$SERVI > CEPERFDATA$" > } > > perfparse.cfg: > > Service_Log = "|/usr/local/nagios/var/serviceperf.log" > Service_Log_Position_Mark_Path = "no" > Error_Log = "/usr/local/nagios/var/perfparse.log" > Error_Log_Rotate = "Yes" > Drop_File = "/tmp/perfparse.drop" > Drop_File_Rotate = "Yes" > > Lock_File = "/var/lock/perfparse.lock" > > Nagios_Lock = "/usr/local/nagios/var/nagios.lock" > > > Show_Status_Bar = "no" > > Do_Report = "no" > > > Default_user_permissions_Policy = "rw" > Default_user_permissions_Host_groups = "rw" > > > Output_Log_File = "yes" > Output_Log_Filename = > "/usr/local/nagios/var/perfparse_output_log" > Output_Log_Rotate = "yes" > > No_Raw_Data = "no" > No_Bin_Data = "no" > > DB_User = "nagiostat" > DB_Name = "nagiostat" > DB_Pass = "nagiostat" > DB_Host = "127.0.0.1" > > > This is my perfparsed startfile: > > #! /bin/sh > # > ### BEGIN INIT INFO > # Provides: perfparsed > # Required-Start: $local_fs $remote_fs $syslog > # Required-Stop: > # Default-Start: 2 3 5 > # Default-Stop: > # Description: Start the perfparse daemon. > ### END INIT INFO > > > PPPIPE=/usr/local/nagios/var/serviceperf.log > > case "$1" in > start) > if [ -f $PPPIPE ] ; then > echo "creating pipe" > mv $PPPIPE ${PPPIPE}.old > mkfifo $PPPIPE > chown nagios2:nagios2 $PPPIPE > APPLY_OLD_DATA=1 > fi > echo "Starting perfparsed" > /usr/local/nagios/bin/perfparsed -d > if [ "$APPLY_OLD_DATA" ] ; then > echo "applying old data" > cat ${PPPIPE}.old >> $PPPIPE > fi > ;; > stop) > killproc perfparsed > ;; > *) > echo "Usage: $0 {start|stop}" > exit 1 > esac > > Flo > > James Tran wrote: > >> See i don't get how to check it then if i'm trying to do it the piped >> way. The install guide doesn't tell me anyway to check it except by >> running ./perfparse-log2mysql -r >> I want to be able to get this thing to work with oreon and well i think >> if i can get it to work ANY WAY i'll be fine. >> >> Here's what i've done for the configs >> I have no idea how to check it besides going to the >> /cgi-bin/nagios/perfparse.cgi and checking it but according the the cgi >> it still isn't working >> If you could give me some idea of how i can troubleshoot errors with >> this i'd be grateful. or highlight some trouble areas. This is me trying >> to set it up in pipe mode so if u can kinda guide me into pipe mode >> config that'd be great. >> >> >> >> *nagios.cfg:* >> >> host_perfdata_file=/usr/local/nagios/var/host-perfdata.dat >> service_perfdata_file=/usr/local/nagios/var/service-perfdata.dat >> service_perfdata_command=process-service-perfdata >> host_perfdata_command=process-host-perfdata >> host_perfdata_file_template=$TIMET$ $HOSTNAME$ $HOSTCHECKCOMMAND$ >> $HOSTOUTPUT$ $ >> HOSTSTATE$ $HOSTPERFDATA$ >> service_perfdata_file_template=$TIMET$ $HOSTNAME$ $SERVICEDESC$ >> $SERVICEOUTPUT$ >> $SERVICESTATE$ $SERVICEPERFDATA$ >> host_perfdata_file_processing_interval=10 >> service_perfdata_file_processing_interval=10 >> #host_perfdata_file_processing_command=process-host-perfdata >> #service_perfdata_file_processing_command=process-service-perfdata >> >> *misccommand.cfg* >> >> define command{ >> command_name process-service-perfdata >> command_line $USER2$/bin/perfparse_nagios_pipe_command.pl >> /usr/local/nagio >> s/var/rw/service-perfdata.dat "$TIMET$" "$HOSTNAME$" >> "$HOSTCHECKCOMMAND$" "$HOST >> OUTPUT$" "$HOSTSTATE$" "$HOSTPERFDATA$" >> } >> define command{ >> command_name process-host-perfdata >> command_line $USER2$/bin/perfparse_nagios_pipe_command.pl >> /usr/local/nagio >> s/var/rw/host-perfdata.dat "$TIMET$" "$HOSTNAME$" "$SERVICEDESC$" >> "$SERVICEOUTPU >> T$" "$SERVICESTATE$" "$PERFDATA$" >> >> *perfparse.cfg* >> Server_Port = 1976 >> Service_Log = "|/usr/local/nagios/var/service-perfdata.dat" >> Service_Log_Position_Mark_Path = "-" >> Error_Log = "perfparse.log" >> Error_Log_Rotate = "Yes" >> Error_Log_Keep_N_Days = "7" >> Drop_File = "/usr/local/nagios/var/perfparse.drop" >> Drop_File_Rotate = "Yes" >> Drop_File_Keep_N_Days = "7" >> Lock_File = "/var/lock/perfparse.lock" >> Show_Status_Bar = "Yes" >> Do_Report = "Yes" >> Default_user_permissions_Policy = "rw" >> Default_user_permissions_Host_groups = "rw" >> Default_user_permissions_Summary = "rw" >> Output_Log_File = "no" >> Output_Log_Filename = >> "/usr/local/nagios/var/perfparse_output_log" >> Output_Log_Rotate = "yes" >> Output_Log_Keep_N_Days = "7" >> Use_Storage_Socket_Output = "no" >> Storage_Socket_Output_Host_Name = "localhost" >> Storage_Socket_Output_Port = "1974" >> Server_Port = "1976" >> Use_Storage_Mysql = "yes" >> No_Raw_Data = "no" >> No_Bin_Data = "no" >> DB_User = "xxx" >> DB_Name = "xxx" >> DB_Pass = "xxx" >> DB_Host = "localhost" >> Dummy_Hostname = "dummy" >> Storage_Modules_Load = "mysql" >> >> >> >> Ok I reset everything according to your specs i noticed a couple of funny things. The log file doesn't come out at perfparse.log it comes out as perfparse.log.20070305.log and perfparse.drop come out as perfparse.drop.20070305.log 2007/03/05 08:08:23 [perfparsed.c:176 13199 ] Perfparsed successfully daemonized (pid=13199) 2007/03/05 08:08:23 [ storage.c:95 13199 ] storage_mysql module successfully loaded 2007/03/05 08:08:24 [ storage.c:264 13202 ] Perfparsed : periodic cleanup 2007/03/05 08:08:24 [clean_tools.c:101 13202 ] Could not open directory '/tmp/perfparse.drop' dunno if that's effecting anything but i also get the following errors in the log file: I removed the service-perfdata.dat file and let it create a new pipe there perfparsed is running* *shell>:/usr/local/nagios/etc# ps -e|grep perfparsed 13199 ? 00:00:00 perfparsed* misccommands.cfg has the following *define command{ command_name process-service-perfdata command_line /usr/local/nagios/bin/perfparse_nagios_pipe_command.pl / usr/local/nagios/var/service-perfdata.dat "$TIMET$" "$HOSTNAME$" "$HOSTCHECKCOMM AND$" "$HOSTOUTPUT$" "$HOSTSTATE$" "$PERFDATA$*" * *nagios.cfg has the following* process_performance_data=1 host_perfdata_command=process-host-perfdata service_perfdata_command=process-service-perfdata *perfparse.cfg has the following:* Server_Port = 1976 Service_Log = "|/usr/local/nagios/var/service-perfdata.dat" Service_Log_Position_Mark_Path = "no" Error_Log = "/usr/local/nagios/var/perfparse.log" Error_Log_Rotate = "Yes" Error_Log_Keep_N_Days = "7" Drop_File = "/tmp/perfparse.drop" Drop_File_Rotate = "Yes" Drop_File_Keep_N_Days = "7" Lock_File = "/var/lock/perfparse.lock" Show_Status_Bar = "no" Do_Report = "no" Default_user_permissions_Policy = "rw" Default_user_permissions_Host_groups = "rw" Default_user_permissions_Summary = "rw" Output_Log_File = "yes" Output_Log_Filename = "/usr/local/nagios/var/perfparse_output_log" Output_Log_Rotate = "yes" Output_Log_Keep_N_Days = "7" Use_Storage_Socket_Output = "no" Storage_Socket_Output_Host_Name = "localhost" Storage_Socket_Output_Port = "1974" Server_Port = "1976" Use_Storage_Mysql = "yes" No_Raw_Data = "no" No_Bin_Data = "no" DB_User = "xxx" DB_Name = "xxx" DB_Pass = "xxx" DB_Host = "localhost" Dummy_Hostname = "dummy" Storage_Modules_Load = "mysql"* * By the way i appreciate you helping out with this i'm sure you're pretty busy and all. |