=====LXD container - SmokePing 2.7.3===== Install SmokePing inside LXD OS-container. ====Install==== ===SmokePing=== * Create debian container: lxc launch images:debian/stretch/amd64 smokeping * Configure container to start at boot:lxc config set smokeping boot.autostart true * Enter container:lxc exec smokeping bash * Install required packages:apt update apt install curl rrdtool perl librrds-perl build-essential libssl-dev zlib1g-dev fping * Download latest version:curl -OL https://oss.oetiker.ch/smokeping/pub/smokeping-2.7.3.tar.gz * Extract:tar zxvf smokeping-2.7.3.tar.gz * Configure:cd smokeping-2.7.3 ./configure --prefix=/opt/smokeping * Compile and install:make install ===Lighttpd / fcgi=== * Install required packages:apt install lighttpd ===fping== * Download fping: curl -OL http://www.fping.org/dist/fping-4.1.tar.gz * Extract:tar zxvf fping-4.1.tar.gz * Compile:cd fping-4.1 ./configure make -j4 make install ====Configure==== * Configure lighttpd:cd /etc/lighttpd/conf-enabled ln -s ../conf-available/10-fastcgi.conf . ln -s ../conf-available/10-accesslog.conf . mv /opt/smokeping/htdocs/smokeping.fcgi.dist /opt/smokeping/htdocs/smokeping.fcgi * Edit ''/etc/lighttpd/lighttpd.conf'' server.modules = ( # "mod_access", "mod_alias", # "mod_compress", # "mod_redirect", ) server.document-root = "/opt/smokeping/htdocs" server.errorlog = "/var/log/lighttpd/error.log" server.pid-file = "/var/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 index-file.names = ( "index.php", "index.html", "index.lighttpd.html" , "smokeping.fcgi" ) #url.access-deny = ( "~", ".inc" ) static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) fastcgi.server = ( ".fcgi" => (( "bin-path" => "/opt/smokeping/htdocs/smokeping.fcgi", "host" => "127.0.0.1", "port" => 8001, )), ) alias.url = ( "/cache/" => "/opt/smokeping/cache/" ) alias.url += ( "/data/" => "/opt/smokeping/data/" ) # default listening port for IPv6 falls back to the IPv4 port include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port include_shell "/usr/share/lighttpd/create-mime.assign.pl" include_shell "/usr/share/lighttpd/include-conf-enabled.pl" * Create directories:mkdir /opt/smokeping/{cache,data,var} * Modify rights:chown -R www-data. /opt/smokeping * Enable and start lighttpd:systemctl start lighttpd systemctl enable lighttpd * Add systemd service in: ''/etc/systemd/system/smokeping.service'':[Unit] Description=Latency Logging and Graphing System After=syslog.target network.target [Service] ExecStart=/opt/smokeping/bin/smokeping --config=/opt/smokeping/etc/config ExecReload=/bin/kill -HUP $MAINPID StandardError=syslog Type=forking PIDFile=/opt/smokeping/var/smokeping.pid [Install] WantedBy=multi-user.target systemctl enable smokeping systemctl start smokeping ====Troubleshooting==== * **Error** IO-Tty-1.12 -> FAIL Timed out (> 60s). Add ''%%--%%verbose'' to cpanm command. Edit ''./smokeping-2.7.3/thirdparty/Makefile'': touch: CPAN/touch ../config.status ../PERL_MODULES $(AM_V_GEN)cat ../PERL_MODULES | grep -v '#' | PERL_CPANM_HOME=$(THIRDPARTY_DIR) xargs $(PERL) $(THIRDPARTY_DIR)/bin/cpanm --verbose -q --notest --local-lib-contained $(THIRDPARTY_DIR) --mirror file://$(THIRDPARTY_DIR)/CPAN --mirror-only $(AM_V_GEN)touch touch {{tag>[smokeping monitoring lxd container]}}