Feature #348

Package request: Smokeping

Added by Jeff Bilyk 4 months ago. Updated 29 days ago.

Status:Closed Start:05/07/2010
Priority:Normal Due date:
Assigned to: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.


Add

Watchers

Associated revisions

Revision 861cf340e330410e66a48e220ecb13734a8c3eae
Added by Natanael Copa 4 months ago

main/rrdtool: provide perl-rrd subpackage

ref #348

Revision 5ee45ab5f718416b651ccb4ef2a4bc4c95fda9f9
Added by Natanael Copa about 1 month ago

main/rrdtool: provide perl-rrd subpackage

ref #348
(cherry picked from commit 861cf340e330410e66a48e220ecb13734a8c3eae)

Revision 390e45e6bad74946c1aaf87fa7ad180b434b05b9
Added by Natanael Copa about 1 month ago

testing/smokeping: new aport

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

ref #348

Revision 81bb6f7ad5f16cf1d7361b81edcf5f04e8b89868
Added by Natanael Copa about 1 month ago

main/smokeping: moved from testing

fixes #348

History

Updated by Jeff Bilyk 4 months 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 4 months ago

  • Target version changed from Alpine 1.10.2 to Alpine 2.0.0

Updated by Natanael Copa 4 months ago

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

Updated by Jeff Bilyk 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 3 months 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 3 months 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 3 months ago

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

Updated by Jeff Bilyk about 1 month 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 about 1 month 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 about 1 month 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 about 1 month ago

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

Updated by Natanael Copa 29 days ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF