You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(12) |
Jun
(56) |
Jul
(68) |
Aug
(141) |
Sep
(82) |
Oct
(76) |
Nov
(115) |
Dec
(74) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(65) |
Feb
(113) |
Mar
(82) |
Apr
(37) |
May
(44) |
Jun
(22) |
Jul
(12) |
Aug
(3) |
Sep
(17) |
Oct
(11) |
Nov
(23) |
Dec
(1) |
2006 |
Jan
(1) |
Feb
(9) |
Mar
(6) |
Apr
(12) |
May
(10) |
Jun
(23) |
Jul
(1) |
Aug
(4) |
Sep
(3) |
Oct
(4) |
Nov
(6) |
Dec
(15) |
2007 |
Jan
(17) |
Feb
(14) |
Mar
(20) |
Apr
(7) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(5) |
Oct
(1) |
Nov
|
Dec
(2) |
2008 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
(6) |
Jun
(5) |
Jul
(13) |
Aug
(2) |
Sep
(16) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Cook, G. <GW...@ma...> - 2005-01-18 17:16:20
|
Thank you Ben for the kind words. While I was initially able to contribute quite a bit to the = documentation of PP, I have fallen back from the project over the past = few months. This is due to many things, such as moving my office to a = new location, moving my family to a new home, holidays, snowboarding = season, and most recently family issues that require cross country = travel in the next few weeks and quite possibly searching for a new = position outside of my current organization. Additionally, my Nagios/MRTG server was just not beefy enough to also = handle the MySQL DB, so I have not even used some of the newer versions = of PP. At this time I have acquired a new server specifically for MySQL, = and hope to lend a hand to developers again in the future. When? I'm = still not sure, but hopefully sooner rather than later. One thing that I would like to see is the addition of RRD storage of = metrics. I'm not even sure if the current development track will allow = for this, but I intend to investigate this if someone else does not. = Perhaps some folks can add their thoughts on this issue... Thanks to everyone that Ben has mentioned below. I'm sure that when I = get back to work with PP it will be all the more impressive than it was = a few months ago. Many thanks are also due to Yves, who has contributed quite a bit to = make PP the project that it is today. I'm sorry to see that you will not = be able to contribute as much in the future, although it sounds like you = will not fall back completely as I have at this point. Garry W. Cook, CCNA Network Infrastructure Manager MACTEC, Inc. - http://www.mactec.com/ 303.273.5050 (Office) - 720.220.1862 (Mobile) per...@li... wrote: > Dear PerfParse users and developers, >=20 > There are quite a few people working on various parts of the project > today. I think it's time we all introduced our selves, and said a > little about where we would like to take our project. >=20 > To help this, I'll like people who have been involved > recently. I hope > some of you may reply to this and let us know a little more > about your > current activity. >=20 > Starting with our two newest members: >=20 > Benoit and Guillaume. >=20 > They will be working to bring PP to Debian. If they are on these > mailing lists, maybe they can say a little more. >=20 >=20 > Now our oldest members: >=20 > Ben, Garry, Yves. >=20 > My self, I started this project in order to answer a posting on the > nagios-plugin mailing list, around May 2003. The entire project was > then just one line of code. Something like: >=20 > tail -f serviceperf.log | awk | mysql >=20 > I then wrote PP as a demo and for my personal use. This very soon > became PerfParse with the encouragement of many users. >=20 > Garry joined and turned my attempt at a web site into the professional > looking site we now have. He also provides some great documentation. > I am sure most of our users found PP through Garry's documents. I > thank him that the projects early success. >=20 > Yves re-wrote a lot of the code, as well as building the > product into a > GNU automake environment, internationalizing the code, and > making the > code more modular. Without his help the product I am sure > would have > never developed into anything like it's current state. His > needs and > my needs are different, which gives the project the ability > to answer to > many users needs. >=20 > Other members: >=20 > Flo Gleixner. >=20 > Flo described him self as a 'slow coder'. From his workings > so far on > tiki/wiki and perfparse, this can be his only short falling. > His work > is as good as the best coder you are likely to meet. Flo is > working on > a php front end for PerfParse, using similar methods as tiki/wiki. A > suggested goal to merge Nagios PP into a wiki type product, giving to > the user the ability and advantages of all systems. >=20 > Rene Grabner. >=20 > Rene is working to translate the documents into German. >=20 > Tim Wuyts. >=20 > Tim has contributed many ideas, as well as some scripts to > the product. > Most recently he has given us the Raw Data Summary storage. > This will > greatly enhance the product. >=20 > Friedrich Priewasser >=20 > Friedrich is working on a conversion to PostgreSQL, which should be > released sometime very soon. I am sure this will open > PerfParse to many > new users. >=20 > Massimiliano Minniti >=20 > Massimiliano is looking into a conversion to Oracle storage. >=20 > Carsten Franke >=20 > Translation of PerfParse into German. >=20 > Jeff Scott >=20 > Who kindly donated domains including perfparse.org. >=20 > Thanks as well to all the other members who have contributed time, > testing, ideas and code to the project. Including in no order: >=20 > Charles Allred, Chris Donovan, Dirk Beer, Ethan Galstad, James > Greenhalgh, James Ochs, Jon Lyons, Julian Touche, Darren Kemp, > Krzemi=F1ski Krzysztof, Marcos & Marcelo, Norbert Wiedeke, > Philipp Sand, > Sebastien Guilbaud and Ton Voon. >=20 > My personal thanks to you all. >=20 > Regards, Ben. |
From: Ben C. <bcl...@pe...> - 2005-01-18 10:13:37
|
Dear PerfParse users and developers, There are quite a few people working on various parts of the project today. I think it's time we all introduced our selves, and said a little about where we would like to take our project. To help this, I'll like people who have been involved recently. I hope some of you may reply to this and let us know a little more about your current activity. Starting with our two newest members: Benoit and Guillaume. They will be working to bring PP to Debian. If they are on these mailing lists, maybe they can say a little more. Now our oldest members: Ben, Garry, Yves. My self, I started this project in order to answer a posting on the nagios-plugin mailing list, around May 2003. The entire project was then just one line of code. Something like: tail -f serviceperf.log | awk | mysql I then wrote PP as a demo and for my personal use. This very soon became PerfParse with the encouragement of many users. Garry joined and turned my attempt at a web site into the professional looking site we now have. He also provides some great documentation. I am sure most of our users found PP through Garry's documents. I thank him that the projects early success. Yves re-wrote a lot of the code, as well as building the product into a GNU automake environment, internationalizing the code, and making the code more modular. Without his help the product I am sure would have never developed into anything like it's current state. His needs and my needs are different, which gives the project the ability to answer to many users needs. Other members: Flo Gleixner. Flo described him self as a 'slow coder'. From his workings so far on tiki/wiki and perfparse, this can be his only short falling. His work is as good as the best coder you are likely to meet. Flo is working on a php front end for PerfParse, using similar methods as tiki/wiki. A suggested goal to merge Nagios PP into a wiki type product, giving to the user the ability and advantages of all systems. Rene Grabner. Rene is working to translate the documents into German. Tim Wuyts. Tim has contributed many ideas, as well as some scripts to the product. Most recently he has given us the Raw Data Summary storage. This will greatly enhance the product. Friedrich Priewasser Friedrich is working on a conversion to PostgreSQL, which should be released sometime very soon. I am sure this will open PerfParse to many new users. Massimiliano Minniti Massimiliano is looking into a conversion to Oracle storage. Carsten Franke Translation of PerfParse into German. Jeff Scott Who kindly donated domains including perfparse.org. Thanks as well to all the other members who have contributed time, testing, ideas and code to the project. Including in no order: Charles Allred, Chris Donovan, Dirk Beer, Ethan Galstad, James Greenhalgh, James Ochs, Jon Lyons, Julian Touche, Darren Kemp, Krzemiński Krzysztof, Marcos & Marcelo, Norbert Wiedeke, Philipp Sand, Sebastien Guilbaud and Ton Voon. My personal thanks to you all. Regards, Ben. -- Ben Clewett bcl...@pe... PerfParse http://www.perfparse.org PP FAQ http://wiki.perfparse.org/tiki-list_faqs.php |
From: Yves <yme...@pe...> - 2005-01-18 09:00:09
|
Hi all, My situation allowed me to give a huge contribution to the perfparse proj= ect. My situation is changing and I will not have as much time as I had. Yes, thi= s means I will not be able to contribute like in the short past. However, I'm not really leaving... I plan to write an article on Perfparse (in French) for our French Linuxm= ag in few months. In the very short future, I will continue to help a little on the= mailing-list when I can. And if I can, maybe my boss allows me to work again on perfparse ? If not= , and if you really want a feature, you know that free software is "libre", free as sp= eech, but not free as beer. So you can contact me and I will talk with my boss :) Last thing : the documentation needs a big update. As a developer, I pref= ered implement new features and thanks to the implementation of the config file, I short= ly documented things there. But the install guide needs a lot of changes, and there is = enough to write an install guide. Contact Ben and me to know how to use the new features = implemented since perfparse-0.101. Yves --=20 - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - - GPG key - http://ymettier.free.fr/gpg.txt - - Maitretarot - http://www.nongnu.org/maitretarot/ - - Perfparse - http://www.perfparse.org/ - |
From: Tim W. <tim...@gm...> - 2005-01-18 06:08:10
|
I've written a short explanation on the raw summary tables, which can be found at http://wiki.perfparse.org/tiki-index.php?page=SummaryRaw If you're interested in the raw summary tables, have a look. Comments are welcome. Regards, Tim On Mon, 17 Jan 2005 21:05:58 +0000, Ben Clewett <bcl...@pe...> wrote: > New version, 0.104.9 should be available. > > Details: > > http://wiki.perfparse.org/tiki-view_forum_thread.php?comments_parentId=15&forumId=2 > > However the sourceforge ftp server is not accepting connections so I > cannot upload the release. When this server is available, the version > will be uploaded. > > This version is identical to Yves version 0.104.8ym3 from: > > http://pagesperso.laposte.net/ymettier/perfparse-devel/perfparse-0.104/ > > Regards, > > Ben > > ------------------------------------------------------- > 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 > |
From: Ben C. <bcl...@pe...> - 2005-01-17 21:01:17
|
New version, 0.104.9 should be available. Details: http://wiki.perfparse.org/tiki-view_forum_thread.php?comments_parentId=15&forumId=2 However the sourceforge ftp server is not accepting connections so I cannot upload the release. When this server is available, the version will be uploaded. This version is identical to Yves version 0.104.8ym3 from: http://pagesperso.laposte.net/ymettier/perfparse-devel/perfparse-0.104/ Regards, Ben |
From: Thomas E. <tho...@sl...> - 2005-01-14 20:50:00
|
Thanks guys! While I was having my beauty sleep you solved the problem. I commented out the if block and it works fine. thanks again, Thomas Yves wrote: >>I did a diff between version 104.1 (the last working version on my >>production environment) and 104.8, and found that in log_reader.c, >>function log_reader you changed (104.8 first) >>502c501 >>< while(0 < (r=read(log_fd[i]->fd,tmp,10))) { >>--- >> >>> while(10 == (r=read(log_fd[i]->fd,tmp,10))) { >> >> tmp[r] = '\0'; >> log_fd[i]->file_pos +=r; >> log_fd[i]->buffer = g_string_append(log_fd[i]->buffer,tmp); >> if(strchr(tmp,'\n')) break; >> if((LOG_FD_CLIENT_SOCKET != log_fd[i]->type) && (r!= 10)) break; >> } >> if((r>0) && (r<10)) { >> tmp[r] = '\0'; >> log_fd[i]->file_pos +=r; >> log_fd[i]->buffer = g_string_append(log_fd[i]->buffer,tmp); >> } >> >>As a result, the last part of the line gets added twice to the buffer, >>and this results in invalid lines. That last 'if' block should not be >>there, I think. > > > I agree with you. > Could you test without that 2nd "if" block ? > If it works, consider this as the fix. > I made that modif because of a bug with the perfparsed server. > > I will then release perfparse-0.104.8ym3 on my web site, but except Tim who worked on > that version, it's better to upgrade from 0.104.X to 0.104.9 than from 0.104.x to > 0.104.8ym3 and then from 0.103.8ym3 to 0.104.9. > > >>So it's not a problem of wrong input from Nagios. > > > I thought so, but with nagios 2.0 in beta, you cannot be sure that it is not a bug of > Nagios. For example, with Nagios-2.0a1, sending a kill signal to reboot it would crash > it. > > Thanks for the feedback and the tips. > Yves > > |
From: Arnar T. <ar...@ca...> - 2005-01-14 16:55:16
|
Hello I have just upgraded PerfParse to 0.104.8 from 0.104.1 but now I can't get any graphs ! all I get is : The image “http://black148/nagios/cgi-bin/perfchart.png?host=lan%2Dtemp%2Ecaa%2Eis&service=Ethernet+Probe+%231+Temperature&metric=FDPS%5FCabinet%5F1&select_line=1&s_val=1&s_smo=0&s_war=1&s_cri=1&s_sta=1&g_sigma=14.000000&timeperiod=r&reltime=00%3A00&reldays=1&title=&pid=31717” cannot be displayed, because it contains errors. imported old data with perfparse-log2mysql ok not sure whats going on ... any debug I can turn on ? plz help ! :( output from perfparsed --show_config Perfparsed [options] # File where Perfparse logs messages # Error_Log = "string" Error_Log = "/usr/local/nagios/var/log/perfparse.log" # Rotate Perfparse log files # Error_Log_Rotate = "Y/N" Error_Log_Rotate = "Yes" # Keep N days of error log. Compress recent logs and remove too old ones # Error_Log_Keep_N_Days = "value" Error_Log_Keep_N_Days = "7" # When perfparse cannot parse a line, it drops it to that file # Drop_File = "string" Drop_File = "/usr/local/nagios/var/perfparse.drop" # # Drop_File_Rotate = "Y/N" Drop_File_Rotate = "Yes" # Keep N days of drop file log. Compress recent logs and remove too old ones # Drop_File_Keep_N_Days = "value" Drop_File_Keep_N_Days = "7" # 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/serviceperf.log" # 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 = "/usr/local/nagios/var" # 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" # Perform some periodic cleanup every day # Periodic_Cleanup = "Y/N" Periodic_Cleanup = "yes" # Lock file for perfparsed periodic cleanup process # Periodic_Cleanup_Lock = "string" Periodic_Cleanup_Lock = "/usr/local/nagios/var/perfparsed_periodic_cleanup.lock" # Perform some periodic cleanup every day at HHMM # Periodic_Cleanup_Hour = "value" Periodic_Cleanup_Hour = "0230" # 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" # Path where storage modules are # Storage_Modules_Dir = "string" Storage_Modules_Dir = "/usr/local/nagios/lib" # Modules to load (Coma separated values) # Storage_Modules_Load = "string" Storage_Modules_Load = "" # File to contain Storage Modules Status # Storage_Modules_Status_File = "string" Storage_Modules_Status_File = "/usr/local/nagios/var/storage_modules.status" -- Regards Arnar Thorarinsson Software Programmer / System Administrator Systems Department, Air Traffic Services Phone : +354 569 4289 ------------------------------------------ Icelandic Civil Aviation Administration Reykjavik Airport IS 121 Reykjavik Iceland http://www.caa.is ------------------------------------------ Þessi tölvupóstur og viðhengi hans geta innihaldið trúnaðarupplýsingar og er eingöngu ætlaður þeim sem hann er stílaður á. Óheimil meðferð tölvupósts þessa og viðhengja hans getur varðað skaðabóta- og refsiábyrgð samkvæmt lögum um fjarskipti. Efni tölvupóstsins og viðhengja er á ábyrgð sendanda ef það tengist ekki starfsemi Flugmálastjórnar Íslands. Ef þú ert ekki skráður móttakandi og hefur fengið skeytið vegna mistaka, vinsamlegast hafðu strax samband við sendanda. ------------ This e-mail and its attachments is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. |
From: Yves <yme...@pe...> - 2005-01-14 15:04:04
|
> Works! OK, thanks a lot to you for the feedback and help :) Yves > > Tim. > > > On Fri, 14 Jan 2005 15:48:54 +0100 (CET), Yves <yme...@pe...>= wrote: >> > I did a diff between version 104.1 (the last working version on my >> > production environment) and 104.8, and found that in log_reader.c, >> > function log_reader you changed (104.8 first) >> > 502c501 >> > < while(0 < (r=3Dread(log_fd[i]->fd,tmp,10))) { >> > --- >> >> while(10 =3D=3D (r=3Dread(log_fd[i]->fd,tmp,10))) { >> > >> > tmp[r] =3D '\0'; >> > log_fd[i]->file_pos +=3Dr; >> > log_fd[i]->buffer =3D g_string_append(log_fd[i= ]->buffer,tmp); >> > if(strchr(tmp,'\n')) break; >> > if((LOG_FD_CLIENT_SOCKET !=3D log_fd[i]->type)= && (r!=3D 10)) >> break; >> > } >> > if((r>0) && (r<10)) { >> > tmp[r] =3D '\0'; >> > log_fd[i]->file_pos +=3Dr; >> > log_fd[i]->buffer =3D g_string_append(log_fd[i= ]->buffer,tmp); >> > } >> > >> > As a result, the last part of the line gets added twice to the buffe= r, >> > and this results in invalid lines. That last 'if' block should not b= e >> > there, I think. >> >> I agree with you. >> Could you test without that 2nd "if" block ? >> If it works, consider this as the fix. >> I made that modif because of a bug with the perfparsed server. >> >> I will then release perfparse-0.104.8ym3 on my web site, but except Ti= m who worked on >> that version, it's better to upgrade from 0.104.X to 0.104.9 than from= 0.104.x to >> 0.104.8ym3 and then from 0.103.8ym3 to 0.104.9. >> >> > So it's not a problem of wrong input from Nagios. >> >> I thought so, but with nagios 2.0 in beta, you cannot be sure that it = is not a bug of >> Nagios. For example, with Nagios-2.0a1, sending a kill signal to reboo= t it would crash >> it. >> >> Thanks for the feedback and the tips. >> Yves >> >> -- >> - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - >> - GPG key - http://ymettier.free.fr/gpg.txt - >> - Maitretarot - http://www.nongnu.org/maitretarot/ - >> - Perfparse - http://perfparse.sf.net/ - >> >> >> ------------------------------------------------------- >> 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 >> > > --=20 - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - - GPG key - http://ymettier.free.fr/gpg.txt - - Maitretarot - http://www.nongnu.org/maitretarot/ - - Perfparse - http://perfparse.sf.net/ - |
From: Tim W. <tim...@gm...> - 2005-01-14 14:54:26
|
Works! Tim. On Fri, 14 Jan 2005 15:48:54 +0100 (CET), Yves <yme...@pe...> wrote: > > I did a diff between version 104.1 (the last working version on my > > production environment) and 104.8, and found that in log_reader.c, > > function log_reader you changed (104.8 first) > > 502c501 > > < while(0 < (r=read(log_fd[i]->fd,tmp,10))) { > > --- > >> while(10 == (r=read(log_fd[i]->fd,tmp,10))) { > > > > tmp[r] = '\0'; > > log_fd[i]->file_pos +=r; > > log_fd[i]->buffer = g_string_append(log_fd[i]->buffer,tmp); > > if(strchr(tmp,'\n')) break; > > if((LOG_FD_CLIENT_SOCKET != log_fd[i]->type) && (r!= 10)) break; > > } > > if((r>0) && (r<10)) { > > tmp[r] = '\0'; > > log_fd[i]->file_pos +=r; > > log_fd[i]->buffer = g_string_append(log_fd[i]->buffer,tmp); > > } > > > > As a result, the last part of the line gets added twice to the buffer, > > and this results in invalid lines. That last 'if' block should not be > > there, I think. > > I agree with you. > Could you test without that 2nd "if" block ? > If it works, consider this as the fix. > I made that modif because of a bug with the perfparsed server. > > I will then release perfparse-0.104.8ym3 on my web site, but except Tim who worked on > that version, it's better to upgrade from 0.104.X to 0.104.9 than from 0.104.x to > 0.104.8ym3 and then from 0.103.8ym3 to 0.104.9. > > > So it's not a problem of wrong input from Nagios. > > I thought so, but with nagios 2.0 in beta, you cannot be sure that it is not a bug of > Nagios. For example, with Nagios-2.0a1, sending a kill signal to reboot it would crash > it. > > Thanks for the feedback and the tips. > Yves > > -- > - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - > - GPG key - http://ymettier.free.fr/gpg.txt - > - Maitretarot - http://www.nongnu.org/maitretarot/ - > - Perfparse - http://perfparse.sf.net/ - > > > ------------------------------------------------------- > 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 > |
From: Yves <yme...@pe...> - 2005-01-14 14:49:00
|
> I did a diff between version 104.1 (the last working version on my > production environment) and 104.8, and found that in log_reader.c, > function log_reader you changed (104.8 first) > 502c501 > < while(0 < (r=3Dread(log_fd[i]->fd,tmp,10))) { > --- >> while(10 =3D=3D (r=3Dread(log_fd[i]->fd,tmp,10))) { > > tmp[r] =3D '\0'; > log_fd[i]->file_pos +=3Dr; > log_fd[i]->buffer =3D g_string_append(log_fd[i]->buffer,tmp); > if(strchr(tmp,'\n')) break; > if((LOG_FD_CLIENT_SOCKET !=3D log_fd[i]->type) && (r!=3D 10)) break; > } > if((r>0) && (r<10)) { > tmp[r] =3D '\0'; > log_fd[i]->file_pos +=3Dr; > log_fd[i]->buffer =3D g_string_append(log_fd[i]->buffer,tmp); > } > > As a result, the last part of the line gets added twice to the buffer, > and this results in invalid lines. That last 'if' block should not be > there, I think. I agree with you. Could you test without that 2nd "if" block ? If it works, consider this as the fix. I made that modif because of a bug with the perfparsed server. I will then release perfparse-0.104.8ym3 on my web site, but except Tim w= ho worked on that version, it's better to upgrade from 0.104.X to 0.104.9 than from 0.= 104.x to 0.104.8ym3 and then from 0.103.8ym3 to 0.104.9. > So it's not a problem of wrong input from Nagios. I thought so, but with nagios 2.0 in beta, you cannot be sure that it is = not a bug of Nagios. For example, with Nagios-2.0a1, sending a kill signal to reboot i= t would crash it. Thanks for the feedback and the tips. Yves --=20 - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - - GPG key - http://ymettier.free.fr/gpg.txt - - Maitretarot - http://www.nongnu.org/maitretarot/ - - Perfparse - http://perfparse.sf.net/ - |
From: Tim W. <tim...@gm...> - 2005-01-14 11:30:30
|
Yves, the only things showing up in the drop file are parts (the ends) of valid lines: for example: 0000; 0.000000 0000; .99) OK 0.021 500000; OK .99) OK 0) OK 0000; r OK 000; .00 OK 0;5683 2047 1 ) OK 0;5683 4] OK 0; 8;0;7243 I did a cat < perfparse.pipe, but I don't see any lines that don't follow the format. Tim On Fri, 14 Jan 2005 11:22:39 +0100 (CET), Yves Mettier <yme...@li...> wrote: > > To Yves: > > If I understand correctly, at one point (strace line 13516) perfparse > > WRITES to the pipe 'Command OK unknown. Type help ....'. > > Of course it picks this back up at the input, and we're off for an > > infinite loop where it keeps saying it doesn't understand what it has > > written itself. Could it be that it loses track of where messages end > > and a new message begins? > > Some little explanations... > There are 2 bugs. > - 1st bug is that you have message with a wrong syntax, and perfparse cannot parse them. > No idea yet. > > - 2nd bug : such messages should go in the "drop file" (/tmp/perfparse.drop with a date > in Tim's config). But they don't : they are recognized as commands for the server, but > not a known command. (telnet on the 1976 port of your server, type 'help' if you want to > know more - perfparse definitely needs some better documentation :) > I attach a patch that is supposed to redirect bad lines to /tmp/perfparse.drop. With > this, you will be able to see what the problem is with the lines, and see if this is a > nagios bug or a perfparse bug. > > Last thing : I develop with nagios-1.2 and with the pipe command. I cannot test myself > the new nagios-2.0 feature to write directly to a pipe. > > > > nagios@plato:/EUnet/nagios/bin$ ./perfparsed --show_config > > > Drop_File = "/tmp/perfparse.drop" > > Drop_File_Rotate = "Yes" > > > # 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 > > If you redirect "./perfparsed --show_config" to a config file, notice that you should > add some '#' at the beginning of the previous lines. This is another bug I just found > and fixed for next release. No side effects as soon as you don't redirect this to a file > without adding the '#' chars :) > > > # Service_Log = "string" > > Service_Log = "|/EUnet/nagios/var/perfparse.pipe" > > > --- strace ../bin/perfparsed --- > > ... > > select(5, [4], NULL, NULL, NULL) = 1 (in [4]) > > rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 > > read(4, "and \'Comma", 10) = 10 > > read(4, "nd\' unknow", 10) = 10 > > read(4, "n.\nType \'h", 10) = 10 > > write(4, "Command \'", 9) = 9 > > write(4, "Command", 7) = 7 > > This should not appear again with the patch. > > > write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN > > (Resource temporarily unavailable) > > perfparse tries to write to the pipe. With the patch, it should not happen any more. > > Well, now, perfparse should not work better, but the wrong lines go to the > /tmp/perfparse.drop file. Please check it and say what's going wrong with those lines. > > Also try to check (with the 'cat' command) what nagios writes to the pipe ! > > Yves > > -- > - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - > - GPG key - http://ymettier.free.fr/gpg.txt - > - Maitretarot - http://www.nongnu.org/maitretarot/ - > - Perfparse - http://perfparse.sf.net/ - > > |
From: Yves M. <yme...@li...> - 2005-01-14 10:22:44
|
> To Yves: > If I understand correctly, at one point (strace line 13516) perfparse > WRITES to the pipe 'Command OK unknown. Type help ....'. > Of course it picks this back up at the input, and we're off for an > infinite loop where it keeps saying it doesn't understand what it has > written itself. Could it be that it loses track of where messages end > and a new message begins? Some little explanations... There are 2 bugs. - 1st bug is that you have message with a wrong syntax, and perfparse can= not parse them. No idea yet. - 2nd bug : such messages should go in the "drop file" (/tmp/perfparse.dr= op with a date in Tim's config). But they don't : they are recognized as commands for th= e server, but not a known command. (telnet on the 1976 port of your server, type 'help'= if you want to know more - perfparse definitely needs some better documentation :) I attach a patch that is supposed to redirect bad lines to /tmp/perfparse= .drop. With this, you will be able to see what the problem is with the lines, and see= if this is a nagios bug or a perfparse bug. Last thing : I develop with nagios-1.2 and with the pipe command. I canno= t test myself the new nagios-2.0 feature to write directly to a pipe. > nagios@plato:/EUnet/nagios/bin$ ./perfparsed --show_config > Drop_File =3D "/tmp/perfparse.drop" > Drop_File_Rotate =3D "Yes" > # 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 dat= a If you redirect "./perfparsed --show_config" to a config file, notice tha= t you should add some '#' at the beginning of the previous lines. This is another bug = I just found and fixed for next release. No side effects as soon as you don't redirect= this to a file without adding the '#' chars :) > # Service_Log =3D "string" > Service_Log =3D "|/EUnet/nagios/var/perfparse.pipe" > --- strace ../bin/perfparsed --- > ... > select(5, [4], NULL, NULL, NULL) =3D 1 (in [4]) > rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) =3D 0 > read(4, "and \'Comma", 10) =3D 10 > read(4, "nd\' unknow", 10) =3D 10 > read(4, "n.\nType \'h", 10) =3D 10 > write(4, "Command \'", 9) =3D 9 > write(4, "Command", 7) =3D 7 This should not appear again with the patch. > write(4, "\' unknown.\nType \'help\' for help."..., 33) =3D -1 EAGAIN > (Resource temporarily unavailable) perfparse tries to write to the pipe. With the patch, it should not happe= n any more. Well, now, perfparse should not work better, but the wrong lines go to th= e /tmp/perfparse.drop file. Please check it and say what's going wrong with= those lines. Also try to check (with the 'cat' command) what nagios writes to the pipe= ! Yves --=20 - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - - GPG key - http://ymettier.free.fr/gpg.txt - - Maitretarot - http://www.nongnu.org/maitretarot/ - - Perfparse - http://perfparse.sf.net/ - |
From: Yves <yme...@pe...> - 2005-01-14 10:03:19
|
The problem that mentionned Tim's bug was fixed in 0.104.1 or 0.104.2 (ap= pears twice in ChangeLog). This is something new, and I found one bug (I think there are 2 there). I= will post a patch soon. More in my next mail. Yves > This problem does not seem related to the one I was experiencing a > while back (that one definitely got fixed, and the strace output looks > totally different). > > However, I have the same problem on my production machine with 0.104.8 > It did not occur on my test platform. (aargh not good!) > > To Yves: > If I understand correctly, at one point (strace line 13516) perfparse > WRITES to the pipe 'Command OK unknown. Type help ....'. > Of course it picks this back up at the input, and we're off for an > infinite loop where it keeps saying it doesn't understand what it has > written itself. Could it be that it loses track of where messages end > and a new message begins? > > Tim > > nagios@plato:/EUnet/nagios/bin$ ./perfparsed --show_config > Perfparsed [options] > > # File where Perfparse logs messages > # Error_Log =3D "string" > Error_Log =3D "/EUnet/nagios/var/log/perfparse_error" > > # Rotate Perfparse log files > # Error_Log_Rotate =3D "Y/N" > Error_Log_Rotate =3D "Yes" > > # Keep N days of error log. Compress recent logs and remove too old one= s > # Error_Log_Keep_N_Days =3D "value" > Error_Log_Keep_N_Days =3D "7" > > # When perfparse cannot parse a line, it drops it to that file > # Drop_File =3D "string" > Drop_File =3D "/tmp/perfparse.drop" > > # > # Drop_File_Rotate =3D "Y/N" > Drop_File_Rotate =3D "Yes" > > # Keep N days of drop file log. Compress recent logs and remove too old= ones > # Drop_File_Keep_N_Days =3D "value" > Drop_File_Keep_N_Days =3D "7" > > # Port for perfparsed server > Put 0 or "" to disable the server > # Server_Port =3D "value" > Server_Port =3D "0" > > # 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 dat= a > # Service_Log =3D "string" > Service_Log =3D "|/EUnet/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 =3D "Y/N" > Service_Log_Save_Position =3D "yes" > > # Path for files containing the read position for nagios log files > # Service_Log_Position_Mark_Path =3D "string" > Service_Log_Position_Mark_Path =3D "" > > # Lock file for perfparsed > # Daemon_Lock =3D "string" > Daemon_Lock =3D "/EUnet/nagios/var/perfparsed.lock" > > # Run perfparsed as a daemon > # Daemonize =3D "Y/N" > Daemonize =3D "no" > > # Perform some periodic cleanup every day > # Periodic_Cleanup =3D "Y/N" > Periodic_Cleanup =3D "yes" > > # Lock file for perfparsed periodic cleanup process > # Periodic_Cleanup_Lock =3D "string" > Periodic_Cleanup_Lock =3D "/EUnet/nagios/var/perfparsed_periodic_cleanu= p.lock" > > # Perform some periodic cleanup every day at HHMM > # Periodic_Cleanup_Hour =3D "value" > Periodic_Cleanup_Hour =3D "0230" > > # Dummy hostname if gethostname() does not work > # Dummy_Hostname =3D "string" > Dummy_Hostname =3D "dummy" > > # Don't store raw data > # No_Raw_Data =3D "Y/N" > No_Raw_Data =3D "no" > > # Don't store bin data > # No_Bin_Data =3D "Y/N" > No_Bin_Data =3D "no" > > # Path where storage modules are > # Storage_Modules_Dir =3D "string" > Storage_Modules_Dir =3D "/EUnet/nagios/lib" > > # Modules to load (Coma separated values) > # Storage_Modules_Load =3D "string" > Storage_Modules_Load =3D "mysql" > > # File to contain Storage Modules Status > # Storage_Modules_Status_File =3D "string" > Storage_Modules_Status_File =3D "/EUnet/nagios/var/storage_modules.stat= us" > > > > # Storage Module : mysql > # =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > > # Database user > # DB_User =3D "string" > DB_User =3D "nagios" > > # Database password > # DB_Pass =3D "string" > DB_Pass =3D "password" > > # Database name > # DB_Name =3D "string" > DB_Name =3D "nagios" > > # Database hostname > # DB_Host =3D "string" > DB_Host =3D "127.0.0.1" > > > ---------- Forwarded message ---------- > From: Thomas Eriksson <tho...@sl...> > Date: Thu, 13 Jan 2005 11:59:51 -0800 > Subject: [Perfparse-users] CPU usage again > To: per...@li... > > > Hi > > An issue with prefparsed using all the CPU when configured for > "Method 4" was mentioned in post by Tim Wuyts at the end of November. > No resolution was ever posted as far as I can tell. > > Now, I am coming across the same problem. I did try Yves' suggestion > to replace the last argument in the select() call with NULL, but it > had no effect. > > I have far less services checks than the Tim, only about 120. > The host is a 3GHz P4 with 1GB of RAM running RHEL3u4. > Nagios is version 2.0b1, plugins v1.4-beta1 and perfparse is 0.104.8 > > I ran perfparsed with strace and it appears to be running fine for > a few rounds of events. Then some type of error message is starting > to appear in the message buffer: "Command xxx unknown. Type 'help' for > help." It then quickly gets into self degenerating loop trying to deal > with the error message by putting out more of them. > > When writing into a file instead of a pipe, I never see these messages. > > Below is a short extract of the 'strace' once it got into trouble, it > gets very large very quickly. If more of the strace can be of any help > I can post a larger section. > > thanks, > > Thomas > > --- strace ../bin/perfparsed --- > ... > select(5, [4], NULL, NULL, NULL) =3D 1 (in [4]) > rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) =3D 0 > read(4, "and \'Comma", 10) =3D 10 > read(4, "nd\' unknow", 10) =3D 10 > read(4, "n.\nType \'h", 10) =3D 10 > write(4, "Command \'", 9) =3D 9 > write(4, "Command", 7) =3D 7 > write(4, "\' unknown.\nType \'help\' for help."..., 33) =3D -1 EAGAIN > (Resource temporarily unavailable) > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0 > utime("/usr/local/nagios/var/storage_modules.status", NULL) =3D 0 > time(NULL) =3D 1105566327 > time(NULL) =3D 1105566327 > waitpid(-1, NULL, WNOHANG) =3D -1 ECHILD (No child process= es) > select(5, [4], NULL, NULL, NULL) =3D 1 (in [4]) > rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) =3D 0 > read(4, "elp\' for h", 10) =3D 10 > read(4, "elp.\nComma", 10) =3D 10 > write(4, "Command \'", 9) =3D 9 > write(4, "Type", 4) =3D 4 > write(4, "\' unknown.\nType \'help\' for help."..., 33) =3D -1 EAGAIN > (Resource temporarily unavailable) > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0 > utime("/usr/local/nagios/var/storage_modules.status", NULL) =3D 0 > time(NULL) =3D 1105566327 > time(NULL) =3D 1105566327 > waitpid(-1, NULL, WNOHANG) =3D -1 ECHILD (No child process= es) > select(5, [4], NULL, NULL, NULL) =3D 1 (in [4]) > rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) =3D 0 > read(4, "nd \'TypeCo", 10) =3D 10 > read(4, "mmand \'Com", 10) =3D 10 > read(4, "mand\' unkn", 10) =3D 10 > read(4, "own.\nType ", 10) =3D 10 > write(4, "Command \'", 9) =3D 9 > write(4, "Command", 7) =3D 7 > write(4, "\' unknown.\nType \'help\' for help."..., 33) =3D 33 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0 > utime("/usr/local/nagios/var/storage_modules.status", NULL) =3D 0 > time(NULL) =3D 1105566327 > time(NULL) =3D 1105566327 > waitpid(-1, NULL, WNOHANG) =3D -1 ECHILD (No child process= es) > select(5, [4], NULL, NULL, NULL) =3D 1 (in [4]) > rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) =3D 0 > read(4, "\'help\' for", 10) =3D 10 > read(4, " help.\nCom", 10) =3D 10 > write(4, "Command \'", 9) =3D 9 > write(4, "Type", 4) =3D 4 > write(4, "\' unknown.\nType \'help\' for help."..., 33) =3D -1 EAGAIN > (Resource temporarily unavailable) > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0 > utime("/usr/local/nagios/var/storage_modules.status", NULL) =3D 0 > time(NULL) =3D 1105566327 > time(NULL) =3D 1105566327 > waitpid(-1, NULL, WNOHANG) =3D -1 ECHILD (No child process= es) > select(5, [4], NULL, NULL, NULL) =3D 1 (in [4]) > ... > > ------------------------------------------------------- > 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 > --=20 - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - - GPG key - http://ymettier.free.fr/gpg.txt - - Maitretarot - http://www.nongnu.org/maitretarot/ - - Perfparse - http://perfparse.sf.net/ - |
From: Tim W. <tim...@gm...> - 2005-01-14 09:26:39
|
This problem does not seem related to the one I was experiencing a while back (that one definitely got fixed, and the strace output looks totally different). However, I have the same problem on my production machine with 0.104.8 It did not occur on my test platform. (aargh not good!) To Yves: If I understand correctly, at one point (strace line 13516) perfparse WRITES to the pipe 'Command OK unknown. Type help ....'. Of course it picks this back up at the input, and we're off for an infinite loop where it keeps saying it doesn't understand what it has written itself. Could it be that it loses track of where messages end and a new message begins? Tim nagios@plato:/EUnet/nagios/bin$ ./perfparsed --show_config Perfparsed [options] # File where Perfparse logs messages # Error_Log = "string" Error_Log = "/EUnet/nagios/var/log/perfparse_error" # Rotate Perfparse log files # Error_Log_Rotate = "Y/N" Error_Log_Rotate = "Yes" # Keep N days of error log. Compress recent logs and remove too old ones # Error_Log_Keep_N_Days = "value" Error_Log_Keep_N_Days = "7" # When perfparse cannot parse a line, it drops it to that file # Drop_File = "string" Drop_File = "/tmp/perfparse.drop" # # Drop_File_Rotate = "Y/N" Drop_File_Rotate = "Yes" # Keep N days of drop file log. Compress recent logs and remove too old ones # Drop_File_Keep_N_Days = "value" Drop_File_Keep_N_Days = "7" # Port for perfparsed server Put 0 or "" to disable the server # Server_Port = "value" Server_Port = "0" # 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 = "|/EUnet/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 = "/EUnet/nagios/var/perfparsed.lock" # Run perfparsed as a daemon # Daemonize = "Y/N" Daemonize = "no" # Perform some periodic cleanup every day # Periodic_Cleanup = "Y/N" Periodic_Cleanup = "yes" # Lock file for perfparsed periodic cleanup process # Periodic_Cleanup_Lock = "string" Periodic_Cleanup_Lock = "/EUnet/nagios/var/perfparsed_periodic_cleanup.lock" # Perform some periodic cleanup every day at HHMM # Periodic_Cleanup_Hour = "value" Periodic_Cleanup_Hour = "0230" # 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" # Path where storage modules are # Storage_Modules_Dir = "string" Storage_Modules_Dir = "/EUnet/nagios/lib" # Modules to load (Coma separated values) # Storage_Modules_Load = "string" Storage_Modules_Load = "mysql" # File to contain Storage Modules Status # Storage_Modules_Status_File = "string" Storage_Modules_Status_File = "/EUnet/nagios/var/storage_modules.status" # Storage Module : mysql # ============================== # Database user # DB_User = "string" DB_User = "nagios" # Database password # DB_Pass = "string" DB_Pass = "password" # Database name # DB_Name = "string" DB_Name = "nagios" # Database hostname # DB_Host = "string" DB_Host = "127.0.0.1" ---------- Forwarded message ---------- From: Thomas Eriksson <tho...@sl...> Date: Thu, 13 Jan 2005 11:59:51 -0800 Subject: [Perfparse-users] CPU usage again To: per...@li... Hi An issue with prefparsed using all the CPU when configured for "Method 4" was mentioned in post by Tim Wuyts at the end of November. No resolution was ever posted as far as I can tell. Now, I am coming across the same problem. I did try Yves' suggestion to replace the last argument in the select() call with NULL, but it had no effect. I have far less services checks than the Tim, only about 120. The host is a 3GHz P4 with 1GB of RAM running RHEL3u4. Nagios is version 2.0b1, plugins v1.4-beta1 and perfparse is 0.104.8 I ran perfparsed with strace and it appears to be running fine for a few rounds of events. Then some type of error message is starting to appear in the message buffer: "Command xxx unknown. Type 'help' for help." It then quickly gets into self degenerating loop trying to deal with the error message by putting out more of them. When writing into a file instead of a pipe, I never see these messages. Below is a short extract of the 'strace' once it got into trouble, it gets very large very quickly. If more of the strace can be of any help I can post a larger section. thanks, Thomas --- strace ../bin/perfparsed --- ... select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "and \'Comma", 10) = 10 read(4, "nd\' unknow", 10) = 10 read(4, "n.\nType \'h", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Command", 7) = 7 write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN (Resource temporarily unavailable) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "elp\' for h", 10) = 10 read(4, "elp.\nComma", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Type", 4) = 4 write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN (Resource temporarily unavailable) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "nd \'TypeCo", 10) = 10 read(4, "mmand \'Com", 10) = 10 read(4, "mand\' unkn", 10) = 10 read(4, "own.\nType ", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Command", 7) = 7 write(4, "\' unknown.\nType \'help\' for help."..., 33) = 33 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "\'help\' for", 10) = 10 read(4, " help.\nCom", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Type", 4) = 4 write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN (Resource temporarily unavailable) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) ... ------------------------------------------------------- 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 |
From: Thomas E. <tho...@sl...> - 2005-01-13 19:59:58
|
Hi An issue with prefparsed using all the CPU when configured for "Method 4" was mentioned in post by Tim Wuyts at the end of November. No resolution was ever posted as far as I can tell. Now, I am coming across the same problem. I did try Yves' suggestion to replace the last argument in the select() call with NULL, but it had no effect. I have far less services checks than the Tim, only about 120. The host is a 3GHz P4 with 1GB of RAM running RHEL3u4. Nagios is version 2.0b1, plugins v1.4-beta1 and perfparse is 0.104.8 I ran perfparsed with strace and it appears to be running fine for a few rounds of events. Then some type of error message is starting to appear in the message buffer: "Command xxx unknown. Type 'help' for help." It then quickly gets into self degenerating loop trying to deal with the error message by putting out more of them. When writing into a file instead of a pipe, I never see these messages. Below is a short extract of the 'strace' once it got into trouble, it gets very large very quickly. If more of the strace can be of any help I can post a larger section. thanks, Thomas --- strace ../bin/perfparsed --- ... select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "and \'Comma", 10) = 10 read(4, "nd\' unknow", 10) = 10 read(4, "n.\nType \'h", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Command", 7) = 7 write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN (Resource temporarily unavailable) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "elp\' for h", 10) = 10 read(4, "elp.\nComma", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Type", 4) = 4 write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN (Resource temporarily unavailable) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "nd \'TypeCo", 10) = 10 read(4, "mmand \'Com", 10) = 10 read(4, "mand\' unkn", 10) = 10 read(4, "own.\nType ", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Command", 7) = 7 write(4, "\' unknown.\nType \'help\' for help."..., 33) = 33 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) rt_sigprocmask(SIG_BLOCK, [INT PIPE TERM], [], 8) = 0 read(4, "\'help\' for", 10) = 10 read(4, " help.\nCom", 10) = 10 write(4, "Command \'", 9) = 9 write(4, "Type", 4) = 4 write(4, "\' unknown.\nType \'help\' for help."..., 33) = -1 EAGAIN (Resource temporarily unavailable) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 utime("/usr/local/nagios/var/storage_modules.status", NULL) = 0 time(NULL) = 1105566327 time(NULL) = 1105566327 waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes) select(5, [4], NULL, NULL, NULL) = 1 (in [4]) ... |
From: Cook, G. <GW...@ma...> - 2005-01-12 16:31:44
|
Please use the PP mailing list for technical questions. I've copied this message to the list as well, perhaps someone can assist. Garry W. Cook, CCNA Network Infrastructure Manager MACTEC, Inc. - http://www.mactec.com/ 303.273.5050 (Office) - 720.220.1862 (Mobile)=20 -----Original Message----- From: riccardo andreetta [mailto:ric...@as...]=20 Sent: Wednesday, January 12, 2005 9:26 AM To: gc...@pe... Subject: installation problem Good evening, I'm trying to install perfmon, but I get the following error: =20 ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/nagios/lib =20 If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' =20 See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/usr/local/ConfigNagios/perfparse-0.104.8/libnagios_perfdata_parser' make[2]: Leaving directory `/usr/local/ConfigNagios/perfparse-0.104.8/libnagios_perfdata_parser' Making install in libpp_common make[2]: Entering directory `/usr/local/ConfigNagios/perfparse-0.104.8/libpp_common' if /bin/sh ../libtool --mode=3Dcompile gcc -DHAVE_CONFIG_H -I. -I. -I.. '-DLIBDIR=3D"/usr/local/nagios/lib"' '-DLOCALSTATEDIR=3D"/usr/local/nagios/var"' '-DSYSCONFDIR=3D"/usr/local/nagios/etc"' = '-DPREFIX=3D"/usr/local/nagios"' '-DLOCALEDIR=3D"/usr/local/nagios/share/locale"' -I.. -g -O2 -Wall -MT libpp_common_la-config_file.lo -MD -MP -MF ".deps/libpp_common_la-config_file.Tpo" -c -o libpp_common_la-config_file.lo `test -f 'config_file.c' || echo './'`config_file.c; \ then mv -f ".deps/libpp_common_la-config_file.Tpo" ".deps/libpp_common_la-config_file.Plo"; else rm -f ".deps/libpp_common_la-config_file.Tpo"; exit 1; fi mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I.. -DLIBDIR=3D\"/usr/local/nagios/lib\" -DLOCALSTATEDIR=3D\"/usr/local/nagios/var\" -DSYSCONFDIR=3D\"/usr/local/nagios/etc\" = -DPREFIX=3D\"/usr/local/nagios\" -DLOCALEDIR=3D\"/usr/local/nagios/share/locale\" -I.. -g -O2 -Wall -MT libpp_common_la-config_file.lo -MD -MP -MF .deps/libpp_common_la-config_file.Tpo -c config_file.c -fPIC -DPIC -o .libs/libpp_common_la-config_file.o config_file.c:40:18: glib.h: No such file or directory config_file.c: In function `config_argv': config_file.c:268: error: `gchar' undeclared (first use in this function) config_file.c:268: error: (Each undeclared identifier is reported only once config_file.c:268: error: for each function it appears in.) config_file.c:268: error: `str' undeclared (first use in this function) config_file.c:268: warning: implicit declaration of function `g_strdup_printf' config_file.c:270: warning: implicit declaration of function `g_free' make[2]: *** [libpp_common_la-config_file.lo] Error 1 make[2]: Leaving directory `/usr/local/ConfigNagios/perfparse-0.104.8/libpp_common' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/usr/local/ConfigNagios/perfparse-0.104.8' make: *** [install-strip] Error 2 =20 =20 I didn't find anything in the site or newsgroups about this file (glib.h). It seems something standard, since in the file it is included like for example "stdio.h" others ... =20 Thank you very much in advance, best regards =20 =20 Riccardo Andreetta =20 ASCO TLC S.p.A. via Friuli, 11 31020 San Vendemiano (TV) tel: 0438-402661 fax: 0438-403124 =20 |
From: Bock, C. <Chr...@li...> - 2005-01-11 12:46:52
|
helo, Are the versions 0.100.7 and 0.104.8 compatible? What I want to do is to do a "soft migration", in my case that is to replace the 0.100.7 installation on the distributed systems with the new ( 0.104.8 ) version but to keep the old ( 0.100.7 ) version on the main system until I do the "big migration" to nagios v2 and have to redo everything anyway. So the question reduces mainly to: Are the database-schemas of 0.100.7 and 0.104.8 compatible? Mit freundlichen Gr=FC=DFen Im Auftrag Christian Bock Administrator Netze =20 Landesinformationszentrum Sachsen-Anhalt (LIZ) Rechenzentrum / Fachbereich Netze/PKI Barbarastra=DFe 2 06110 Halle (Saale) Tel.: +49 345 1304 814 Fax: +49 345 1304 899 Hinweis: Hinweis: Diese Information ist ausschlie=DFlich f=FCr die = adressierte Person oder Organisation bestimmt. Die Inhalte dieser Mail = sind vertraulich. Sollten Sie nicht der Adressat oder eine von ihm = autorisierte Person sein, sind Sie nicht berechtigt, die Informationen = zu kopieren oder zu ver=F6ffentlichen. Bitte benachrichtigen Sie uns in = diesem Fall und l=F6schen Sie dann diese Mail. =20 |
From: Ben C. <bcl...@pe...> - 2005-01-10 22:38:14
|
Dear Users, New version 0.104.8 released to address problems found by Yves. Will be available in next few minutes, as soon as completed compilation :) Regards, Ben. |
From: Ben C. <bcl...@pe...> - 2005-01-09 16:39:52
|
New version released. Details may be found on: http://wiki.perfparse.org/tiki-view_forum_thread.php?comments_parentId=13&forumId=2 Regards, Ben & Yves |
From: Ben C. <bcl...@pe...> - 2005-01-06 09:15:24
|
Yves, James, I can see your reasoning, the page has expired a long time ago! This meta header is used to tell the browser how to cache this document. In this case, cache until 2000-01-01, or don't cache at all. This is the most powerful way we have found of forcing a browser not to cache the CGI. Some browsers (MSIE v4) can be fanatical about caching, which makes life for a CGI coder very hard. Eg, having to add random numbers into every URL, ugh! There would be a large number of web sites which would fail to work if this had other implications. But maybe in the future a more dynamic date should be used. However, to keep an open mind, there is no harm in trying to alter this. Line 365 in perfgraph.c, try a more recent date: Expires: Sat, 01 Jan 2005 01:01:01 GMT It would be interesting to see if this did effect the code? Ben Yves wrote: > Hi :) > > I'm the one who asks questions and has no answer :) > > >>I also took the liberty of trying some of the pages that I'm trying to >>load in the web browser from the command line. >> >># export QUERY_STRING="all_raw=1" >># ./perfparse.cgi >>Expires: Sun, 02 Jan 2000 01:01:01 GMT >>content-type: text/html >> >><HTML> > > ... > > And what about the server refusing to send a page that has already expired ? That page > is more than 5 years ago :) > > Yves > > -- Ben Clewett bcl...@pe... PerfParse http://www.perfparse.org PP FAQ http://wiki.perfparse.org/tiki-list_faqs.php |
From: Yves <yme...@pe...> - 2005-01-06 08:55:00
|
Hi :) I'm the one who asks questions and has no answer :) > I also took the liberty of trying some of the pages that I'm trying to > load in the web browser from the command line. > > # export QUERY_STRING=3D"all_raw=3D1" > # ./perfparse.cgi > Expires: Sun, 02 Jan 2000 01:01:01 GMT > content-type: text/html > > <HTML> ... And what about the server refusing to send a page that has already expire= d ? That page is more than 5 years ago :) Yves --=20 - Homepage - http://ymettier.free.fr - http://www.logicacmg.com - - GPG key - http://ymettier.free.fr/gpg.txt - - Maitretarot - http://www.nongnu.org/maitretarot/ - - Perfparse - http://perfparse.sf.net/ - |
From: James G. <ja...@m5...> - 2005-01-05 22:13:21
|
Hi Ben, Thanks again for your help :) Ben Clewett wrote: > Hi James, > > I have looked through your reply and cannot see any reason for this > error. Yet! You are not the only person with this error so I would > really like to work with you and sort this out! > > I would be very interested in help from any other member who understand > the CGI and HTTP protocols. > > I suspect the code is crashing in the function scgi(char *) in cgi/cgi.c > This takes the QUERY_STRING and extracts CGI variables from it. > > Can I ask you to repeat one of your tests with a slightly different test > value: > > Can you try running the perfparse.cgi from the command line: > > $ export QUERY_STRING="show_config=1" > $ /...../perfparse.cgi > I should be glad when things don't crash, but this time I'm not.. :( It spits out the same output as with a question mark. # export QUERY_STRING="show_config=1" # ./perfparse.cgi > noquestionmark # export QUERY_STRING="?show_config=1" # ./perfparse.cgi > questionmark # diff questionmark noquestionmark # # No difference. But at least we've narrowed it down to not being there!! :) I also took the liberty of trying some of the pages that I'm trying to load in the web browser from the command line. # export QUERY_STRING="all_raw=1" # ./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"> <p align=center> <table width=600 border=1 cellpadding=5 cellspacing=0 bgcolor="#CCCCCC"><tr><td> <table width="100%" border=0 cellpadding=0 cellspacing=0> <tr> <td width=60><img src="/nagios/images/perfparse-logo-sm.png" border=0></td> <td align=center><font face="Arial, Helvetica" size="2"> <b>Raw Nagios Plugin Report</b> <br> <a href="perfparse.cgi">Return to main menu</a> </font></td> <td width=60 align=right><font face="Arial, Helvetica" size="1">v0.104.6</font></td> </tr> </table> </td></tr></table> </p> <form method="get"> <input type=hidden name="all_raw" value="1"> <p align=center> <table width=600 border=1 cellpadding=5 cellspacing=0 bgcolor="#CCCCCC"><tr><td> <table width="100%" border=0 cellpadding=0 cellspacing=0> <tr> <td align=center width="33%"><font face="Arial, Helvetica" size=2> Select Host Group: </td> <td> <select name="group_name"> <option value="">-- Select group: -- <option value="**ALL**"><All Groups> </select> <input type=submit value="Enter"> </td></form> </tr> </table> </td></tr></table></p> </body></html> # # If I save this to a file and load it in my web-browser, then it works OK. So this leads us to believe that there is something wrong with the way my webserver is interpreting the cgi doesn't it? I'm no expert on cgi stuff, I'll read up on it a bit today. :/ > Can you show me the result of this action? > > I am hoping this will crash on your system. Although it does not on > mine. If this is the case, I at least know where the problem is! > > Again to all readers: Another fix to this is to use a free CGI lib > capable of examining POST and GET methods, and replace mine. (I use > commercial ones at my place of work, cannot use them in PP.) Would any > reader be able to recommend one? > > James, to your other queries: > > Glad you have data in your system now :) > > Sorry you cannot upgrade your MySQL. This may cause some problems later > on. I will have to think of you when I code database conversions... > Hopefully I can upgrade it at some stage. I just don't want the system to fall over because I wanted some graphs. I would get a butt-kickin' > Everything else seems in order. Lets get this fix for you :) > > Ben > > > > 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 > Gave it a whirl, didn't seem to change anything at first glance. Still good ol' error 500. Hope we haven't hit a dead end. Is there anyway that we can actually find out what apache thinks is the 'malformed header'? If we knew that then we should be able to fix the problem no worries right?... Thanks a lot for all your help Ben. I'm determined to get this to work now!! Kind regards, James Greenhalgh |
From: Ben C. <bcl...@pe...> - 2005-01-05 09:48:31
|
A reminder for users upgrading from older versions. This product is still not at version 1.0.0, so there are some changes to file names. Please check: perfgraph.cgi became perfparse.cgi perfparse-log2db became perfparse-log2mysql Please use latest perfparse.sh and perfparse.cfg, edited for your own setup. These changes are made infrequently and for good reason. Hopefully after version 1.0.0 there will be no more of these. Sorry for any problems this may cause. Please inform us of any problems or errors in documentation. Regards Ben. -- Ben Clewett bcl...@pe... PerfParse http://www.perfparse.org PP FAQ http://wiki.perfparse.org/tiki-list_faqs.php |
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 |
From: Ben C. <bcl...@pe...> - 2005-01-05 08:55:00
|
Hi James, I have looked through your reply and cannot see any reason for this error. Yet! You are not the only person with this error so I would really like to work with you and sort this out! I would be very interested in help from any other member who understand the CGI and HTTP protocols. I suspect the code is crashing in the function scgi(char *) in cgi/cgi.c This takes the QUERY_STRING and extracts CGI variables from it. Can I ask you to repeat one of your tests with a slightly different test value: Can you try running the perfparse.cgi from the command line: $ export QUERY_STRING="show_config=1" $ /...../perfparse.cgi Can you show me the result of this action? I am hoping this will crash on your system. Although it does not on mine. If this is the case, I at least know where the problem is! Again to all readers: Another fix to this is to use a free CGI lib capable of examining POST and GET methods, and replace mine. (I use commercial ones at my place of work, cannot use them in PP.) Would any reader be able to recommend one? James, to your other queries: Glad you have data in your system now :) Sorry you cannot upgrade your MySQL. This may cause some problems later on. I will have to think of you when I code database conversions... Everything else seems in order. Lets get this fix for you :) 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 |