在选择高防服务器时,我们需要通过测试来查看高防服务器的实际性能以及防御能力。由于高防服务器主要的功能是抵御DDOS攻击,那么要应对DDOS攻击,高防服务器的网络性能要求就比普通的独立服务器要高。对于高防服务器的防御能力我们可以通过进行压力测试来检测高防服务器的实际防御能力,那么在高防服务器的网络性能方面我们应该怎样去测试呢?下面创诚网络(FWQ118.COM)教大家使用smokeping来监测高防服务器的网络性能,同时对高防服务器所在的机房的网络情况也作一个检测。
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
smokeping由Perl语言写成,底层依赖于rrdtool和fping。
主要是监视网络性能,包括常规的ping,用echoping监控www服务器性能,监控dns查询性能和监控ssh性能等。底层时以rrdtool做支持,使用画图来表示网络丢包和延迟。
从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运营商之间的网络,各是什么情况,如果出现问题,如何有针对性的解决。而且如果选择新机房的时候,可以根据smokeping的监控结果来判断这个机房是否适合。
组成部分
smokeping整个系统正常运行需要:web服务器软件、smokeping主服务、探针,rrdtool。
web服务器软件
smokeping拥有直观高效且漂亮的webUI,因此需要借助第三方web服务,默认使用的是apache服务,同时需要启用cgi模块。
smokeping主服务
smokeping主服务即smokeping工作进程,负责在后台(也可以前台)执行监测任务。
探针
smokeping实际使用的监测工具即探针。默认探针是fping,常用探针例如:
fping 默认探针,使用icmp协议,可并发检测目标RTT(Round-Trip Time)数值
echoping echo服务检测,使用tcp/udp协议,默认端口号7
tcpping tcp端口检测,使用tcp协议监测端口连通性和时延
更多关于探针的介绍可以参阅官方文档。
rrdtool
rrdtool(Round Robin Database Tool)即轮询调度数据库工具,使用C语言写成,是一种强大的绘图引擎,兼有时序数据库和绘图两种功能。rrdtool被许多监控平台所使用,如smokeping、cacti、open-falcon等。
安装配置smokeping
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@localhost ~]# uname -r
3.10.0-1062.4.1.el7.x86_64
smokeping需要依赖系统上的其他工具和服务,除了Unix操作Perl组件。
环境依赖包安装
[root@localhost ~]# yum -y install wget vim curl
[root@localhost ~]# yum -y install gcc gcc-c++ popt-devel
RRDtool 1.2.x or later
Smokeping使用RRDtool进行记录和绘图。如果linux提供了一个带有perl支持的rrdtool包,那么可以使用它。如果没有或安装新版
[root@localhost ~]# yum install rrdtool perl-rrdtool openssl-devel -y
FPing (可选)
smokeping 2.7.2 以上需要 fping4.0 以上,因此需要手动编译。
[root@localhost ~]# wget http://www.fping.org/dist/fping-4.2.tar.gz
[root@localhost ~]# tar -xzf fping-4.2.tar.gz
[root@localhost ~]# cd fping-4.2
[root@localhost fping-4.2]# ./configure
[root@localhost fping-4.2]# make && make install
EchoPing (可选)
需要它来运行echoping探测,做tcp ping。
[root@localhost ~]# wget https://fossies.org/linux/misc/old/echoping-6.0.2.tar.gz
[root@localhost ~]# tar xzf echoping-6.0.2.tar.gz
[root@localhost ~]# cd echoping-6.0.2
[root@localhost echoping-6.0.2]# yum install -y popt-devel
[root@localhost echoping-6.0.2]# ./configure # 如果报错使用下面的配置
[root@localhost echoping-6.0.2]# ./configure --with-ssl --without-libidn
[root@localhost echoping-6.0.2]# make && make install
Webserver
重要的是,要有一个web服务器,它允许运行CGI,最好是FastCGI脚本。如果使用的是Apache,强烈建议使用suexec系统作为特定用户运行CGI脚本。
注意smokeping是fcgi程序,因此apache 需要安装mod_fcgid, http的版本是 2.4.6
[root@localhost ~]# yum install httpd httpd-devel -y
[root@localhost ~]# yum install mod_fcgid -y
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl start httpd
# 查看Apache默认监听端口
[root@localhost ~]# cat /etc/httpd/conf/httpd.conf | grep Listen | grep -v "#"
Listen 80
# 查看端口及服务
[root@localhost ~]# netstat -antp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 8572/httpd
# 但是外部是不同的,需要开启CentOS的防火墙fireall-cmd
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
success
# 操作完成后重载
[root@localhost ~]# firewall-cmd --reload
success
这时候访问该主机的IP http://xxx.xxx.xxx.xxx/ 即可以看到Apache的页面。
Perl 5.10.1 or later
[root@localhost ~]# yum install perl-core -y
开始安装smokeping
安装的版本为 smokeping-2.7.3 ,为2019年11月16日最新
[root@localhost ~]# wget https://oss.oetiker.ch/smokeping/pub/smokeping-2.7.3.tar.gz
[root@localhost ~]# tar xzf smokeping-2.7.3.tar.gz
[root@localhost ~]# cd smokeping-2.7.3
[root@localhost smokeping-2.7.3]# ./configure --prefix=/opt/smokeping
** Ready to install Smokeping ******************************
Settings:
PERL5LIB = not set
PERL = /usr/bin/perl
The Smokeping Makefiles use GNU make functionality.
Continue installation with
/usr/bin/gmake install
出现上面的错误,表示没有指定PERL5LIB,下面将加上
[root@localhost smokeping-2.7.3]# ./configure --prefix=/opt/smokeping PERL5LIB=/usr/lib64/perl5/
** Ready to install Smokeping ******************************
Settings:
PERL5LIB = /usr/lib64/perl5/
PERL = /usr/bin/perl
The Smokeping Makefiles use GNU make functionality.
Continue installation with
/usr/bin/gmake install
[root@localhost smokeping-2.7.3]# /usr/bin/gmake install
Making install in thirdparty
gmake[1]: 进入目录“/root/smokeping-2.7.3/thirdparty”
GEN touch
Successfully installed FCGI-0.78
Successfully installed HTML-Tagset-3.20
Successfully installed HTML-Parser-3.72
Successfully installed CGI-4.40 (upgraded from 3.59)
Successfully installed CGI-Fast-2.13 (upgraded from 1.09)
Successfully installed Config-Grammar-1.12
Successfully installed Socket6-0.29
Successfully installed Net-SSLeay-1.85
Successfully installed Mozilla-CA-20180117
Successfully installed IO-Socket-SSL-2.060
Successfully installed Digest-HMAC-1.03
Successfully installed Net-Telnet-3.04
Successfully installed Net-OpenSSH-0.78
Successfully installed Net-SNMP-v6.0.1
Successfully installed Convert-ASN1-0.27
Successfully installed perl-ldap-0.65
Successfully installed IO-Socket-IP-0.39
Successfully installed Net-DNS-1.19
Successfully installed IO-Tty-1.12
Successfully installed URI-1.74
Successfully installed LWP-MediaTypes-6.02
Successfully installed Encode-Locale-1.05
Successfully installed IO-HTML-1.001
Successfully installed HTTP-Date-6.02
Successfully installed HTTP-Message-6.18
Successfully installed File-Listing-6.04
Successfully installed HTTP-