Feature #348

Package request: Smokeping

Added by Jeff Bilyk over 1 year ago. Updated over 1 year ago.

Status:Closed Start date:05/07/2010
Priority:Normal Due date:
Assignee:Natanael Copa % Done:

100%

Category:Aports
Target version:Alpine 2.0.0

Description

Please package smokeping (including the basic features, without extra plugins such as ldap, telnet, etc.)
Homepage: http://oss.oetiker.ch/smokeping/
Tar.gz packages (pre-compiled): http://oss.oetiker.ch/smokeping/pub/

If this could be compiled for 1.10 series that would be great, since we're hoping to set this up on a currently running Alpine Linux server. Thanks.

Associated revisions

Revision 861cf340
Added by Natanael Copa over 1 year ago

main/rrdtool: provide perl-rrd subpackage

ref #348

Revision 5ee45ab5
Added by Natanael Copa over 1 year ago

main/rrdtool: provide perl-rrd subpackage

ref #348
(cherry picked from commit 861cf340e330410e66a48e220ecb13734a8c3eae)

Revision 390e45e6
Added by Natanael Copa over 1 year ago

testing/smokeping: new aport

Smokeping network latency monitoring
http://oss.oetiker.ch/smokeping/

ref #348

Revision 22a4623a
Added by Natanael Copa over 1 year ago

testing/smokeping: misc fixes ref #348

Revision 81bb6f7a
Added by Natanael Copa over 1 year ago

main/smokeping: moved from testing

fixes #348

History

Updated by Jeff Bilyk over 1 year ago

Forgot to mention: I tested the pre-compiled binaries, and it seems to run properly, would be nice to have a proper package though.

Updated by Natanael Copa over 1 year ago

  • Target version changed from Alpine 1.10.2 to Alpine 2.0.0

Updated by Natanael Copa over 1 year ago

Its perl scripts. should be possible package it but will probably require some work to do it correctly.

Updated by Jeff Bilyk over 1 year ago

Set up a testing box and trying to get all the paths working properly along with nagios + nagios-web. Needed to tweak lighttpd conf to get working properly. Will post some notes a little later today on success/failures. So far:

mod_cgi - enable
remove /usr/bin/perl for .cgi in /etc/lighttpd/mod_cgi.conf - just allow the scripts to execute
remove path restriction in mod_cgi.conf
disable mod_alias in lighttpd.conf - this was causing conflicts during testing
make sure permissions are good for lighttpd.lighttpd and nobody.nobody on folders for access

Issues for now:

Finishing fixing paths in scripts to point to proper directories
Find a workable RRDs.pm in Alpine repos - rrdtool package doesn't contain it
Tweak PaX to allow /usr/sbin/nagios to run without killing it with stack smashing

Updated by Jeff Bilyk over 1 year ago

Compiled RRDs.pm from the rrdtool-1.2.30 sources, then copied RRDs.pm to /usr/local/lib/perl5/site_perl/. Packages needed for compilation:
alpine-sdk freetype-dev libart-lgpl-dev zlib-dev libpng-dev perl-dev.

After cleaning up paths, still get the error:
Can't locate loadable object for module RRDs in @INC.

Updated by Natanael Copa over 1 year ago

Jeff Bilyk wrote:

Tweak PaX to allow /usr/sbin/nagios to run without killing it with stack smashing

I think that is a bug in nagios. You can probably compile it without ssp (CFLAGS="-fno-stack-protector") but that does not make the underlying bug go away. I'd report this to nagios developers.

Updated by Jeff Bilyk over 1 year ago

Will do for the nagios bug report. As for smokeping, I still get stuck at the error "Can't locate loadable object for module RRDs in @INC. As I mentioned before, I compiled RRDs.pm and installed manually into @INC. I didn't use sources from rrdtool-dev however, but from rrdtool's site. Would this have caused any issues? Or is RRDs.pm included in another package? In some distros, there is a package along the lines of librrds-perl specifically for this perl module. Did I just miss one in the repos?

Updated by Natanael Copa over 1 year ago

Jeff Bilyk wrote:

I still get stuck at the error "Can't locate loadable object for module RRDs in @INC. As I mentioned before, I compiled RRDs.pm and installed manually into @INC.

I think this comes from the fact that a compiled .so is needed too. Correct way is to update the rrdtool package to create a perl-rrd subpackage. I will do that.

Updated by Natanael Copa over 1 year ago

perl-rrd is available in edge now. If you are on 1.10.x you can build it from source. (git clone git://git.alpinelinux.org/aports && cd aports/main/rrdtool && abuild -r)

Updated by Jeff Bilyk over 1 year ago

Tested successfully on 1.10.1 by adding google DNS and a server on our ISP's network. Graphs generated and site accessed. Notes on the successful install that should help for the smokeping package:

add lighttpd, setup mod_cgi to remove /usr/bin/perl for .cgi
Made sure that rrds.pm was in @INC by adding the directory to smokeping.cgi
Set up directory in lighttpd for smokeping
added to smokeping.cgi: use lib qw(/usr/share/perl5/core_perl/CPAN)
perl -MCPAN -e'install URI::Escape'
Setup paths in smokeping scripts for config, scripts, libs, etc (this is a manual process)
Setup monitoring hosts in smokeping config (can remove the default from the config
Fixed path for images in web pages (seems to use a relative path)

Updated by Jeff Bilyk over 1 year ago

Read over the gentoo ebuild for smokeping, will hopefully get time tomorrow to put together an apkbuild for smokeping and test.

Updated by Jeff Bilyk over 1 year ago

Have been a bit busy - about half of the apkbuild is done, but it's a bit tedious since there's a whole of of sed'ing to do to the scripts, and there's tweaks to make along the way from the ebuild.

Updated by Natanael Copa over 1 year ago

You can email what you have and I can have a look at it.

Updated by Jeff Bilyk over 1 year ago

A few changes that should be made in apkbuild so that smokeping runs properly. Other small tweaks that are more user choice I can put in wiki how-to.

smokeping.cgi changes:
1) #!/usr/bin/speedy -> /usr/bin/perl
I couldn't find speedy interpreter on my system, but /usr/bin/perl
works - we should probably change this interpreter

/etc/smokeping/config
1) /usr/lib/sendmail -> /usr/sbin/sendmail

Other things:
1) /var/run/smokeping needs to be created during install
2) Had to create /var/lib/smokeping.img/Test manually - permissions
should allow lighttpd to write there and create the folder
automatically. Right now owner is root, but since smokeping is usually being accessed via web server, should permissions either be 777 or lighttpd.lighttpd?

tr.cgi:
1) #!/usr/bin/speedy -> /usr/bin/perl
Same as for smokeping.cgi

Updated by Natanael Copa over 1 year ago

Jeff Bilyk wrote:

A few changes that should be made in apkbuild so that smokeping runs properly. Other small tweaks that are more user choice I can put in wiki how-to.

smokeping.cgi changes:
1) #!/usr/bin/speedy -> /usr/bin/perl
I couldn't find speedy interpreter on my system, but /usr/bin/perl
works - we should probably change this interpreter

Fixed in 22a4623.

/etc/smokeping/config
1) /usr/lib/sendmail -> /usr/sbin/sendmail

Fixed in 22a4623.

Other things:
1) /var/run/smokeping needs to be created during install

Fixed in 22a4623.

2) Had to create /var/lib/smokeping.img/Test manually - permissions
should allow lighttpd to write there and create the folder
automatically. Right now owner is root, but since smokeping is usually being accessed via web server, should permissions either be 777 or lighttpd.lighttpd?

I have the package create /var/lib/smokeping/.simg owned by smokeping:smokeping. Does webserver need write access there?

tr.cgi:
1) #!/usr/bin/speedy -> /usr/bin/perl
Same as for smokeping.cgi

Fixed too.

Updated by Jeff Bilyk over 1 year ago

Re: "I have the package create /var/lib/smokeping/.simg owned by smokeping:smokeping. Does webserver need write access there?":
I don't think we need to add it in the package now that I think about it. Since people might use a different webserver (mini_httpd vs lighttpd vs other) I just added a note to change permissions in the wiki page on how to set it up.

I think that the package is good now (and could be moved to main since it's been tested), and this ticket is OK to close.

Updated by Natanael Copa over 1 year ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Updated by Natanael Copa over 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF