ubuntu12 部署smokeping监控

简介:

smokeping是对IDC网络质量,稳定性等最好的检测工具,包括常规的 ping,dig,echoping,curl等,可以监视www服务器性能,监视dns查询性能,监视ssh性能等。底层是 rrdtool 做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示

 ubuntu12 部署smokeping监控_第1张图片

本次测试安装环境:

系统Ubuntu 12,14,16 x64 或centos7.x x64(安装epel)

注:本人曾经使用centos6.x  安装真是一把辛酸泪,部署各种麻烦,依赖包几十个,各种折腾。说出来都是泪,用ubuntu或者centos7.x 部署smokeping,只需一条命令轻松安装。

smokeping的优点:

1)        最佳的画图功能,延迟和丢包用颜色和阴影表示很直观。

2)        免费和开源,作者是MRTG和RRDtool作者。

3)        支持master/slave分布式部署

4)        可以自定义报警功能。

5)        支持多种probe,dns,fping,echoping,curl等

1、安装smokeping

 sudo apt-get install smokeping -y

2、修改smokeping配置文件,

2.1 禁用邮件告警。根据需要更改。

sudo vim /etc/smokeping/config.d/pathnames

#sendmail =/usr/sbin/sendmail

2.2 修改url

sudo vim /etc/smokeping/config.d/General

cgiurl   = http://192.168.4.66/smokeping.cgi

3、优化

vim/etc/smokeping/config.d/Database

*** Database ***

#step = 300

step= 60                 #建议改为60,一分钟采集一次数据

pings = 20 #pings 根据需要设置,影响图片中

ubuntu12 部署smokeping监控_第2张图片

 

 

*** Presentation***

+ overview

 

width = 900 # 默认600

height = 75 # 默认 50

range = 10h

 

##############loss color

++loss_colors

In the Detail view, the color of the medianline depends the amount of lost packets. SmokePing comes with a reasonabledefault setting, but you may choose to disagree. The table below lets youspecify your own coloring.

Example:

 LossColor   Legend

 1   00ff00    "<1"

 3   0000ff    "<3"

 1000ff0000    ">=3"

column 0

Activate when the number of losst pings islarger or equal to this number

column 1

Color for this range.

column 2

Description for this range.

4、添加测试数据

vim/etc/smokeping/config.d/Targets

+DNS

menu=chinaDNS

title=中国主要DNS测试

++dnsSHDX

menu=SHDXDNS

title=DNS-202.96.209.5

host=202.96.209.5

 

++dnsSHLT

menu=SHLTDNS

title=DNS210.22.70.3

host=210.22.70.3

= = = = = = = = == = = = = = =

+Beijing

menu=Beijing

title=Beijing-ip

++zhaowei.30

menu=zhaowei.30

title=ip-10.0.0.30

host=10.0.0.30

 

++zhaowei.210

menu= zhaowei.210

title=ip-10.0.0.210

host=10.0.0.210

 

++zhaowei.210

menu= zhaowei.210

title=ip-10.0.0.210

host=10.0.0.210

 

++zhaowei.222

menu= zhaowei.222

title=ip-10.0.0.222

host=10.0.0.222

 

重启apache,重启smokeping

serviceapache2 restart

servicesmokeping restart

4.1 perl错误解决

ubuntu12 部署smokeping监控_第3张图片

apt-get install language-pack-zh-hans -y

原因:perl 认不出中文

 

4.2 目录详解:

二级目录

+ Gansu #必须是英文,不能是中文

menu = 上海

title = 上海

 

++ 浦东# 必须是英文,+和++ 内容是不会被显示,只是起一个命名的作用。

menu =浦东

title =浦东:10.138.1.11

host = 10.138.1.11

alerts = someloss

在添加完毕以后重启smokeping

service smokeping restart

三级目录

smokeping可以配置三级目录如下::

 

+ yiji

menu = 一级

title = 一级

 

++ erji

menu = 二级

title = 二级

+++ sanji

menu = sanji

title =sanji:8.8.8.8

host = 8.8.8.8

alerts = someloss

5、访问测试,常用命令

http://192.168.4.66/cgi-bin/smokeping.cgi

http://ip/cgi-bin/smokeping.cgi

常用命令

service smokeping

force-reload

reload重载。修改smokeping配置后可以通过reload使配置生效

restart 重启

start 启动

status

stop

--debug-daemon以调试模式运行

更多功能

mansmokeping

6、中文支持

安装字体

yum -y install wqy-zenhei-fonts.noarch

编辑smokeping的配置文件

vim /usr/local/smokeping/etc/config

第50行添加

charset = utf-8 #添加此行

编辑Graphs.pm

vim/usr/local/smokeping/lib/Smokeping/Graphs.pm

#第147行下边插入下边一行

'--font TITLE:20:"WenQuanYi Zen Hei Mono"',

最后的,要加上!!

 

 

如果Targets 文件中出现中文,需要修改Presentation 文件,

sudo vim /etc/smokeping/config.d/Presentation

设定  charset  = UTF8 。在设定完毕以后,我们再次打开Targets文件,如果文件出现乱码,需要全部重新编辑才可以,也就是说再一次以utf-8的格式输入一次中文。重启smokeping ,刷新界面,中文就不会出现乱码了。如下图所示:

ubuntu12 部署smokeping监控_第4张图片

3.2图片的中文支持

如果想要图rrd图片也支持中文,那么就需要中文字体包了,

sudo apt-get install ttf-wqy-zenhei

如果你跟我一样是处于离线环境,可以下载一个文泉驿字体安装包再安装。具体安装方法参考我另外一篇博客:ubuntu单独安装字体包。我也将字体安装包以及依赖包放到百度云盘上面了,下载地址:http://pan.baidu.com/s/1hqsUORi 

然后修改smokepingGraphs.pm这个文件,如果找不到的话可以通过find命令查到

enadmin@BJCGNMON01:/etc/smokeping/config.d$sudo find / -name Graphs.pm

[sudo] password for enadmin:

/home/enadmin/Graphs.pm

/usr/share/perl5/Smokeping/Graphs.pm

通过查找命令我们知道需要修改“/usr/share/perl5/Smokeping/Graphs.pm”这个文件,我们找到RRDs::graph,然后在里面插入如下语句:

'--font TITLE:20:"WenQuanYi Zen HeiMono"',

 if ($mode =~ /[anc]/){

        my $val = 0;

        for my$host (@hosts){

            my ($graphret,$xs,$ys) =RRDs::graph

            ("dummy",

            '--start',$tasks[0][1],

            '--end',$tasks[0][2],

            '--font TITLE:20:"WenQuanYi Zen Hei Mono"',

            "DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE",

            'PRINT:maxping:MAX:%le' );

            my $ERROR = RRDs::error();

            return"

RRDtool did not understandyour input: $ERROR.
"if $ERROR;

            $val = $graphret->[0] if $val < $graphret->[0];

        }

        $val = 1e-6if $val =~ /nan/i;

        $max = { $tasks[0][1] => $val * 1.5 };

    }

 

如果你Smokeping的安装路径不是上述安装路径,你可以在ubuntu下搜索Graphs.pm这个文件,在查到路径以后在去编辑文件。

sudo find / -nameGraphs.pm

 

7、文件目录

/etc/smokeping# tree

.|-- apache2.conf

|-- basepage.html

|-- config

|-- config.d

|  |-- Alerts

|  |-- Database

|  |-- General

|  |-- pathnames

|  |-- Presentation

|  |-- Probes

|  |-- Slaves

|  `-- Targets

|-- smokemail

|-- smokeping_secrets

`-- tmail

http://192.168.4.66/smokeping/images/Local/LocalMachine_last_10800.png

8、图表详解

RTT (Round-Trip Time)

   这个值就是数据包在源和监控点一个来回所需要用的时间,是判断网络运行状况的一个重要的参数。在网络中实时、准确测量大量的TCP设备和系统RTT参数也是网络管理的重要环节之一。smokeping就是向目标设备发送数据包,进行记录、展示RTT。

  Media RTT (中间数)

   它是中间数并不是平均值。Smokeping 有多种类型的探针,探针在默认的设置下,每 300 秒向目标设备发送 20 测探测数据包。假如这 20个数据包都返回的话,它就记录下了 20 个 RTT,那么Median RTT 就是第十个包的 RTT;如果有 5 个包丢失的话,那么 Median RTT 就是第八个返回的包的 RTT 值。

  Avg  (RTT的平均值)

它是每一个测试回合中所有的RTT算术平均值。

  Packet loss  (丢包率)

  通过ping包进行测试的进行测算。通过loss color进行展示。

    此图是每20分钟进行一次时间间隔,每一个小格代表5分钟,通过测算的颜色进行显示。出了13:25---13:35的颜色是浅蓝色(20个包丢掉1个),其余时间全为绿色(0丢包)。绿色或蓝色线标示的是中间数的值(Media RTT),5分钟内其他数值则在中间数周围以灰色展示。灰度范围越小越好,起伏太大说明网络不稳定。

 

你可能感兴趣的:(随笔)