SmokePing

实例配置分布式Smokeping

May 17, 2016
Distribution, Linux, SmokePing, Tutorial

在 前一篇文章中,简单的介绍了如何在Ubuntu 14.04中安装smokeping,安装之后smokeping是以单机的形式来运行。但是在这样的情况下,安装smokeping的主机测试的是自己到被检测点之间的状态。又或者单独一台主机的性能已经完全不能满足监控的需求。这时,我们需要考虑采用分布式smokeping来进行监控。分布式smokeping相比单点有这样一些重要的优势: 分担单台主机负担。 可以通过不同的网络环境监控对于同一监控点。 避免干扰因素。 分布式Smokeping架构 Smokeping采用Master/Slave的主从结构架构进行分布式部署。默认开启Master和Slave所有的探针检测远程主机(Master监测功能可以通过配置关闭)。一个Master可以管理多个Slave,而且Slave配置起来也很简单。 Slave从master上获取自己的配置信息,所有的检测数据以及web呈现都在Master上。Slave只负责按照从Master获取的配置信息进行数据检测,所以Master/Slave的架构也只需要维护Master的配置文件即可,其他的信息Slave都会动态获取到。 简单说,一个Slave就是一个单独的实例。Slave的配置信息来自于Master,不是来自于本地配置文件,这样就减少了大量的维护成本。Slave在完成每一轮的作业任务后,就会尝试连接Master提交自己的结果。如果无法连接到Master,这个结果将会和下一轮的结果一块发送给Master,Master收到结果后,将检测的数据存储在本地的数据文件中,以便于重启了Smokeping实例后,不会丢失这些数据。 Smokeping分布式的检测方式是被动模式,由Slave启动时向Master发起连接。主从通信验证是通过类似于rsync的密码认证方式,在启动slave节点时指定–shared-secret=filename来和主进行密码验证。 从官方获取的Master/Slave的架构图可以看出,Slave是将采集的结果汇集给Master。 [slave 1] [slave 2] [slave 3] | | | +-------+ | +--------+ | | | v v v +---------------+ | master | +---------------+ 分布式Smokeping配置 Master配置部分 配置一个主从结构,需要在Master的配置文件中添加Slave的部分,所有Slave需要被定义在Master的Slave section中。 1.在配置文件中定义Slave *** Slaves *** secrets=/usr/local/smokeping/etc/smokeping_secrets.dist # 定义通信用的秘钥文件,里面包含slave的名字以及对应密码 + Slave1 # slave的名字 display_name=Slave1 # slave的别名 location=changzhou # 这个字段用来定义slave主机的位置,类似于description color=0000ff # slave收集的数据在图像中显示的颜色, 2.将定义的Slave节点分配给你需要监控的主机 *** Targets *** # 定义一个菜单,这个值将会作为data下的一个目录名被创建,属于这个菜单下所有数据都会被存放在这个目录下 ++ changzhou # 定义web上显示的菜单名 menu = 常州机房 # 定义web上显示的头部名 title = 常州机房 # 定义一个主机,这个主机的数据将会被存放在 data/changzhou/29gui目录下 +++ 29gui<-(xxx. ...

smokeping中DNS监控配置

May 15, 2016
SmokePing, DNS

smokeping的一个很大的优势是其丰富的probe。最近根据客户需求,需要监控DNS解析的延时情况。不过smokeping中DNS监控配置遇到了一些预想之外的问题。 根据 官方的文档,一共需要两个步骤: 在Probes配置中增加相应的DNS probe 在Targets中增加自己的需要监控的DNS域名 本来应是很简单的过程,不过实际实际的配置过程中,没有对每个参数的意义完全理解,导致自己走了一点点弯路。 以使用dig作为probe为例,最小化配置如下: 在Probes中增加相应的配置 +DNS binary = /usr/bin/dig 在Targets中增加需要监控的目标 + mytarget probe = DNS #以下三个参数都必须配置,否则无法采集数据 host = my.host lookup = www.example.org server = ns1.someisp.net 自己尝试的过程中,由于host, lookup, server三个参数没有配置齐全。所以导致很长时间都没有出图。所以,如果你需要配置使用dig作为probe来监控DNS服务质量,请一定要配置这三个参数。

在Ubuntu上部署Smokeping

May 10, 2016
Linux, SmokePing, Ubuntu

Smokeping是rrdtool的作者Tobi Oetiker的作品,是用Perl写的,主要是监视网络性能,包括常规的ping,用echoping监www 服务器性能,监视dns查询性能,监视ssh性能等。底层也是rrdtool做支持,特点是画的图非常亮,网络丢包和延迟用颜色和阴影来表示。 #部署smokeping ##基础系统安装 这里并不需要特别说明。我选用的是Ubuntu Server 14.04。 ##配置时间同步 既然是监控,第一步当然还是需要配置好时间,让我们所有的数据在时间上能进行统一。方便我们以后需要的时候能够多个数据进行综合比较。 $ sudo apt-get install ntp 其实到这里我们就完成了。可以检查一下: $ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== -mail.fspproduct 209.51.161.238 2 u 50 128 377 1.852 2.768 0.672 *higgins.chrtf.o 18.26.4.105 2 u 113 128 377 14.579 -0.408 2.817 +mdnworldwide.co 108.71.253.18 2 u 33 128 377 47.309 -0.572 1.033 -xen1.rack911.co 209.51.161.238 2 u 44 128 377 87.449 -5.716 0. ...