Nach vielen Versuchen Bindgraph zum laufen zu bekommen ist es mir endlich gelungen. Das Problem war, dass

    a) die Berechtigungen auf /var/lib/bindgraph falsch gesetzt waren (root:adm und es muss daemon:adm sein)
    b) das in der /usr/lib/cgi-bin/bindgraph.cgi Zeile 108, 109 & 110 Fehler verursachten

    Die Installation funktionerte bei mir nach folgenden Schritten. Als erstes das Paket mittels apt-get installieren.

    apt-get install bindgraph

    Anschließend das logging für die bind aktivieren:

    /etc/bind/named.conf
    logging {
            channel "querylog" { file "/var/log/bind9-query.log";
                    print-time yes;
            };
            category queries { querylog; };
    };

    Bind9 neustarten:

    /etc/init.d/bind9 restart

    Die Berechtigungen auf die Verzeichnise anpassen:

    chmod 666 /var/log/bind9-query.log
    chown daemon:adm /var/log/bind9-query.log
    chown daemon:adm /var/lib/bindgraph/ -R

    In der /usr/lib/cgi-bin/bindgraph.cgi die Zeilen 108, 109, 110 auskommentieren:

    ...
                    @rrprint,
    #               'COMMENT:s',
    #               'COMMENT:last update: ' . localtime(last_update($rrd))
    #                       . '    graph created on ' . localtime(time) . 'r',
            );
            my $err = RRDs::error;
            die_fatal("RRDs::graph($file, ...): $err") if $err;
    ...

    Die Werte der /etc/default/bindgraph kontrollieren. Bei einer Installation stand das LOG_FORMAT auf bind92 und nicht bind93:

    DNS_LOG=/var/log/bind9-query.log
    LOG_FORMAT=bind93

    Bei nicht auskommentierten Zeilen der /usr/lib/cgi-bin/bindgraph.cgi  kam folgende Fehlermeldung

    ERROR: RRDs::graph(/var/cache/bindgraph/,bindgraph.cgi/bindgraph_0.png.tmp, ...): Garbage ': Mon Nov 26 08:15:00 2007    graph created on Mon Nov 26 08:17:44 2007r' after command:
    COMMENT:last update: Mon Nov 26 08:15:00 2007    graph created on Mon Nov 26 08:17:44 2007r

    Vergessen Sie nicht, die Datei bind9-query.log durch logrotate regelmäßig „archivieren“ zu lassen:

    /etc/logrotate.d/bind9-query

    /var/log/bind9-query.log {
            daily
            missingok
            rotate 10
            postrotate
            /etc/init.d/bind9 reload > /dev/null
            endscript
            create 666 daemon adm
            compress
            delaycompress
            notifempty
    }

    Anschließend noch sysklogd neustarten:

    /etc/init.d/sysklogd restart

    Leave A Reply