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

[经验分享] cacti及其相关插件的安装

[复制链接]

尚未签到

发表于 2019-1-10 11:51:26 | 显示全部楼层 |阅读模式
  cacti是什么?
  1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmprrdtoolcacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
  

  2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ipsnmp团体名、端口号、模板信息等变量。
  

  3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
  

  cacti的工作流程可以用下图表示:

  http://blog.运维网.com/attachment/201310/200319849.jpg
  

  cacti的安装:
  配置本地yum
  [root@cacti ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
  [rhel-Server]
  name=Red Hat Enterprise Linux Server
  baseurl=file:///mnt/cdrom/Server
  enabled=1
  gpgcheck=1
  gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
  

  

  [root@cacti ~]# mkdir /mnt/cdrom
  [root@cacti ~]# mount /dev/cdrom/mnt/cdrom/
  mount: block device /dev/cdrom iswrite-protected, mounting read-only
  

  [root@cacti ~]# yum install httpd php php-mysql php-snmp mysql-serverperl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-develruby –y
  

  [root@cacti ~]# service httpd start
  [root@cacti ~]# chkconfig httpd on
  

  [root@cacti ~]# service mysqld start
  [root@cacti ~]# chkconfig mysqld on
  

  [root@cacti ~]# mysqladmin -u root -ppassword '123'
  

  [root@cacti ~]# mysql -u root –p
  mysql> CREATE DATABASE cacti;
  mysql> grant all privileges on cacti.* to cacti@localhostidentified by 'cacti';
  mysql> grant all privileges on cacti.* to cacti@127.0.0.1identified by 'cacti';
  mysql> grant all privileges on cacti.* tocacti@192.168.2.0 identified by 'cacti';
  mysql> flush privileges;
  mysql> quit
  

  上传需要用的软件

  软件资料下载地址http://down.运维网.com/data/994246
  cacti-0.8.7g.tar.gz cacti的主程序
  cacti-plugin-0.8.7g-PA-v2.8.tar.gz 插件管理器
  feition.tar.bz2 用于飞信报警的程序
  monitor-latest.tgz 实现只管监测的插件
  sendMsg.zip 发送MSN消息的应用
  settings-latest.tgz 增强功能的插件,例如发送电子邮件
  thold-latest.tgz 实现达到预值告警的插件
  

  

  [root@cacti software]# yum localinstallrrdtool* --nogpgcheck –y
  

  安装cacti的主程序
  [root@cacti software]# tar -zxvf cacti-0.8.7g.tar.gz -C /var/www/html/
  [root@cacti software]# cd /var/www/html/
  [root@cacti html]# mv cacti-0.8.7g/ cacti
  

  [root@cacti html]# service snmpd start
  [root@cacti html]# chkconfig snmpd on
  [root@cacti html]# vim /etc/snmp/snmpd.conf
  添加一行view systemview included .1.3.6.1.2.1.25.1.6 /////使能监控tcp流量
  

  

  编辑计划任务
  [root@cacti html]# crontab -e
  */5 * * * * php/var/www/html/cacti/poller.php >/dev/null 2>&1
  

  导入数据库
  [root@cacti html]# mysql -u root -p cacti>/var/www/html/sendMsg/msn.txt.1
  cat /var/www/html/cacti/plugins/thold/alert.log>>/var/www/html/sendMsg/msn.txt.1
  now=`date +%Y-%m-%d-%H:%M`
  SA=(test)
  msnaddr=(接收信息的帐号)
  sendMsg()
  {
  num=0
  while [ $num -lt 1 ];
  do
  wget ?post-data"sender=发送信息的帐号&password=密码&recipient=${1}&message=${2}"http://127.0.0.1/sendMsg/index.php -O /var/www/html/sendMsg/index.php.1>/dev/null 2>&1
  if [ -f /var/www/html/sendMsg/index.php.1]; then
  if cat /var/www/html/sendMsg/index.php.1|grep -i successfully >/dev/null 2>&1;then
  num=1
  elif cat /var/www/html/sendMsg/index.php.1|grep -i "The user appears to be offline" >/dev/null2>&1;then
  num=1
  echo "The user is offline."
  exit 0
  elif cat /var/www/html/sendMsg/index.php.1 |grep-i "Something went wrong trying to connect to the server">/dev/null 2>&1;then
  num=1
  echo "MSN server is online."
  exit 0
  else
  num=0
  fi
  rm -f /var/www/html/sendMsg/index.php.1
  else
  num=0
  fi
  done
  }
  mv /var/www/html/sendMsg/msn.txt/var/www/html/sendMsg/bak/msn$now.txt -f 1>/dev/null 2>&1
  mv /var/www/html/sendMsg/msn.txt.1/var/www/html/sendMsg/msn.txt -f 1>/dev/null 2>&1
  rm /var/www/html/cacti/plugins/thold/alert.log -f 1>/dev/null 2>&1
  for i in 0
  do
  if cat /var/www/html/sendMsg/msn.txt ; then
  messages=`cat /var/www/html/sendMsg/msn.txt`
  sendMsg "${msnaddr[$i]}""$messages"
  else
  continue
  fi
  done
  

  

  配置支持飞信报警
  [root@cacti software]# tar -jxvf feition.tar.bz2
  [root@cacti software]# mkdir -pv /var/www/html/sendsms/linuxso
  [root@cacti software]# cp linuxso_20101113/* /lib/
  [root@cacti software]# mv linuxso_20101113/* /var/www/html/sendsms/linuxso/
  [root@cacti software]# vim /var/www/html/cacti/plugins/thold/thold_functions.php
  添加这两行
  562 exec("echo $subject>>/var/www/html/cacti/plugins/thold/alert.log");
  563 exec("/var/www/html/cacti/plugins/thold/sendsms.sh");
  

  [root@cacti software]# vim /var/www/html/cacti/plugins/thold/sendsms.sh
  #!/bin/sh
  #send sms by fetion
  #Write by pingsun2010@hotmail.com
  if [ ! -e"/var/www/html/cacti/plugins/thold/alert.log" ];then
  echo "Usage:alert.log does notexist"
  exit
  fi
  if [ -n "`cat/var/www/html/cacti/plugins/thold/alert.log`" ]; then
  admin="接收信息的帐号?
  echo "sms $admin "`cat /var/www/html/cacti/plugins/thold/alert.log`>>/var/www/html/cacti/plugins/thold/sms.txt
  echo "exit" >>/var/www/html/cacti/plugins/thold/sms.txt
  else
  echo "Usage:no alert"
  exit
  fi
  if [ -n "`cat/var/www/html/cacti/plugins/thold/sms.txt`" ] ;then LD_LIBRARY_PATH=/var/www/html/sendsms/linuxso/var/www/html/sendsms/linuxso/fetion --mobile=发送信息的账户 --pwd=密码 --to=$admin --file-utf8=/var/www/html/cacti/plugins/thold/sms.txt
  rm -f /var/www/html/cacti/plugins/thold/sms.txt 1>/dev/null 2>&1
  rm -f /var/www/html/cacti/plugins/thold/alert.log 1>/dev/null 2>&1
  else
  echo "Usgae:no message to send"
  exit
  fi
  

  [root@cacti thold]# chmod a+x send*
  给新建的脚本添加可执行权限
  

  vim /var/www/html/cacti/plugins/thold/alert.log
  随便写点儿内容,当飞信程序执行的时候会自动删除里面的内容
  可以新建alert.log以及sms.txt,其中在alert.log中添加一个内容。然后手工运行脚本进行测试,需要保证本机能正常接入互联网。
  

  目前cacti的环境已经搭建完成,cacti的使用还需要好好学习……




运维网声明 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-661615-1-1.html 上篇帖子: LNMP安装+cacti 下篇帖子: lamp+cacti+ntop+thold+nagios+syslog
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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