服务器监控 SmartPing 服务器Ping值监测中文修正版
SmartPing | 开源、高效、便捷的网络质量监控神器,各机器(点)间互PING检测工具,支持正向PING绘制,反向PING绘制,互PING拓扑绘制及报警功能。特性:Go语言编写,跨平台;去中心化设计,数据自动周期性清理免维护.
开源:代码100%开源并可无条件免费使用。所有的源代码均通过 Apache 授权协议并托管在 GitHub 上。
跨平台:任何 Go 语言 支持的平台都可以运行 SmartPing,包括 Windows、Mac、Linux 以及 ARM。
无中心化:独特的 去中心化、数据循环 写入设计,并采用嵌入式数据库 Sqlite 进行数据存数
功能:正向PING、反向Ping绘图、互PING间机器的状态拓扑、自定义延迟、丢包阈值报警
设计思路:本系统设计为无中心化原则,所有的数据均存储自身点中,默认每个Ping目标点的数据循环保留1个月时间,由自身点的数据绘制 出PING包 的状态,由各其他点的数据绘制 进PING包 的状态,从任意一点查询数据均会通过Ajax请求关联点的API接口获取其他点数据组装全部数据,绘制 出Ping曲线图,进Ping曲线图,网络互Ping拓扑图。并可以设置阈值进行报警,方便对网络质量的监控。
安装
SmartPing 官网 http://smartping.org/
说明文档:https://docs.smartping.org/
官网种系统版本下载地址:https://docs.smartping.org/install.html
github项目地址:https://github.com/smartping/smartping
博主自己备份的中文版安装地址:
Smartping Version 0.5.0
https://github.com/cntaoge/smartping
MARTPING v0.8.0 RELEASE
https://github.com/cntaoge/smartping8
演示站:
南方节点: 在线PING
全套安装命令:直接复制粘贴就行了
timedatectl set-timezone Asia/Shanghai yum install -y epel-release yum install -y golang git cd /home git clone -b master https://github.com/cntaoge/smartping.git chmod -R 755 /home/smartping/ firewall-cmd --zone=public --add-port=8899/tcp --permanent firewall-cmd --reload echo "cd /home/smartping;./control start" >>/etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local cd /home/smartping;./control start
至此安装完成,命令安装路径/home/smartping,你也可以自行修改,使用http://ip:8899打开Web界面查看了,管理界面默认密码为smartping
官方包安装:(可直接拉取最新的)
timedatectl set-timezone Asia/Shanghai yum install -y epel-release yum install -y golang git cd /home git clone -b master https://github.com/smartping/smartping.git chmod -R 755 /home/smartping/ firewall-cmd --zone=public --add-port=8899/tcp --permanent firewall-cmd --reload echo "cd /home/smartping;./control start" >>/etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local cd /home/smartping;./control build cd /home/smartping;./control start
配置修改
本机配置 :本节点名称和公网IP地址;
警报设置:每60秒刷新一次检测,丢包率30%触发警报提示,平均延迟大于200毫秒触发警报提示,发生3次触发警报提示,警报日志在服务器上保留7天。
互PING拓朴设置:线条粗细1,形状图案大小70
节点网络配置 :
第一条:名称为“本机”;IP填写本节点的公网IP地址,启用CS类型这个是要在拓扑图那里显示的,正反PING那是不会显示第一条的,每60秒刷新一次检测,丢包率30%触发警报提示,平均延迟大于200毫秒触发警报提示,发生3次触发警报提示。
从第二条起。只设置名字和IP地址 ,如果两点能互相 PING ,安装了同样的SmartPing,选CS,如果只是单向从服务器ping过去 选择C。其它的参数自己触发警报条件值。
启用CS后的双向PING效果
如果打不开Web页面,则需要检查系统的防火墙端口是否开启成功,装有宝塔面板的直接在安全里开放端口,什么百度云、腾讯云、阿里云之类的云系统还需要开放安全组里的相应端口设置。
若需要修改程序端口和密码请修改conf/config.json 。第一次启动程序配置文件config.json是不存在的,这时候你需要修改页面配置保存过配置后,停止程序进程用VI进行编辑修改。修改完配置后启动程序。
cd /home/smartping;./control stop vi /home/smartping/conf/config.json
“Port”: 8899,
“Password”: “smartping”,
修改完配置后重启动程序
cd /home/smartping;./control restart
总结
我们可以在搭建网站的服务器上安装不会影响其它应用,然后添加全国各个地区的IP进行监测,如果你找不到很全的IP来源,可以去ipip上找,地址:https://tools.ipip.net/traceroute.php,进去选一个你需要的节点 做个测试一下,然后可以看到各个地区的IP地址了。
没有中文包,需要自己去修改页面文件,配置介面无认证,谁都可以看到。还有有个认证比较好。去中心化,每个节点都要单独安装,这样正PING和反PING才能正常看。
只能设置对IP的PING监控,不能对DDNS、域名进行PING值监控
相关命令
./control build|run|start|stop|restart|status
build : 源码编译,最终构建成至 bin
run : 直接启动smartping
start : 以nohup(deamon)形式启动smartping
stop : 关闭smartping
restart : 执行 stop & start
status : 查看smartping的运行状态
version : 查看当前smartping版本
pack : 执行Build并进行二进制包制作
Centos 6系统添加防火墙端口设置
iptables -I INPUT -p tcp --dport 8899 -j ACCEPT
service iptables save
service iptables restart
CentOS 7系统添加防火墙端口设置 默认命令里已经带有
firewall-cmd --zone=public --add-port=8899/tcp --permanent
firewall-cmd --reload
如果需要配置上开机自启,请将程序入口写入rc.local即可,代码如下:(默认安装命令已经集成)
echo "cd /home/smartping;./control start" >>/etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
官方部分说明
目标类型只支持 C 或 CS , C即为Client模式,目标节点只接收PING数据包,CS模式即Client&Server模式,目标节点既接收PING数据包同时也发送PING数据包。
报警规则为每分钟进行一次检测,若在检测时间范围(Check Period)内出现发生次数(Occur Times)以上,丢包率高于丢包率(Loss Percent)或延迟高于平均延迟(Average Delay)则报警,默认报警保存 存档天数(Archive Days) 日。
备注
首次运行SmartPing时,SmartPing默认优先读取conf/config.json文件,若无此文件,则读取conf/config-base.json文件
若需要修改密码,需要手工修改conf/config.json或conf/config-base.json文件中的password字段,并重启SmartPing
发稿时官方最后的一条更新记录
2018.04.02 SMARTPING v0.5.0 RELEASE
– 增加traceroute功能,当报警时进行Traceroute检测
– 去除sysping功能,仅保留goping,并重写goping
– 正向Ping/反向Ping页面增加定时刷新功能
– 轻微修改配置面板显示
– 代码优化与重构