From: Ben C. <bcl...@pe...> - 2005-01-05 09:08:32
|
James, Can you try another fix as well? In cgi/cgi.c, line 62, can you replace with: if (sStart[0] != '?' && sStart[0] != '&' && sStart + 1 != sQuery) { Let me know if this fixes the problem :) Ben James Greenhalgh wrote: > Hi Ben, > > First of all, thanks a lot for helping me out. Something worthy of note: > I have updated to 104.6 and seem to be getting the same old problems... > I have upgraded the database with 'perfparse-db-tool --update', and > ensured that all the settings are the same... > > Ben Clewett wrote: > >> James, >> >> I'll see if I can offer any help. >> >> James Greenhalgh wrote: >> >>> Hi all, >>> >>> I've been reading through the archives, and saw that Gili has had the >>> same problem as myself. That is, error 500 on perfparse.cgi. The >>> following is the error.. >>> >>> -- >>> Server error! >>> >>> The server encountered an internal error and was unable to >>> complete your request. >>> >>> Error message: >>> malformed header from script. Bad header=perfparse.cgi: perfparse.cgi >>> >>> If you think this is a server error, please contact the webmaster >>> >>> Error 500 >>> >>> X.X.X.X >>> Tue 04 Jan 2005 10:07:03 EST >>> Apache/2.0.40 (Red Hat Linux) >>> -- >>> The error only occurs when there are arguments passed to >>> perfparse.cgi. Eg perfparse.cgi?edit_host_list=1 >>> When I go to perfparse.cgi, I can see the menu page correctly. The >>> permissions for perfparse.cgi are exactly the same as those for the >>> nagios cgi files. >>> All of the nagios pages work correctly and have been working for a >>> while. I am running nagios v1.1 >> >> >> >> 1. Can you try the following URL: >> >> perfparse.cgi?show_config=1 >> >> Does this also return the same error? > > > Yeah I get exactly the same error when I use that :( > >> >> 2. Can you try running the program from the command line: >> >> $ export QUERY_STRING="?show_config=1" >> $ /...../perfparse.cgi >> >> Can you show me the result of this action? >> > > # ./perfparse.cgi > Expires: Sun, 02 Jan 2000 01:01:01 GMT > content-type: text/html > > <HTML> > <HEAD> > <TITLE> > PerfParse</TITLE> > <BODY BGcolor="#EEFFFF" TEXT="#000000" LINK="#000000" VLINK="#000000" > ALINK="#000000"> > <pre> > perfparse.cgi > > # File where Perfparse logs messages > # Error_Log = "string" > Error_Log = "/usr/local/nagios/var/perfparse.log" > > # Rotate Perfparse log files > # Error_Log_Rotate = "Y/N" > Error_Log_Rotate = "Yes" > > # Database user > # DB_User = "string" > DB_User = "nagios" > > # Database password > # DB_Pass = "string" > DB_Pass = "myawesomepassword" > > # Database name > # DB_Name = "string" > DB_Name = "nagios" > > # Database hostname > # DB_Host = "string" > DB_Host = "localhost" > > # Policy for default user > # Default_user_permissions_Policy = "string" > Default_user_permissions_Policy = "rw" > > # Default permissions for host groups > # Default_user_permissions_Host_groups = "string" > Default_user_permissions_Host_groups = "rw" > > # Summary Permissions for default user > # Default_user_permissions_Summary = "string" > Default_user_permissions_Summary = "rw" > > # Dummy hostname if gethostname() does not work > # Dummy_Hostname = "string" > Dummy_Hostname = "dummy" > > > > </pre> > </body></html> > # > >> 3. Finally, can you try a small script in your cgi-bin directory: >> >> >> ---------------------test.cgi------------------------- >> #!/bin/sh >> echo "Expires: Sun, 02 Jan 2000 01:01:01 GMT" >> echo "content-type: text" >> echo "" >> echo "QUERY_STRING = $QUERY_STRING" >> echo "" >> set | grep "^[A-Za-z].*=" >> ------------------------------------------------------ >> >> chmod a+x test.cgi >> >> How call this URL as: >> >> http://....../test.cgi?testVariable=testValue >> > It creates a text file containing the following... > > QUERY_STRING = testVariable=testValue > > AUTH_TYPE=Basic > BASH=/bin/sh > BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" > [5]="i386-redhat-linux-gnu") > BASH_VERSION='2.05b.0(1)-release' > DIRSTACK=() > DOCUMENT_ROOT=/var/www/html > EUID=48 > GATEWAY_INTERFACE=CGI/1.1 > GROUPS=() > HOSTNAME=netmon > HOSTTYPE=i386 > HTTP_ACCEPT='text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5' > > HTTP_ACCEPT_CHARSET='ISO-8859-1,utf-8;q=0.7,*;q=0.7' > HTTP_ACCEPT_ENCODING=gzip,deflate > HTTP_ACCEPT_LANGUAGE='en-us,en;q=0.5' > HTTP_CONNECTION=keep-alive > HTTP_COOKIE=phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3A2%3A%2212%22%3B%7D > > HTTP_HOST=203.24.149.157 > HTTP_KEEP_ALIVE=300 > HTTP_USER_AGENT='Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) > Gecko/20041207 Firefox/1.0 (Debian package 1.0-5)' > IFS=' > MACHTYPE=i386-redhat-linux-gnu > OPTERR=1 > OPTIND=1 > OSTYPE=linux-gnu > PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin > PIPESTATUS=([0]="0") > POSIXLY_CORRECT=y > PPID=15513 > PS4='+ ' > PWD=/usr/local/nagios/sbin > QUERY_STRING=testVariable=testValue > REMOTE_ADDR=172.16.1.28 > REMOTE_PORT=33070 > REMOTE_USER=nagiosadmin > REQUEST_METHOD=GET > REQUEST_URI='/nagios/cgi-bin/test.cgi?testVariable=testValue' > SCRIPT_FILENAME=/usr/local/nagios/sbin/test.cgi > SCRIPT_NAME=/nagios/cgi-bin/test.cgi > SERVER_ADDR=X.X.X.X > SERVER_ADMIN=root@localhost > SERVER_NAME=X.X.X.X > SERVER_PORT=80 > SERVER_PROTOCOL=HTTP/1.1 > SERVER_SIGNATURE='<address>Apache/2.0.40 Server at X.X.X.X Port > 80</address> > SERVER_SOFTWARE='Apache/2.0.40 (Red Hat Linux)' > SHELL=/sbin/nologin > SHELLOPTS=braceexpand:hashall:interactive-comments:posix > SHLVL=1 > TERM=dumb > UID=48 > UNIQUE_ID=H0yXun8AAAEAADyZLDIAAAAA > >> Please tell me what is displayed. This would be of great help in >> finally fixing this problem.! >> >> >> >>> >>> I'm using perfparse-0.104.4. The following is some output from my >>> perfdata-service.log >>> >>> 1104549133 services-cbr / DISK OK [241572 kB (51%) free >>> on /dev/hda1] OK >>> 1104549133 services3-cbr /var DISK OK [14202808 kB (98%) >>> free on /dev/hda2] OK >>> 1104549133 pix PING PING OK - Packet loss = 0%, RTA = >>> 1.48 ms OK >>> 1104549133 ids-cbr / DISK OK - free space: / 1317 MB >>> (91%): OK /=1317MB;1235;1381;0;1454 >>> >>> Should I be seeing stuff after a '|' ? Does this mean that there is >>> no useful perfdata? >> >> >> >> The '|' has already been removed at this point. Your output looks >> correct. The only think I notice is that you may need a more recent >> version of your plugins. Since only the last line shows has returned >> any graphable data. (The part after the 'OK') >> > No worries. I'll do that after I fix all this other stuff. :) > >>> >>> Also, and I think this may be intertwined with my cgi problem, I am >>> getting no data at all in my database. >>> The following is an error from perfparse.log.20050104.log >>> >>> 2005/01/04 10:54:54 [ storage.c:92 19064 ] storage_mysql module >>> successfully loaded >>> 2005/01/04 10:54:54 [log_reader.c:159 19064 ] No position mark path >>> was specified. Either disable saving the position or specify a mark >>> path. >> >> >> >> Look at the example perfparse.cgi for a line showing the mark file >> path. Ensure this is correct. Delete any existing .mark file you >> find. This should fix this. >> > Woohoooooo!!!! I put a mark path into the perfparse.cfg file and it > added stuff to my database!! > > [root@netmon bin]# ./perfparse-log2mysql -U nagios -P myawesomepassword > -D nagios -H localhost --no_transactions > 00:03:51 read 206424 @ 809.7 l/sec. Met 37477 @ 0.18 Met/l. Drop 0. > +-----------------------------+ +-----------------------------+ > | Generic statistics | | Nb Log Lines : 2 | > | Nb lines parsed : 206424 | | Nb lines dropped : 0 | > | Start date : 2005-01-05 | | Elapsed time : 00:03:51 | > | Start time : 10:06:53 | | Rate : (line/sec) 893.61 | > +-----------------------------+ +-----------------------------+ > *** WARNING! Log file has been written to. Please check. *** > *** Log file name: /usr/local/nagios/var/perfparse.log.20050105.log *** > > +-----------------------------+ +-----------------------------+ > | MySQL storage statistics | | | > | New Hosts : 30 | | Metric/line : 0.18 | > | New Metrics : 27 | | Metrics Recorded : 37477 | > | New Services : 140 | | Summary Rec Added : 0 | > | New Summary Group : 0 | | SQL Queries : 844716 | > +-----------------------------+ +-----------------------------+ > > When I look inside /usr/local/nagios/var/perfparse.log.20050105.log > the last two lines are these... > > -- > 2005/01/05 10:06:53 [ storage.c:95 22768 ] storage_mysql module > successfully loaded > 2005/01/05 10:06:53 [log_reader.c:178 22768 ] Could not open > '/usr/local/nagios/var/perfdata_log.perfdata-service.log.mark' > -- > > Which is odd because I can perform cat on it.. > # cat /usr/local/nagios/var/perfdata_log.perfdata-service.log.mark > 18196528 > 508091289 > # > > After all of this, the graphs are still not working. :( > My web browser is firefox, and I have also tried using konqueror. I have > also tried (with a mac) Safari and IE. They all give me the same output. > > This is the error from apache's logs... (it doesn't really say much) > --- > [Wed Jan 05 11:08:02 2005] [error] [client 172.16.1.28] malformed header > from script. Bad header=perfparse.cgi: perfparse.cgi, referer: > http://X.X.X.X/nagios/cgi-bin/perfparse.cgi > --- > >> >>> >>> I have ran mysql_create.sql and created all the tables in the >>> database, it seems it is connecting correctly, too, as I had to fix >>> the config file to ensure this. >> >> >> >> Can you give me more details of the fix you has to make? >> > > I only meant that I had to change the password and the hostname > so that it would connect properly. > Also, in the create_mysql file, I had to change one of the lines from > > CREATE TABLE IF NOT EXISTS perfdata_registry ( > host VARCHAR(75) DEFAULT NULL, > ..... > > to... > > CREATE TABLE IF NOT EXISTS perfdata_registry ( > host VARCHAR(75) NOT NULL, > ..... > > as it did not like the default null key. I saw this as a workaround on a > bugtracking list somewhere. Could this have possibly made it all fall over? > > I should probably also mention that I am using mysql 3.2. I'm unable to > upgrade it as it is in a production environment. I have ensured that I > used the '--no_transactions' flags where appropriate. > > Thanks a lot for any help, and thanks for the help so far. :D > > Cheers, > James Greenhalgh > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Perfparse-users mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perfparse-users > -- Ben Clewett bcl...@pe... PerfParse http://www.perfparse.org PP FAQ http://wiki.perfparse.org/tiki-list_faqs.php |