Today, we will show you how to install smokeping on CentOS 7 linux.
Smokeping software is one of the most popular network management software used by service providers and can only be implemented on Linux-based operating systems.
It allows a servers to be analyzed by a user interface. This software is very lightweight and will not require many resources to launch.
Availability checks is one of the most usage of smokeping.
Here is our environment:
OS: CentOS 7 linux on VMWare
1- Install prerequisites
To install smokeping, we first need to install other software packages that are listed as Dependencies of smokeping.
With the command below we will install them. In addition to the original repository of the operating system itself, Epel must also be installed:
# yum install epel-release # yum install mod_fcgid httpd httpd-devel rrdtool rrdtool-perl fping wget curl bind-utils gcc make perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-RRD-Simple perl-CGI-SpeedCGI perl-ExtUtils-MakeMaker perl-rrdtool perl-core
2- Install smokeping
Now download the latest version of Smokeping from smokeping FTP server:
# wget https://oss.oetiker.ch/smokeping/pub/smokeping-2.7.3.tar.gz
then extract it in the /opt:
# tar -zxvf smokeping-2.7.3.tar.gz -C /opt/
create a directory called smokeping in /opt:
# mkdir /opt/smokeping/
then go to extracted smokeping archive and run configure script:
# cd /opt/smokeping-2.7.3/ # ./configure --prefix=/opt/smokeping
now install smokeping by running:
# /usr/bin/gmake install
3- Configure smokeping
now created required directories:
# cd /opt/smokeping/ # mkdir data var cache
change config files names:
# cd etc/ # for foo in *.dist; do mv $foo `basename $foo .dist`; done
then change permission of smokeping secret file and some ownerships:
# chmod 600 etc/smokeping_secrets.dist # ln -s /opt/smokeping/cache /opt/smokeping/htdocs/cache # chown -R apache cache # chown -R apache data
create smokeping.conf file in httpd conf directory and put the following content in it:
# vim /etc/httpd/conf.d/smokeping.conf
ScriptAlias /smokeping/smokeping.cgi /opt/smokeping/htdocs/smokeping.fcgi.dist Alias /smokeping /opt/smokeping/htdocs <Directory "/opt/smokeping/htdocs"> Options FollowSymLinks Require all granted </Directory>
then open smokeping config file:
# vim /opt/smokeping/etc/config
and change this line:
host = james.host
host = 192.168.43.242 (replace this with your own IP)
4- Configure firewall
to view graphs and access web interface, we should open port 80:
# firewall-cmd --permanent --add-service=http # firewall-cmd --reload
5- Smokeping systemd service
basically, smokeping runs by executing its script and passing parameters. for better handling smokeping execution, we will make a systemd service unit for it.
so create a service unit file:
# vim /lib/systemd/system/smokeping.service
and put these lines in it:
[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/smoke.log [Install] WantedBy=multi-user.target
6- Start Services
now it’s time to start httpd and smokeping services. run these command to start and check both services:
# systemctl start httpd # systemctl start smokeping # systemctl status httpd # systemctl status smokeping
then open browser and point to this addresss for smokeping web interface: