设为首页 收藏本站
查看: 1042|回复: 0

[经验分享] CentOS6 安装配置Smokeping

[复制链接]

尚未签到

发表于 2019-1-17 11:09:52 | 显示全部楼层 |阅读模式
  Smokeping 主要是监视网络性能,包括常规的 ping,用 echoping 监视 www 服务器性能,监视 dns 查询性能,监视 ssh 性能等。底层也是 rrdtool 做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示。下面我们来开始安装Smokeping
rpm  -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmyum -y install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-CGI-SpeedCGI perl-Time-HiResyum -y install perl-ExtUtils-MakeMaker perl-RRD-Simple rrdtool rrdtool-perl curl fping echoping gcc make  wget libxml2-devel libpng-devel glib pangoyum -y install pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel mod_fastcgi screenwget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gz  
tar xvzf smokeping-2.6.8.tar.gz
  
cd smokeping-2.6.8
  
./configure --prefix=/usr/local/smokeping
  出现问题是因为需要安装perl的模块,所以运行下面内容即可
./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty  继续运行
./configure --prefix=/usr/local/smokeping  
gmake install
  

  
cd /usr/local/smokeping
  
mkdir cache data var
  

  
touch /var/log/smokeping.log
  

  

  
chown apache:apache cache data var
  
chown apache:apache /var/log/smokeping.log
  

  
cd /usr/local/smokeping/htdocs/
  
mv smokeping.fcgi.dist smokeping.fcgi
  
cd /usr/local/smokeping/etc
  
mv config.dist config
  

  

  
vi config
  
cgiurl   = http://some.url/smokeping.cgi
  
把some.url修改为你的ip或者域名
  *** Database ***
  step  = 300
  pings  = 20
  然后修改step,从300改为60,这是检测的时间, pings 从20 改为60, 即60秒ping 60次
  修改apache的配置
  vim /etc/httpd/conf/httpd.conf
  在DocumentRoot "/var/www/html"
  这一行之下添加如下内容: 用#号注释掉的是验证部分 可有可无
Alias /cache "/usr/local/smokeping/cache/"  
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
  
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"
  

  
AllowOverride None
  
Options All
  
AddHandler cgi-script .fcgi .cgi
  
Order allow,deny
  
Allow from all
  
#AuthName "Smokeping"
  
#AuthType Basic
  
#AuthUserFile /usr/local/smokeping/htdocs/htpasswd
  
#Require valid-user
  
DirectoryIndex smokeping.fcgi
  

  如果要启用验证,那取消#号
  进入
cd /usr/local/smokeping/htdocs  目录, 执行命令:
htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin  
echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
  
chkconfig httpd on
  
chkconfig iptables off
  

  
/etc/init.d/httpd start
  
/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &
  特别说明:
  修改/usr/local/smokeping/etc/config 文件的配置参数,必须重启动smokeping程序
  (1)如果重启动smokeping程序失败,根据报错提示删除/usr/local/smokeping/data子文件夹的rrd文件
  (2)中文问题:如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件
  *** Presentation ***      charset = utf-8 //注:在这里添加
  然后在menu与titile里修改中文,重启即可
  有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。
  如果在xshel下,选择file-properities-terminal
  如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个
  三. 添加需要监控的网站和节点(在/usr/local/smokeping/etc/config中添加)        * smokeping就这点不好,添加节点不能在前台Web页面添加,一定要在后台的配置文件中添加,希望以后的版本中能改进一下  *       * 修改/usr/local/smokeping/etc/config 后,必须重启smokeping 程序,配置才会生效  *           * smokeping 会根据配置文件config 在/usr/local/smokeping/data 之下添加moniter文件夹,其下包含website子文件夹 *        * 用vmware workstation的虚拟机测试有一点好处,workstation下的虚拟网卡可以设置出入的丢包率,适合smokeping做丢包测试, 经过测试smokeping检测出的丢包率与vmware worksation虚拟网卡设置的丢包率基本相同,也就是说smokeping 能够反应网络的真实状况 *      添加监控节点示例:注意+是第一层,++是第二层,+++ 是第三层
  + moniter
  menu = moniter
  ++ website
  menu = website
  title = moniter
  website
  #host = /moniter/website/baidu /moniter/website/sina /moniter/website/taobao /moniter/website/QQ
  +++ baidu
  menu = baidu
  title = baidu.com
  alerts = someloss
  host = www.baidu.com
  +++ sina
  menu = sina
  title = sina.com.cn
  alerts = someloss
  host = www.sina.com.cn
  +++ taobao
  menu = taobao
  title = taobao.com
  alerts = someloss
  host = www.taobao.com
  默认不支持中文,不过修改也很简单
  1.页面支持中文
  在配置文件的*** Presentation ***下添加
  charset = utf-8
  2.rrd图片支持中文
  yum -y install wqy-zenhei-fonts.noarch

  修改配置文件/opt/smokeping-2.6.9/lib/Smokeping/Graphs.pm ,插入这句'--font>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' );
  Smokeping的主从模式 Master Slave
优点:
  smokeping的主从结构,默认是开启master和slave所有的检测指针去检测远程主机(当然这个选项也是有个参数可以控制,只让slave去检测远程主机)。一个master可以管理多个slave,而且slave配置起来也很简单
  slave从master上获取自己的配置信息,所有的检测数据以及web呈现都在master上,slave只负责按照从master获取的配置信息进
行数据检测,所以说master/slave的架构也只需要维护好master的配置文件即可,其他的信息slave都会动态获取到。
  Smoking 检测分布式的检测方式是被动模式,由从节点启动时获得主节点的config
文件,然后进行数据检测收集,收集完毕后直接将数据提交给主节点。主从通信验证是通过类似于rsync的密码认证方式,在启动slave节点时指定
–shared-secret=filename 来和主进行密码验证
架构:
  slave通过master的web接口与master保持正常的通信,slave在初始化启动连接到master的时候,master会告诉
slave的作业内容,当slave完成了一轮作业内容时便会将结果返回给master,如果分配给slave的任务发生了改变,master会告诉
slave,其他slave已经交付的结果
  其实一个slave就是一个单独的实例,slave的配置信息来自于master,不是来自于本地配置文件(这样就减少了大量的维护成本),slave在
完成每一轮的作业任务后,就会尝试连接master提交自己的结果。如果无法连接到master,这个结果将会和下一轮的结果一块发送给
master,master收到结果后,将检测的数据存储在一个以perl的可存储形式的文件中,以便于重启了smokeping实例后,不会丢失这些数
据。
Master配置部分
  配置一个主从结构,需要在master的配置文件中添加slave的部分,所有slave需要被定义在master的slave区块中(了解配置文
件中的几大区块,猛戳这里)并且每一个slave需要用户一个具有唯一名称的菜单名(层次名),对于slave所设置的章节名一定要和slave的名称保
持一致。
  1.在配置文件中启用slaves块的配置,并且定义你的slave节点,如下
*** Slaves ***  
secrets=/usr/local/smokeping/etc/smokeping_secrets.dist        # 定义通信用的秘钥文件,里面包含slave的名字以及对应密码
  

  
+ tuosi                # slave的名字
  
display_name=tuosi    # slave的别名
  
location=changzhou    # 这个字段用来定义slave主机的位置,类似于description
  
color=0000ff        # slave收集的数据在图像中显示的颜色,
  2.将定义的slave节点分配给你需要监控的主机
*** Targets ***  

  
++ changzhou        # 定义一个菜单,这个值将会作为data下的一个目录名被创建,属于这个菜单下所有数据都会被存放在这个目录下
  
menu = 拓思机房        # 定义web上显示的菜单名
  
title = 拓思机房    # 定义web上显示的头部名
  

  
+++ 29gui

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664337-1-1.html 上篇帖子: Centos6.3系统下Smokeping2.6.8安装教程 下篇帖子: CentOS安装smokeping
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表