From: Tim W. <tim...@gm...> - 2004-11-26 09:23:08
|
Hello, I configured perfparsed to read from a pipe. (Method 4) (config below) I noticed that the CPU usage for perfparse is constantly at > 95% (sse part of 'top' output below). Without perfparsed, top reports 99.7% idle, with perfparsed, it reports about 50% idle. I should add that this is a test setup, with nagios checking only 60 services every 5 minutes (iow, perfparsed takes up a lot of CPU for doing close to nothing) the production setup checks around 600 services, so I'm a little worried. Any thoughts, insights ? Tim <top output> 09:41:26 up 258 days, 17:06, 1 user, load average: 0.75, 0.74, 0.72 61 processes: 60 sleeping, 1 running, 0 zombie, 0 stopped CPU states: 17.4% user, 31.5% system, 0.0% nice, 51.1% idle Mem: 515456K total, 490244K used, 25212K free, 19608K buffers Swap: 489940K total, 1324K used, 488616K free, 255068K cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 4283 nagios 17 0 1124 1124 932 S 96.9 0.2 4257m perfparsed 19695 tim 11 0 956 956 752 R 0.3 0.1 0:00 top </top output> <perfparsed --show_config output> Perfparsed [options] # File where Perfparse logs messages # Error_Log = "string" Error_Log = "/usr/local/nagios/var/perfparse_error.log" # Rotate Perfparse log files # Error_Log_Rotate = "Y/N" Error_Log_Rotate = "Yes" # When perfparse cannot parse a file, it drops it to that file # Drop_File = "string" Drop_File = "/tmp/perfparse.drop" # # Drop_File_Rotate = "Y/N" Drop_File_Rotate = "Yes" # Port for perfparsed server Put 0 or "" to disable the server # Server_Port = "value" Server_Port = "1976" # Log source from nagios (or other tools) that perfparse will scan Authorized values: a file name, '-' for stdin, '|' for a fifo and '>' for a host:port socket For sockets, a command 'history' will be sent before retreiving the data # Service_Log = "string" Service_Log = "|/usr/local/nagios/var/perfparse.pipe" # Save the read position in the nagios log file ? If yes, perfparse will start from that position instead of from the beginning # Service_Log_Save_Position = "Y/N" Service_Log_Save_Position = "yes" # Path for files containing the read position for nagios log files # Service_Log_Position_Mark_Path = "string" Service_Log_Position_Mark_Path = "" # Lock file for perfparsed # Daemon_Lock = "string" Daemon_Lock = "/usr/local/nagios/var/perfparsed.lock" # Run perfparsed as a daemon # Daemonize = "Y/N" Daemonize = "no" # Dummy hostname if gethostname() does not work # Dummy_Hostname = "string" Dummy_Hostname = "dummy" # Don't store raw data # No_Raw_Data = "Y/N" No_Raw_Data = "no" # Don't store bin data # No_Bin_Data = "Y/N" No_Bin_Data = "no" # Storage Module : mysql # ============================== # Use Mysql storage module # Use_Storage_Mysql = "Y/N" Use_Storage_Mysql = "yes" # Database user # DB_User = "string" DB_User = "user" # Database password # DB_Pass = "string" DB_Pass = "pass" # Database name # DB_Name = "string" DB_Name = "nagios" # Database hostname # DB_Host = "string" DB_Host = "ncc1701e" # Storage Module : Socket_Output # ============================== # Use Socket_output storage module to send data to another server ? If yes, check the host name and port # Use_Storage_Socket_Output = "Y/N" Use_Storage_Socket_Output = "no" # Host name for Socket_output storage module # Storage_Socket_Output_Host_Name = "string" Storage_Socket_Output_Host_Name = "localhost" # Port for Socket_output storage module # Storage_Socket_Output_Port = "value" Storage_Socket_Output_Port = "1974" # Storage Module : File_Output # ============================== # Output log into a file # Use_Storage_File_Output = "Y/N" Use_Storage_File_Output = "no" # Output log filename for the file (or directory) that will contain the line that perfparse parses # Output_Log_Filename = "string" Output_Log_Filename = "/usr/local/nagios/var/log/perfparse_output_log" # Rotate output log ? If yes, a directory Output_Log_Rotate/YYYY/MM/YYYYMMDD.log will be created # Output_Log_Rotate = "Y/N" Output_Log_Rotate = "yes" |