maybe cacti and co is too complicated and looks a little outdated… collectd might be just what you are looking for 🙂

„The main objective of this is to develop an easy to use and customizable web interface for Collectd (Resource monitoring software).

Two days of research where enough to realize that collectd didn’t have a real frontend and the one bundled with the backend was really made for testing purposes, so much of the usablility and strength of statistics was left aside.“

  • Author: Kenneth Belitzky <- GOOD JOB DUDE! 🙂 looks great!
  • Contributors: Thankfull to have too many contributions. See AUTHORS file
  • Homepage: http://github.com/httpdss/collectd-web
  • Version: 0.4.0
  • technology that seems to be involved: Perl, Python(?), PHP + Apache2

configure, setup and install

warning! This is just a test-server setup! I can not gurantee if this setup will increase insecurity of your (production, directly-internet-connected) server! it probably does! 😀

Because i am a fan of minamlism – the less software the better – check out this approach.

apt-get install --no-install-recommends collectd
service collectd start
egrep '^LoadPlugin' /etc/collectd/collectd.conf

vi /etc/collectd/collectd.conf; # add those lines, if your harddisk is called something else then replace sda with that value

<Plugin disk>
 Disk "sda"
 IgnoreSelected false
</Plugin>

service collectd restart

# checkout what is happening
ll /var/lib/collectd/rrd/
ll /var/lib/collectd/rrd/debian9/

apt-get install librrds-perl libconfig-general-perl libhtml-parser-perl libregexp-common-perl libjson-perl
apt-get install php7-cgi php7-gd; # install minimum
apt-get update;
apt install php7.0
apt install apache2 apache2-mod-php7.0
cd /var/www/html/
ll
rm -rf *

service apache2 start

apt-get install git

git clone git://github.com/httpdss/collectd-web.git

vim /etc/apache2/sites-available/collectd-web.conf; # create new file add those lines

<Directory /var/www/html/collectd-web>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride all
 Order allow,deny
 allow from all
</Directory>

ps uax|grep apache2
chown -R www-data:www-data /var/www/html
ll
a2ensite collectd-web
systemctl reload apache2
a2enmod cgi
systemctl restart apache2
cd collectd-web/
ll
chmod -R +r /var/www/html

Links:

this article is actually a combination of: debian9 stretch – apache-php LAMP stack fast! – https://linuxconfig.org/how-to-install-a-lamp-server-on-debian-9-stretch-linux – i have no time to lose!

and this article: https://www.thomas-krenn.com/de/wiki/Linux_Performance_Auswertung_mit_collectd

installing – https://github.com/scylladb/seastar/wiki/Collectd

Files involved:

apt-file show collectd-core
collectd-core: /etc/collectd/collection.conf
collectd-core: /etc/default/collectd
collectd-core: /etc/init.d/collectd
collectd-core: /lib/systemd/system/collectd.service
collectd-core: /usr/lib/collectd/aggregation.so
collectd-core: /usr/lib/collectd/amqp.so
collectd-core: /usr/lib/collectd/apache.so
collectd-core: /usr/lib/collectd/apcups.so
collectd-core: /usr/lib/collectd/ascent.so
collectd-core: /usr/lib/collectd/barometer.so
collectd-core: /usr/lib/collectd/battery.so
collectd-core: /usr/lib/collectd/bind.so
collectd-core: /usr/lib/collectd/ceph.so
collectd-core: /usr/lib/collectd/cgroups.so
collectd-core: /usr/lib/collectd/chrony.so
collectd-core: /usr/lib/collectd/conntrack.so
collectd-core: /usr/lib/collectd/contextswitch.so
collectd-core: /usr/lib/collectd/cpu.so
collectd-core: /usr/lib/collectd/cpufreq.so
collectd-core: /usr/lib/collectd/cpusleep.so
collectd-core: /usr/lib/collectd/csv.so
collectd-core: /usr/lib/collectd/curl.so
collectd-core: /usr/lib/collectd/curl_json.so
collectd-core: /usr/lib/collectd/curl_xml.so
collectd-core: /usr/lib/collectd/dbi.so
collectd-core: /usr/lib/collectd/df.so
collectd-core: /usr/lib/collectd/disk.so
collectd-core: /usr/lib/collectd/dns.so
collectd-core: /usr/lib/collectd/dpdkstat.so
collectd-core: /usr/lib/collectd/drbd.so
collectd-core: /usr/lib/collectd/email.so
collectd-core: /usr/lib/collectd/entropy.so
collectd-core: /usr/lib/collectd/ethstat.so
collectd-core: /usr/lib/collectd/exec.so
collectd-core: /usr/lib/collectd/fhcount.so
collectd-core: /usr/lib/collectd/filecount.so
collectd-core: /usr/lib/collectd/fscache.so
collectd-core: /usr/lib/collectd/gmond.so
collectd-core: /usr/lib/collectd/gps.so
collectd-core: /usr/lib/collectd/hddtemp.so
collectd-core: /usr/lib/collectd/hugepages.so
collectd-core: /usr/lib/collectd/interface.so
collectd-core: /usr/lib/collectd/ipc.so
collectd-core: /usr/lib/collectd/ipmi.so
collectd-core: /usr/lib/collectd/iptables.so
collectd-core: /usr/lib/collectd/ipvs.so
collectd-core: /usr/lib/collectd/irq.so
collectd-core: /usr/lib/collectd/java.so
collectd-core: /usr/lib/collectd/load.so
collectd-core: /usr/lib/collectd/log_logstash.so
collectd-core: /usr/lib/collectd/logfile.so
collectd-core: /usr/lib/collectd/lua.so
collectd-core: /usr/lib/collectd/lvm.so
collectd-core: /usr/lib/collectd/madwifi.so
collectd-core: /usr/lib/collectd/match_empty_counter.so
collectd-core: /usr/lib/collectd/match_hashed.so
collectd-core: /usr/lib/collectd/match_regex.so
collectd-core: /usr/lib/collectd/match_timediff.so
collectd-core: /usr/lib/collectd/match_value.so
collectd-core: /usr/lib/collectd/mbmon.so
collectd-core: /usr/lib/collectd/md.so
collectd-core: /usr/lib/collectd/memcachec.so
collectd-core: /usr/lib/collectd/memcached.so
collectd-core: /usr/lib/collectd/memory.so
collectd-core: /usr/lib/collectd/modbus.so
collectd-core: /usr/lib/collectd/mqtt.so
collectd-core: /usr/lib/collectd/multimeter.so
collectd-core: /usr/lib/collectd/mysql.so
collectd-core: /usr/lib/collectd/netlink.so
collectd-core: /usr/lib/collectd/network.so
collectd-core: /usr/lib/collectd/nfs.so
collectd-core: /usr/lib/collectd/nginx.so
collectd-core: /usr/lib/collectd/notify_desktop.so
collectd-core: /usr/lib/collectd/notify_email.so
collectd-core: /usr/lib/collectd/notify_nagios.so
collectd-core: /usr/lib/collectd/ntpd.so
collectd-core: /usr/lib/collectd/numa.so
collectd-core: /usr/lib/collectd/nut.so
collectd-core: /usr/lib/collectd/olsrd.so
collectd-core: /usr/lib/collectd/onewire.so
collectd-core: /usr/lib/collectd/openldap.so
collectd-core: /usr/lib/collectd/openvpn.so
collectd-core: /usr/lib/collectd/perl.so
collectd-core: /usr/lib/collectd/pinba.so
collectd-core: /usr/lib/collectd/ping.so
collectd-core: /usr/lib/collectd/postgresql.so
collectd-core: /usr/lib/collectd/powerdns.so
collectd-core: /usr/lib/collectd/processes.so
collectd-core: /usr/lib/collectd/protocols.so
collectd-core: /usr/lib/collectd/python.so
collectd-core: /usr/lib/collectd/redis.so
collectd-core: /usr/lib/collectd/rrdcached.so
collectd-core: /usr/lib/collectd/rrdtool.so
collectd-core: /usr/lib/collectd/sensors.so
collectd-core: /usr/lib/collectd/serial.so
collectd-core: /usr/lib/collectd/sigrok.so
collectd-core: /usr/lib/collectd/smart.so
collectd-core: /usr/lib/collectd/snmp.so
collectd-core: /usr/lib/collectd/statsd.so
collectd-core: /usr/lib/collectd/swap.so
collectd-core: /usr/lib/collectd/syslog.so
collectd-core: /usr/lib/collectd/table.so
collectd-core: /usr/lib/collectd/tail.so
collectd-core: /usr/lib/collectd/tail_csv.so
collectd-core: /usr/lib/collectd/target_notification.so
collectd-core: /usr/lib/collectd/target_replace.so
collectd-core: /usr/lib/collectd/target_scale.so
collectd-core: /usr/lib/collectd/target_set.so
collectd-core: /usr/lib/collectd/target_v5upgrade.so
collectd-core: /usr/lib/collectd/tcpconns.so
collectd-core: /usr/lib/collectd/teamspeak2.so
collectd-core: /usr/lib/collectd/ted.so
collectd-core: /usr/lib/collectd/thermal.so
collectd-core: /usr/lib/collectd/threshold.so
collectd-core: /usr/lib/collectd/tokyotyrant.so
collectd-core: /usr/lib/collectd/turbostat.so
collectd-core: /usr/lib/collectd/unixsock.so
collectd-core: /usr/lib/collectd/uptime.so
collectd-core: /usr/lib/collectd/users.so
collectd-core: /usr/lib/collectd/utils/migrate-3-4.px
collectd-core: /usr/lib/collectd/utils/migrate-4-5.px
collectd-core: /usr/lib/collectd/utils/rrd_filter.px
collectd-core: /usr/lib/collectd/uuid.so
collectd-core: /usr/lib/collectd/varnish.so
collectd-core: /usr/lib/collectd/virt.so
collectd-core: /usr/lib/collectd/vmem.so
collectd-core: /usr/lib/collectd/vserver.so
collectd-core: /usr/lib/collectd/wireless.so
collectd-core: /usr/lib/collectd/write_graphite.so
collectd-core: /usr/lib/collectd/write_http.so
collectd-core: /usr/lib/collectd/write_kafka.so
collectd-core: /usr/lib/collectd/write_log.so
collectd-core: /usr/lib/collectd/write_prometheus.so
collectd-core: /usr/lib/collectd/write_redis.so
collectd-core: /usr/lib/collectd/write_riemann.so
collectd-core: /usr/lib/collectd/write_sensu.so
collectd-core: /usr/lib/collectd/write_tsdb.so
collectd-core: /usr/lib/collectd/xencpu.so
collectd-core: /usr/lib/collectd/zfs_arc.so
collectd-core: /usr/lib/collectd/zookeeper.so
collectd-core: /usr/sbin/collectd
collectd-core: /usr/sbin/collectdmon
collectd-core: /usr/share/collectd/java/collectd-api.jar
collectd-core: /usr/share/collectd/java/generic-jmx.jar
collectd-core: /usr/share/collectd/postgresql_default.conf
collectd-core: /usr/share/collectd/types.db
collectd-core: /usr/share/doc/collectd-core/AUTHORS.gz
collectd-core: /usr/share/doc/collectd-core/NEWS.Debian.gz
collectd-core: /usr/share/doc/collectd-core/README.Debian.gz
collectd-core: /usr/share/doc/collectd-core/README.Debian.plugins.gz
collectd-core: /usr/share/doc/collectd-core/README.gz
collectd-core: /usr/share/doc/collectd-core/changelog.Debian.gz
collectd-core: /usr/share/doc/collectd-core/changelog.gz
collectd-core: /usr/share/doc/collectd-core/copyright
collectd-core: /usr/share/doc/collectd-core/examples/GenericJMX.conf
collectd-core: /usr/share/doc/collectd-core/examples/SpamAssassin/Collectd.pm
collectd-core: /usr/share/doc/collectd-core/examples/SpamAssassin/example.cf
collectd-core: /usr/share/doc/collectd-core/examples/add_rra.sh
collectd-core: /usr/share/doc/collectd-core/examples/collectd.conf
collectd-core: /usr/share/doc/collectd-core/examples/collectd2html.pl
collectd-core: /usr/share/doc/collectd-core/examples/collectd_network.py
collectd-core: /usr/share/doc/collectd-core/examples/collectd_unixsock.py
collectd-core: /usr/share/doc/collectd-core/examples/collection.cgi
collectd-core: /usr/share/doc/collectd-core/examples/collection3/README
collectd-core: /usr/share/doc/collectd-core/examples/collection3/bin/.htaccess
collectd-core: /usr/share/doc/collectd-core/examples/collection3/bin/graph.cgi
collectd-core: /usr/share/doc/collectd-core/examples/collection3/bin/index.cgi
collectd-core: /usr/share/doc/collectd-core/examples/collection3/bin/json.cgi
collectd-core: /usr/share/doc/collectd-core/examples/collection3/etc/.htaccess
collectd-core: /usr/share/doc/collectd-core/examples/collection3/etc/collection.conf
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/.htaccess
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Config.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Common.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Config.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/ArcCounts.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/Df.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/GenericIO.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/GenericStacked.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/JavaMemory.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/Load.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/PsCputime.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/TableSize.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/Type/Wirkleistung.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/lib/Collectd/Graph/TypeLoader.pm
collectd-core: /usr/share/doc/collectd-core/examples/collection3/share/.htaccess
collectd-core: /usr/share/doc/collectd-core/examples/collection3/share/navigate.js
collectd-core: /usr/share/doc/collectd-core/examples/collection3/share/shortcut-icon.png
collectd-core: /usr/share/doc/collectd-core/examples/collection3/share/style.css
collectd-core: /usr/share/doc/collectd-core/examples/cussh.pl
collectd-core: /usr/share/doc/collectd-core/examples/exec-ksm.sh
collectd-core: /usr/share/doc/collectd-core/examples/exec-munin.conf
collectd-core: /usr/share/doc/collectd-core/examples/exec-munin.px
collectd-core: /usr/share/doc/collectd-core/examples/exec-nagios.conf
collectd-core: /usr/share/doc/collectd-core/examples/exec-nagios.px
collectd-core: /usr/share/doc/collectd-core/examples/exec-smartctl
collectd-core: /usr/share/doc/collectd-core/examples/filters.conf
collectd-core: /usr/share/doc/collectd-core/examples/iptables/accounting.sh
collectd-core: /usr/share/doc/collectd-core/examples/network-proxy.py
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/browser.js
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/config.php
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/definitions.local.php
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/definitions.php
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/functions.php
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/graph.php
collectd-core: /usr/share/doc/collectd-core/examples/php-collection/index.php
collectd-core: /usr/share/doc/collectd-core/examples/postgresql/collectd_insert.sql
collectd-core: /usr/share/doc/collectd-core/examples/snmp-data.conf
collectd-core: /usr/share/doc/collectd-core/examples/snmp-probe-host.px
collectd-core: /usr/share/doc/collectd-core/examples/thresholds.conf
collectd-core: /usr/share/lintian/overrides/collectd-core
collectd-core: /usr/share/man/man1/collectd.1.gz
collectd-core: /usr/share/man/man1/collectdmon.1.gz
collectd-core: /usr/share/man/man3/Collectd::Unixsock.3pm.gz
collectd-core: /usr/share/man/man5/collectd-email.5.gz
collectd-core: /usr/share/man/man5/collectd-exec.5.gz
collectd-core: /usr/share/man/man5/collectd-java.5.gz
collectd-core: /usr/share/man/man5/collectd-lua.5.gz
collectd-core: /usr/share/man/man5/collectd-perl.5.gz
collectd-core: /usr/share/man/man5/collectd-python.5.gz
collectd-core: /usr/share/man/man5/collectd-snmp.5.gz
collectd-core: /usr/share/man/man5/collectd-threshold.5.gz
collectd-core: /usr/share/man/man5/collectd-unixsock.5.gz
collectd-core: /usr/share/man/man5/collectd.conf.5.gz
collectd-core: /usr/share/man/man5/types.db.5.gz
collectd-core: /usr/share/perl5/Collectd.pm
collectd-core: /usr/share/perl5/Collectd/Plugins/OpenVZ.pm
collectd-core: /usr/share/perl5/Collectd/Unixsock.pm
admin