Spis Treści
Generowanie statystyk z poczty - mailgraph
Dodanie użytkownika na potrzeby samego skryptu generującego
pw add user mailgraph -c "User &" -g 0 -s /nonexistent -d /nonexistent
mkdir -p /var/db/mailgraph/
chown mailgraph:www /var/db/mailgraph/
Przetworzenie starszych logów
Warto przetworzyć starsze logi, zanim uruchomi się sam monitoring (uzupełnienie starszych danych).
UWAGA Przed uruchomieniem poniższych skryptów sprawdź, że żaden z logów nie jest skompresowany. W przeciwnym przypadku konsola zamieni się w "robaki".
for f in `ls -tr /var/log/maillog*`; do su -m mailgraph -c "/usr/local/sbin/mailgraph.pl --ignore-localhost --daemon-rrd=/var/db/mailgraph -c -l $f"; done
# w przypadku, gdy przekraczamy liczbę dni od początku roku:
for f in `find /var/log/ -name 'maillog*' -mtime -162d -print | sort -rn -t '.' -k2`; do su -m mailgraph -c "/usr/local/sbin/mailgraph.pl --ignore-localhost --daemon-rrd=/var/db/mailgraph -c -l $f"; done
Jeżeli przez pomyłkę powyższy skrypt został wykonany jako użytkownik root, to ponownie trzeba ustawić uprawnienia do baz rrd:
chown mailgraph:www /var/db/mailgraph/
Dodanie obsługi mailgraph w serwerze web
apache24
# dla VirtualHost podstawowego
# --- definicja katalogów z witrynami --------------
#
<Directory /usr/local/www/cgi-bin>
Options ExecCGI
AllowOverride AuthConfig
Require all granted
</Directory>
<Directory /usr/local/www/mailgraph>
Options Indexes
Require all granted
</Directory>
# w ramach definicji VirtualHost
#
<IfModule mod_alias.c>
ScriptAlias /cgi-bin/mailgraph.cgi "/usr/local/www/cgi-bin/mailgraph.cgi
ScriptAlias /cgi-bin/ "/var/www/htdocs/virtuals/serwer/cgi-bin/"
Alias /mailgraph/ "/usr/local/www/data/mailgraph/"
</IfModule>
nginx
Konfiguracja zapisana w pliku 018-mailgraph.conf w repozytorium skryptow. Poniżej dla przypomnienia:
location /mailgraph/ {
alias /usr/local/www/data/mailgraph/;
index none;
include expires.conf;
}
location /cgi-bin/mailgraph.cgi {
alias /usr/local/www/cgi-bin/mailgraph.cgi;
gzip off;
fastcgi_pass unix:/var/run/fcgiwrap/fcgiwrap.sock;
fastcgi_index mailgraph.cgi;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
location /mg/ {
return 301 https://$server_name/cgi-bin/mailgraph.cgi;
}
Łatanie mailgraph.cgi
Skrypt mailgraph.cgi posiada w sobie odnośniki do stron projektów mailgraph oraz rrdtool, ale bez szyfrowania. W związku z tym trzeba nałożyć następujące poprawki:
--- /usr/local/www/cgi-bin/mailgraph.cgi 2018-05-19 19:56:58.000000000 +0200
+++ /usr/local/www/cgi-bin/mailgraph.cgi.new 2018-05-25 08:20:03.929376000 +0200
@@ -185,10 +185,10 @@ HEADER
print <<FOOTER;
<hr/>
<table><tr><td>
-<a href="http://mailgraph.schweikert.ch/">Mailgraph</a> $VERSION
-by <a href="http://david.schweikert.ch/">David Schweikert</a></td>
+<a href="https://mailgraph.schweikert.ch/">Mailgraph</a> $VERSION
+by <a href="https://david.schweikert.ch/">David Schweikert</a></td>
<td align="right">
-<a href="http://oss.oetiker.ch/rrdtool/"><img src="http://oss.oetiker.ch/rrdtool/.pics/rrdtool.gif" alt="" width="120" height="34"/></a>
+<a href="https://oss.oetiker.ch/rrdtool/"><img src="https://oss.oetiker.ch/rrdtool/.pics/rrdtool.gif" alt="" width="120" height="34"/></a>
</td></tr></table>
</body></html>
FOOTER
Gotowy patch jest już w repozytroium skryptów, więc wystarczy go zaaplikować, a następnie poprawić sumy kontrolne:
patch -p0 < /home/wtp/scripts/patches/patch-usr_local_www_cgi-bin_mailgraph.cgi
pkg check -r mailgraph
# dla HQ nieco inna ścieżka
patch -p0 < /home/wtp/cvs/unison/patches/patch-usr_local_www_cgi-bin_mailgraph.cgi
Żródła w sieci internet
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
