海运的博客

ubuntu安装smokeping并配置nginx fastcgi

发布时间:November 16, 2020 // 分类: // No Comments

使用apt安装smokeping不安装apache,cgi文件位于/usr/share/smokeping/smokeping.cgi, 其它文件位于/usr/share/smokeping/www目录。

apt install --no-install-recommends smokeping
apt install fcgiwrap

nginx配置文件:

server {
        listen     88;
        charset utf-8;

        location / {
                root /usr/share/smokeping/www/;
        }
        location ~ /$ {
                root /usr/share/smokeping/;
                index smokeping.cgi;
        }
        location ^~ /smokeping/ {
                alias /usr/share/smokeping/www/;
        }
        location ~ .*\.(cgi|sh)$ {
                gzip off;
                root /usr/share/smokeping/;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass  unix:/var/run/fcgiwrap.socket;
        }
        access_log off;
}

smokeping配置文件目录:

grep cfg /usr/share/smokeping/smokeping.cgi
my $cfg = (shift @ARGV) || "/etc/smokeping/config";

修改data目录,datadir目录smokeping要有读写权限,dyndir目录fcgiwrap运行用户www-data要有读写权限。

cat /etc/smokeping/config.d/pathnames
datadir  = /mnt/smokeping/data
dyndir = /mnt/smokeping/data/__cgi

修改检测频率每60秒10次,也可在Probes内设置,注意再次修改要删除数据。

cat /etc/smokeping/config.d/Database 
step     = 60
pings    = 10

Probes配置:

*** Probes ***

+ FPing
binary = /usr/bin/fping
step = 60
pings = 20
#mininterval = 0.05
#timeout = 0.5

+ DNS
binary = /usr/bin/dig
forks = 2
lookup = google.com
step = 60
pings = 10

+Curl
binary = /usr/bin/curl
forks = 5
step = 60
pings = 10
timeout = 5
agent = User-Agent: Smokeping
require_zero_status = yes
urlformat = http://%host%/

Targets配置:

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of WORKS Company. \
         Here you will learn all about the latency of our network.

+ Ping
menu = Ping
title = Ping

alerts = hostdown,startdown

++ OL
menu = OL
title = OL
host = www.haiyun.me

++ HE
menu = HE
title = HE
host = www.haiyun.me

+ Curl 
menu = Curl
title = Curl

probe = Curl

++ OL
menu = OL
title = OL
host = 127.0.0.1
extraargs = --socks5 127.0.0.1:2016

++ HE
menu = HE
title = HE
host = 127.0.0.1
extraargs = --socks5 127.0.0.1:2015

Alerts配置:

*** Alerts ***
#to = alertee@address.somewhere
to = |/usr/local/bin/sendmail
from = smokealert@haiyun.me
#mailhost=www.haiyun.me
#mailpass=xxxxxx
#mailuser=xxxx

+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times  in a row

+hostdown
type = loss
pattern = <90%,<90%,>90%,>90%,>90%,>90%,>90%,>90%
comment = no reply

+startdown
type = loss
pattern = ==S,>90%,>90%,>90%,>90%,>90%,>90%
comment = loss at startup

虽然smokeping可配置使用smtp发信,好像不支持smtp tls/ssl,所以调用/usr/local/bin/sendmail来发信,注意smokeping运行用户要有执行权限。:

#!/usr/bin/php
<?php
include('/usr/local/bin/smtp.php');
if (count($argv) != 6) {
  die("Invalid parameter\n");
}
$alertname = $argv[1];
$target = $argv[2];
$losspattern = $argv[3];
$rtt = $argv[4];
$hostname = $argv[5];
$title = $target.' is down';
$body = 'host: '.$hostname.'<br />'.'rtt: '.$rtt.'<br />';
send_mail($title, $body);

标签:none

发表评论

分类
最新文章
最近回复
  • K: 好的,谢谢,我去试试!
  • 海运: 可以试试3proxy
  • daha: PHP的怎么使用???
  • 海运: 换回了5.3内核,5.8用5.3 dtb虽然能开机且负载正常,但也有其它问题,不建议使用。
  • shangyatsen: 后面的内核高精度计时器的问题使用5.4或者5.3的dtb会正常吗?我也发现有这个日志出现。感觉...
  • 海运: 缺少相应模块?
  • lee: 你好,我执行这条语句 iptables -t mangle -A PREROUTING -m ...
  • 海运: 只更新rootfs,不更新内核,我在用5.3配19.10,懒得再升最新版了,很稳定。 注意:更...
  • lyly168: 这是手动挂载吧,请问自动挂载要怎么弄?
  • swswsw1: 请问升级后,内核更新了吗?听说N1只有在5.0.2的内核下才稳定,怕升级了之后功耗太高