FreeBSD установка настройка SmokePing

Описывать все вкусности которые предлагает эта утилита смысла нет, да и не хочется, кто любопытный почитает в инете, в двух словах, мне она понадобилась чтобы мониторить качество канала на роутере. Чтож, начнем с установки, которая как всегда происходит из портов:


# cd /usr/ports/net-mgmt/smokeping/

Конфигурируем:


# make config

я себе отметил следующие галочки:


 [X] FPING     Support for fping probes
[X] ECHOPING  Support for EchoPing probes
[X] CURL      Support for Curl probes
[ ] LDAP      Support for LDAP probes
[ ] LDAPSSL   Support for SSL-enabled LDAP probes
[ ] RADIUS    Support for Radius probes
[X] TELNET    Support for TelnetIOSPing probes
[X] DNS       Support for AnotherDNS probes 

ну и собираем это все дело:


# make install clean

Далее необходимо настроить утилиту под себя, топаем


# cd /usr/local/etc/smokeping/

и открываем конфигурационный файл:


# ee config

Весь файл расписывать не буду, хотя на первый взгляд он кажется огромным, страшным, приведу свой конфиг.
Собственно конфиг:

*** General ***
owner = Owher company
contact = [email protected]
mailhost = mail.company.name
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed … this is not
# good for images.
imgcache = /usr/local/smokeping/htdocs/img
imgurl = img
datadir = /usr/local/var/smokeping
piddir = /usr/local/var/smokeping
cgiurl = http://**.**.**.**/smokeping/
smokemail = /usr/local/etc/smokeping/smokemail
tmail = /usr/local/etc/smokeping/tmail
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = [email protected]
from = [email protected]
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** 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 = /usr/local/etc/smokeping/basepage.html
+ 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 3 Hours» 3h
«Last 30 Hours» 30h
«Last 10 Days» 10d
«Last 400 Days» 400d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
*** Probes ***
+ FPing
binary = /usr/local/sbin/fping
+ Curl
binary = /usr/local/bin/curl
step = 60
# SMTP — echoping smtp
+ EchoPingSmtp
# HTTP — echoping http
+ EchoPingHttp
# DNS — echoping dns
+ EchoPingDNS
*** Targets ***
probe = FPing
menu = Top
title = Network resource
remark = company.name Net ltd.
+ Ukraine
menu = Ukraine
title = UA-IX
++ UkrNet_AS8856
title = UkrNet_AS8856
host = ukr.net
++ Navigator_AS13121
title = Navigator_AS13121
host = nav.kiev.ua
++ ETT_UA
title = ETT
host = ett.ua
+ Russia
menu = Russian
title = Russian resources
++ TeliaRussia_AS1299
title = TeliaRussia_AS1299
host = lg.telia.ru
++ RUSNet_AS3277
title = RUSNet_AS3277
host = www.rusnet.ru
++ Relcom_AS2118
title = Relcom_AS2118
host = www.relcom.ru
+ Europa
menu = Europa
title = European resources
++ BelNet-Belgium_AS2611
title = BelNet-Belgium_AS2611
host = www.belnet.be
++ CoreTecIT-Austria_AS3248
title = CoreTecIT-Austria_AS3248
host = www.coretec.at
++ SonnIT-Denmark_AS8807
title = SonnIT-Denmark_AS8807
host = www.area51.dk
++ SpaceNet-Germany_AS5539
title = SpaceNet-Germany_AS5539
host = www.space.net
++ ZonePro-France_AS29351
title = ZonePro-France_AS29351
host = www.zonepro.net
+ Asia
menu = Asia
title = Asian resources
++ InstituteHighEnergy-China_AS7497
title = InstituteHighEnergy-China_AS7497
host = v-www.ihep.ac.cn
++ SingNet-Singapore_AS3758
title = SingNet-Singapore_AS3758
host = networktools.singnet.com.sg
++ Linkwan_Taiwan_AS4808
title = Linkwan_Taiwan_AS4808
host = www.linkwan.com
++ BoraNet-Korea-AS3786
title = BoraNet-Korea-AS3786
host = www.bora.net
++ Nexlinx-Pakistan_AS17563
title = Nexlinx-Pakistan_AS17563
host = lg.nexlinx.net.pk
+ America
menu = America
title = American resources
++ University_Washington-USA-AS73
title = University_Washington-USA-AS73
host = www.washington.edu
++ Neoclan-Mexico_AS11172
title = Neoclan-Mexico_AS11172
host = www.neoclan.net.mx
++ Telmex-Chile_AS6429
title = Telmex-Chile_AS6429
host = lg.telmexchile.cl
++ InternetDirect-Canada_AS7271
title = InternetDirect-Canada_AS7271
host = www.direct.ca
++ RedeRioDeComputadores-Brasil_AS2715
title = RedeRioDeComputadores-Brasil_AS2715
host = guanabara.rederio.br

Далее настраиваем апач под все это дело, открываем файл конфигурации httpd.conf и добавляем в него следующее:


Alias /smokeping/ /usr/local/smokeping/htdocs/
Options Includes ExecCGI
DirectoryIndex smokeping.cgi
AddHandler cgi-script .cgi
AllowOverride All
Order allow,deny
Allow from All
AuthName "Smoke Ping"
AuthType Basic
AuthUserFile /usr/local/etc/htpasswd.smoke
Require valid-user

Я добавил авторизацию для доступа к статистике smokepinga, нах мне чтобы шарились по нему :))) позже еще ограничу наверное айпишники с которых можно заходить на него, но это будет позже, а пока, создадим пользователя которому мона просматривать статистику:


# htpasswd -c /usr/local/etc/htpasswd.smoke username
New password:
Re-type new password:
Adding password for user username

Теперь заставим апач перечитать конфигурацию:


# apachectl graceful

Для проверки откройте страницу в браузере:


http://**.**.**.**/smokeping/

т.е. ту которую вы указали в директиве


cgiurl   = http://**.**.**.**/smokeping/

Оцените статью
( Пока оценок нет )

Добавить комментарий

  1. tehnikpc

    Почему «установки, которая как всегда происходит из портов»?

    Ответить
  2. username

    риторический вопрос? 😉
    если не нравится устанавливать ПО из портов всегда есть альтернатива
    pkg_add -r smokeping

    Ответить
  3. tehnikpc

    А кому нравится устанавливать ПО из портов интересно? Никому. Мир спасёт pkg_add + директория ftp с последними версиями собранных пакеджей :).

    Ответить
  4. username

    не поверите, но мне нравится 🙂

    Ответить
  5. tehnikpc

    username, не верю :).

    Ответить
  6. etymologyst

    А лично мне, дико нравиться наблюдать краем глаза как по экрану несется плотный продолжительный поток символов! pkg_add — это конечно быстрее, но забывать про make install, я бы не рекомендовал, ведь порой и настройки необходимо изменить и зависимость
    требуется проигнорировать… Давайте будем гибче, что ли)

    Ответить