This tutorial explains how to install Tobias Oetiker’s Smokeping into /opt/smokeping on a CentOS 7 box.
Features of Smokeping:
– Best of breed latency visualisation.
– Interactive graph explorer.
– Wide range of latency measurement plugins.
– Master/Slave System for distributed measurement.
– Highly configurable alerting system.
– Live Latency Charts with the most ‘interesting’ graphs.
– Free and open-source Software written in Perl written by Tobi Oetiker, the creator of MRTG and RRDtool
Install Development Tools
Load the development tools needed to compile smokeping.
# yum groupinstall "Development tools"
There are also dependencies that will install with these tools.
Enable Epel repo
You can install EPEL by running yum install epel-release. The package is included in the CentOS extras repository, enabled by default.
# yum install epel-release
Install packages
Then install the following packages-
# yum install perl httpd httpd-devel mod_fcgid rrdtool perl-CGI-SpeedyCGI fping rrdtool-perl perl-Sys-Syslog
Add a few of the pre packaged CPAN modules
# yum install perl-CPAN perl-local-lib perl-Time-HiRes
Install smokeping
Now download the latest smokeping package available at http://oss.oetiker.ch/smokeping/pub/
The current version at the time of the writing is 2.6.11
# cd /root # wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.11.tar.gz
then extract it
# tar xfz smokeping-2.6.11.tar.gz
Install perl modules needed by smokeping
# mkdir /opt/smokeping # cd smokeping-2.6.11/setup # ./build-perl-modules.sh # cd .. # cp -r thirdparty /opt/smokeping/ # ./configure --prefix=/opt/smokeping # make install
Configure smokeping
Then you will need to configure smokeping. Find below our sample config in form of a screenshot or download a sample config here.
# vi /opt/smokeping/etc/config
Hint: 10.0.1.251 is the IP of the smokeping host himself.
Create your config from the default config delivered with smokeping and/or use our sample config.
# cd /opt/smokeping/etc # cp config.dist config # cp /opt/smokeping/etc/basepage.html.dist /opt/smokeping/etc/basepage.html
Create directories used by smokeping, copy some required files into the public web-directory and set rights for apache user if required.
# mkdir /opt/smokeping/data # mkdir /opt/smokeping/var # mkdir /var/www/smokeping # mkdir /var/www/smokeping/cache # cp -R /opt/smokeping/htdocs/* /var/www/smokeping # mv /var/www/smokeping/smokeping.fcgi.dist /var/www/smokeping/smokeping.fcgi # chown -R apache:apache /var/www/smokeping
Add a virtual apache directory by creating a file on /etc/httpd/conf.d/ with the name smokeping.conf. Add following content to it
Alias /smokeping "/var/www/smokeping" <Directory /var/www/smokeping> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all DirectoryIndex smokeping.fcgi </Directory>
Restart Apache
# service httpd restart
SELinux
This guide expects SELinux has to be disabled, read following article about disabling SELinux. In case you change your SELinux settings: Make sure you have rebooted your machine to apply the changes.
https://www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-enable-disable.html
Run smokeping
To test the installation, execute following command.
# cd /opt/smokeping # ./bin/smokeping --config=/opt/smokeping/etc/config --debug
To daemonize smokeping, execute following command:
# cd /opt/smokeping # ./bin/smokeping --config=/opt/smokeping/etc/config --logfile=smoke.log
Browse to: http://<your_ipaddress>/smokeping
For additional resources have a visit at the authors website:
– http://oss.oetiker.ch/smokeping/
Create smokeping systemd file\
vim /usr/lib/systemd/system/smokeping.service
[Unit] Description=Smokeping Server After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/opt/smokeping/bin/smokeping --nodaemon --config=/opt/smokeping/etc/config --logfile=/var/log/smokeping.log [Install] WantedBy=multi-user.target Restart Services (even during any updates in the config file- remember to restart both smokeping and httpd services)
systemctl start smokeping && systemctl enable smokeping systemctl restart httpd
Special Hint:
In case your graphics for the last 3 hours didnt get updated but all the other timeframes are updated normaly, you may experience an error from the compiler. In this case please try to execute smokeping like this:
# perl /opt/smokeping/bin/smokeping --config=/opt/smokeping/etc/config --logfile=smoke.log
Issue while define ‘smokeping_secrets’
# chmod og-rw /usr/src/smokeping-2.3.6/etc/smokeping_secrets
Src:
https://www.web-workers.ch/index.php/2017/06/21/how-to-install-smokeping-on-centos-7/
https://smokeping-users.oetiker.narkive.com/DmlABgVP/issue-while-define-smokeping-secrets
https://bidhankhatri.com.np/network/smokeping-2.7.3/
./bin/smokeping –config=/opt/smokeping/etc/config –debug
ERROR: /opt/smokeping/etc/config, line 6: File ‘/usr/sbin/sendmail’ does not exist
You can comment this out or install postfix to resolve
[root@smp smokeping]# ./bin/smokeping –config=/opt/smokeping/etc/config –debug
ERROR: /opt/smokeping/etc/config, line 6: File ‘/usr/sbin/sendmail’ does not exist