handwerker
Well-Known Member
Hi !
Nach einen Portupgrade vor ein paar Tagen bringe ich smokeping nicht mehr richtig zum Laufen.
Der Teil von smokeping, der die Daten aufzeichnet funktioniert.
Das Problem tritt bei in der Weboberfläche auf.
Das smokeping.fcgi meldet ERROR: Could not save png to ...
Nachdem ich alles mögliche untersucht habe stehe ich etwas auf dem Schlauch.
Meine Umgebung:
Server
Apache:
Apache Module:
In der Liste der Module ist ganz unten zu finden:
speedycgi_module (shared) Diese Modul wurde früher von smokeping verwendet
fcgid_module (shared) Dieses Modul wird von der neueren Version von smokeping verwendet.
Habe die FASTCGI Konfiguration getestet mit eine kleinen Perl Script abgelegt in /usr/local/smokeping/htdocs/foo.fpl
Das funktioniert wie erwartet.
Ich kenne die Anmerkungen in /usr/ports/UPDATING
Ursache ist das die smokeping Version 2.6.7_3 Version FASTCGI verwendet und nicht
mehr wie vor Version 2.5 SpeedyCGI
Die Apache Konfiguration habe ich angepasst: /usr/local/etc/apache22/Includes/smokeping.conf
Die OWNER und Rechte im Filesystem passen meiner Ansicht nach, sonst würde ja das obige Perl-FASTCGI TestScript nicht funktionieren.
Das smokeping.fcgi Script legt in den Verzeichnis __chartschache die *.PNG Dateien an,
jedoch mit Länge 0 Bytes.
Wo könnte ich noch forschen?
Nach einen Portupgrade vor ein paar Tagen bringe ich smokeping nicht mehr richtig zum Laufen.
Der Teil von smokeping, der die Daten aufzeichnet funktioniert.
Das Problem tritt bei in der Weboberfläche auf.
Das smokeping.fcgi meldet ERROR: Could not save png to ...
Nachdem ich alles mögliche untersucht habe stehe ich etwas auf dem Schlauch.
Meine Umgebung:
Server
Code:
: 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 02:52:29 UTC 2012 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
Code:
Server version: Apache/2.2.22 (FreeBSD)
Server built: Sep 20 2012 12:55:07
Apache Module:
Code:
apachectl -t -D DUMP_MODULES
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
authn_file_module (shared)
authn_dbm_module (shared)
authn_anon_module (shared)
authn_default_module (shared)
authn_alias_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_dbm_module (shared)
authz_owner_module (shared)
authz_default_module (shared)
auth_basic_module (shared)
auth_digest_module (shared)
file_cache_module (shared)
cache_module (shared)
disk_cache_module (shared)
dumpio_module (shared)
reqtimeout_module (shared)
include_module (shared)
filter_module (shared)
charset_lite_module (shared)
deflate_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
mime_magic_module (shared)
cern_meta_module (shared)
expires_module (shared)
headers_module (shared)
usertrack_module (shared)
unique_id_module (shared)
setenvif_module (shared)
version_module (shared)
ssl_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
asis_module (shared)
info_module (shared)
cgi_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
imagemap_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
speedycgi_module (shared)
fcgid_module (shared)
Syntax OK
speedycgi_module (shared) Diese Modul wurde früher von smokeping verwendet
fcgid_module (shared) Dieses Modul wird von der neueren Version von smokeping verwendet.
Habe die FASTCGI Konfiguration getestet mit eine kleinen Perl Script abgelegt in /usr/local/smokeping/htdocs/foo.fpl
Code:
#!/usr/bin/perl -w
#
use strict;
use CGI::Fast;
#------------------------------------------------
# siehe
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidwrapper
#------------------------------------------------
#
while (my $q = CGI::Fast->new) {
print("Content-Type: text/plain\n\n");
print( "Fast-CGI TestScript\n\n");
foreach my $var (sort(keys(%ENV))) {
my $val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
print( "\$0=", $0, "( Program Name )\n");
print( "\$\$=", $$, "( Process ID )\n");
print( "\$<=", $<, "( Real User ID )\n");
print( "\$>=", $>, "( Effective User ID )\n");
print( "\$(=", $(, "( Real Group ID, Array )\n");
print( "\$)=", $), "( Effective Group ID, Array )\n");
#------------------------------------------------
my $datei="/usr/local/smokeping/htdocs/img/__chartscache/testewas.txt";
if ( -e $datei ) {
my @dateistatus = stat( $datei ) or die "ERROR: Probleme stat( $datei ): $!";
print("Der OWNER der Datei $datei ist $dateistatus[4].\n");
}else{
print("Die Datei $datei existiert nicht.\n");
open FILE, ">", $datei or die "ERROR: Could not open $datei for writing: $!";
print FILE "hallo world\n";
close FILE;
print("Datei $datei erzeugt.\n");
}
}
#------------------------------------------------
Ich kenne die Anmerkungen in /usr/ports/UPDATING
Code:
20120513:
AFFECTS: users of net-mgmt/smokeping
AUTHOR: lth@FreeBSD.org
Smokeping has been updated to 2.6.7, and the web server configuration
has changed. FastCGI is now preferred. Please check the documentation
that your web server configuration is OK.
mehr wie vor Version 2.5 SpeedyCGI
Die Apache Konfiguration habe ich angepasst: /usr/local/etc/apache22/Includes/smokeping.conf
Code:
#
# Fuer smokeping
#
#
# Jetzt mit FastCGI
#-----------------------------------------------------------
#
# Das Modul wird schon in httpd.conf geladen...
#LoadModule fcgid_module libexec/apache22/mod_fcgid.so
#-----------------------------------------------------------
<IfModule mod_fcgid.c>
<Directory "/usr/local/smokeping/htdocs">
Options Indexes FollowSymLinks ExecCGI
AddHandler fcgid-script .fcg .fcgi .fpl
#
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</IfModule>
#
#If you are upgrading from mod_fcgid 2.2, you have to rename
#the directives you have used in the config files:
#http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#upgrade
#************************************************************
#===> Registering installation for ap22-mod_fcgid-2.3.6_1
#-----------------------------------------------------------
<IfModule alias_module>
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#-------------------------------------------------------------
# fuer smokeping
Alias /smokeping "/usr/local/smokeping/htdocs"
</IfModule>
#-----------------------------------------------------------
Das smokeping.fcgi Script legt in den Verzeichnis __chartschache die *.PNG Dateien an,
jedoch mit Länge 0 Bytes.
Wo könnte ich noch forschen?