Add 'smokeping-setup.md'
Inital versions of smokeping setup documentation
This commit is contained in:
221
smokeping-setup.md
Normal file
221
smokeping-setup.md
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
# Setup Smokeping
|
||||||
|
Intructions for setting up SmokePing on Alpine Linux
|
||||||
|
|
||||||
|
## Main(Master)
|
||||||
|
Needed packages: smokeping lighttpd
|
||||||
|
|
||||||
|
make sure to empty the remote secret file (/etc/smokeping/smokeping_secrets),
|
||||||
|
you also need to correct the permmisions `chown smokeping:smokeping /etc/smokeping/smokeping_secrets`
|
||||||
|
|
||||||
|
Lighttpd (/etc/lighttpd/lighttpd.conf)
|
||||||
|
```
|
||||||
|
# {{{ modules
|
||||||
|
server.modules = (
|
||||||
|
# "mod_accesslog",
|
||||||
|
"mod_cgi"
|
||||||
|
)
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# {{{ includes
|
||||||
|
include "mime-types.conf"
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# {{{ CGI
|
||||||
|
cgi.assign = (
|
||||||
|
".cgi" => "/usr/bin/perl"
|
||||||
|
)
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# {{{ server settings
|
||||||
|
server.username = "smokeping"
|
||||||
|
server.groupname = "smokeping"
|
||||||
|
server.document-root = "/usr/share/webapps/smokeping"
|
||||||
|
server.pid-file = "/run/lighttpd.pid"
|
||||||
|
server.errorlog-use-syslog = "enable"
|
||||||
|
server.indexfiles = ("smokeping.cgi")
|
||||||
|
server.follow-symlink = "enable"
|
||||||
|
static-file.exclude-extensions = (".cgi")
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# {{{ mod_accesslog
|
||||||
|
#accesslog.filename = "/var/log/lighttpd-access.log"
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# vim: set ft=conf foldmethod=marker et :
|
||||||
|
```
|
||||||
|
|
||||||
|
Smokeping config (/etc/smokeping/config)
|
||||||
|
```
|
||||||
|
*** General ***
|
||||||
|
|
||||||
|
owner = MaintainerName
|
||||||
|
contact = some@address.nowhere
|
||||||
|
mailhost = my.mail.host
|
||||||
|
sendmail = /usr/sbin/sendmail
|
||||||
|
imgcache = /var/lib/smokeping/.simg
|
||||||
|
imgurl = img
|
||||||
|
datadir = /var/lib/smokeping
|
||||||
|
piddir = /var/run/smokeping
|
||||||
|
cgiurl = http://some.url/smokeping.cgi
|
||||||
|
tmail = /etc/smokeping/tmail
|
||||||
|
smokemail = /etc/smokeping/smokemail
|
||||||
|
syslogfacility = local0
|
||||||
|
|
||||||
|
#Use to overwrite system hostname
|
||||||
|
#display_name = HostName
|
||||||
|
|
||||||
|
*** Database ***
|
||||||
|
|
||||||
|
step = 300
|
||||||
|
pings = 20
|
||||||
|
|
||||||
|
# consfn mrhb steps total
|
||||||
|
|
||||||
|
AVERAGE 0.5 1 1008
|
||||||
|
AVERAGE 0.5 12 4320
|
||||||
|
MIN 0.5 12 4320
|
||||||
|
MAX 0.5 12 4320
|
||||||
|
AVERAGE 0.5 144 720
|
||||||
|
MAX 0.5 144 720
|
||||||
|
MIN 0.5 144 720
|
||||||
|
|
||||||
|
*** Presentation ***
|
||||||
|
|
||||||
|
template = /etc/smokeping/basepage.html
|
||||||
|
htmltitle = yes
|
||||||
|
graphborders = no
|
||||||
|
|
||||||
|
+ charts
|
||||||
|
|
||||||
|
menu = Charts
|
||||||
|
title = The most interesting destinations
|
||||||
|
|
||||||
|
++ stddev
|
||||||
|
sorter = StdDev(entries=>4)
|
||||||
|
title = Top Standard Deviation
|
||||||
|
menu = Std Deviation
|
||||||
|
format = Standard Deviation %f
|
||||||
|
|
||||||
|
++ max
|
||||||
|
sorter = Max(entries=>5)
|
||||||
|
title = Top Max Roundtrip Time
|
||||||
|
menu = by Max
|
||||||
|
format = Max Roundtrip Time %f seconds
|
||||||
|
|
||||||
|
++ loss
|
||||||
|
sorter = Loss(entries=>5)
|
||||||
|
title = Top Packet Loss
|
||||||
|
menu = Loss
|
||||||
|
format = Packets Lost %f
|
||||||
|
|
||||||
|
++ median
|
||||||
|
sorter = Median(entries=>5)
|
||||||
|
title = Top Median Roundtrip Time
|
||||||
|
menu = by Median
|
||||||
|
format = Median RTT %f seconds
|
||||||
|
|
||||||
|
+ overview
|
||||||
|
|
||||||
|
width = 600
|
||||||
|
height = 50
|
||||||
|
range = 10h
|
||||||
|
|
||||||
|
+ detail
|
||||||
|
|
||||||
|
width = 600
|
||||||
|
height = 200
|
||||||
|
unison_tolerance = 2
|
||||||
|
|
||||||
|
"Last hour" 1h
|
||||||
|
"Last day" 24h
|
||||||
|
"Last week" 7d
|
||||||
|
"Last month" 30d
|
||||||
|
"Last year" 365d
|
||||||
|
|
||||||
|
|
||||||
|
*** Probes ***
|
||||||
|
|
||||||
|
+FPing
|
||||||
|
binary = /usr/sbin/fping
|
||||||
|
step = 60
|
||||||
|
|
||||||
|
*** Slaves ***
|
||||||
|
secrets=/etc/smokeping/smokeping_secrets
|
||||||
|
|
||||||
|
|
||||||
|
*** Targets ***
|
||||||
|
|
||||||
|
probe = FPing
|
||||||
|
|
||||||
|
menu = Top
|
||||||
|
title = Network Latency Grapher
|
||||||
|
remark = Welcome to SmokePing.
|
||||||
|
|
||||||
|
+ Internet
|
||||||
|
menu = Internet
|
||||||
|
title = Hosts on the internet
|
||||||
|
|
||||||
|
++ cloudflare
|
||||||
|
#slaves =
|
||||||
|
host = 1.1.1.1
|
||||||
|
|
||||||
|
++ google
|
||||||
|
#slaves =
|
||||||
|
host = 8.8.8.8
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Start and Enable services on boot `service smokeping start && service lighttpd start && rc-update add smokeping default && rc-update add lighttpd default`
|
||||||
|
|
||||||
|
## Remote(Slave)
|
||||||
|
|
||||||
|
### On Main
|
||||||
|
Add the name and a secret in in the secrets file`/etc/smokeping/smokeping_secrets` using the following format (one per line) `remotehostname:Secret`
|
||||||
|
Add the host to the slaves section using the folling exampe:
|
||||||
|
```
|
||||||
|
+remotehostname
|
||||||
|
display_name=Remote-Hostname
|
||||||
|
color=00ffff
|
||||||
|
```
|
||||||
|
Add the host to the `slaves` section of the targets (should be seperated with a space)
|
||||||
|
Last step on main is to restart smokeping `service smokeping restart`
|
||||||
|
|
||||||
|
### On Remote
|
||||||
|
Needed packages: smokeping
|
||||||
|
|
||||||
|
Put a secret in `/etc/smokeping/secret.txt`
|
||||||
|
set its permissions `chown smokeping:smokeping /etc/smokeping/secret.txt && chmod 600 /etc/smokeping/secret.txt`
|
||||||
|
|
||||||
|
Service file(/etc/init.d/smokeping-remote)
|
||||||
|
```
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
HostName=host1
|
||||||
|
MainURL="http://<MainHost>/smokeping.cgi"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need net
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
checkpath --directory --owner smokeping:smokeping /var/run/smokeping
|
||||||
|
|
||||||
|
ebegin "Starting smokeping remote"
|
||||||
|
LC_ALL=C \
|
||||||
|
start-stop-daemon --start --name smokeping \
|
||||||
|
--pidfile /var/run/smokeping/smokeping.pid \
|
||||||
|
--exec /usr/bin/smokeping \
|
||||||
|
--user smokeping:smokeping \
|
||||||
|
-- --master-url=$MainURL --cache-dir=/var/lib/smokeping --pid-dir=/var/run/smokeping --shared-secret=/etc/smokeping/secret.txt --slave-name=$HostName
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
ebegin "Stopping smokeping Remote"
|
||||||
|
start-stop-daemon --stop \
|
||||||
|
--pidfile /var/run/smokeping/smokeping.pid
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Set permissions service file ``chmod +x /etc/init.d/smokeping-remote`
|
||||||
|
Start and Enable service on boot `service smokeping-remote start && rc-update add smokeping-remote default`
|
||||||
|
Add to Root cron tab to auto reload after crash (/etc/crontabs/root) `echo '* * * * * openrc --no-stop' >> /etc/crontabs/root`
|
||||||
Reference in New Issue
Block a user