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

[经验分享] redhat下cacti的安装使用

[复制链接]

尚未签到

发表于 2019-1-12 08:17:09 | 显示全部楼层 |阅读模式
  cacti是一套基于PHP,Mysql,SNMP及rrdtools开发的网络流量监测图形分析工具

  制图等各方面都很优秀,也支持各种模版的添加,功能很强大,现在下面介绍一下cacti的安装与使用
  cacti的主程序下载
  Cacti官方网站:www.cacti.net/
  cacti-0.8.7e-cn-utf8.tar.gz  (中文版)
cacti-0.8.7g.tar.gz(英文版)
  cacti安装需要的一些软件包
  rrdtool-1.2.23.tar.gz
net-snmp-5.6.tar.gz
cacti-cactid-0.8.6k.tar.gz
cacti-spine-0.8.7g.tar.gz
(版本大家可以自行选择,不过高版本与低版本都会因自身服务环境不同而出现各种问题,依问题提示解决)
  cacti的安装需要有可以提供网站服务的应用,比如apache器,nginx等
  因为cacti是以php语言编写的,nginx+php(fast-cgi)+mysql的功能很强大,所以笔者以这个环境下搭建cacti
  nginx+php(fast-cgi)+mysql的安装配置请参考另一篇文章
  下面安装一些基础软件包
  安装Fontconfig
tar -zxvf fontconfig-2.4.2.tar.gz
cd fontconfig-2.4.2
./configure --with-freetype-config=/usr/local/freetype
make && make install

  安装GD库及相关插件
  tar -zxvf gd-2.0.34.tar.gz
  cd gd-2.0.34
  ./configure --prefix=/usr/local/libgd --with-png --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg
编译时显示以下信息:
  ** Configuration summary for gd 2.0.34:
  Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   yes
   Support for Xpm library:          no
   Support for pthreads:             yes
(按照上面的提示预安装一些基础软件包,比如png的有libpng-1.2.16.tar.tar等,zlib-1.2.3.tar.gz,freetype-2.3.4 .tar.gz,jpegsrc-1.v6b.tar.gz)
  这些软件包都要以在http://oss.oetiker.ch/rrdtool/pub/libs/ 库文件中找到
  make && make install
  编辑/etc/ld.so.conf,添加以下几行到此文件中。
  /usr/local/zlib/lib
  /usr/local/freetype/lib
  /usr/local/libjpeg/lib
  /usr/local/libgd/lib
  并执行ldconfig命令,使用动态装入器装载找到共享库

  编译安装rrdtool及安装配置snmp
安装如下几个rpm包
yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
  安装rrdtool
tar -zxvf rrdtool-1.2.23.tar.gz
./configure --prefix=/usr/local/rrdtool
make && make install
  安装SNMP
tar -zxvf net-snmp-5.6.tar.gz
./configure --prefix=/usr/local/snmp --enable-developer
然后一直回车
make # make install # ln -s /usr/local/snmp/bin/* /usr/local/bin/
  创建snmpd的配置文件,默认情况下它是不存在的
vi /usr/local/snmp/share/snmp/snmpd.conf
  写入以下内容
  #       sec.name  source          community
com2sec notConfigUser  127.0.0.1       public
com2sec notConfigUser  192.168.20.185       public   ##监听的服务器IP与community号
# Second, map the security name into a group name:
#       groupName      securityModel securityName
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
# Third, create a view for us to let the group have rights to:
# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name           incl/excl     subtree         mask(optional)
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.2
view    systemview    included   .1.3.6.1.2.1.25.1.1
view    all    included   .1
# Finally, grant the group read-only access to the systemview view.
#       group          context sec.model sec.level prefix read   write  notif
#access  notConfigGroup ""      any       noauth    exact  mib2 none none
access  notConfigGroup ""      any       noauth    exact  all none none
##       sec.name  source          community
#com2sec local     localhost       COMMUNITY
#com2sec mynetwork NETWORK/24      COMMUNITY
com2sec notConfigUser  default  public
com2sec     *.*.*.0   192.168.20.185/24 public
##     group.name sec.model  sec.name
group MyRWGroup  any        local
group MyROGroup  any        mynetwork
group notConfigUser  any        zcom
#group MyRWGroup  any        otherv3user
##           incl/excl subtree                          mask
view all    included  .1                               80
view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
##                context sec.model sec.level prefix read   write  notif
access MyROGroup ""      any       noauth    0      all    none   none
access MyRWGroup ""      any       noauth    0      all    all    al
  (修改需要监听的服务器IP)
  经过配置后,现在可以启动snmpd
/usr/local/snmp/sbin/snmpd
  关闭,则可以直接kill这个进程
killall -9 snmpd
  加入到开机自启动
echo "/usr/local/snmp/sbin/snmpd" >> /etc/rc.d/rc.local
  安装cacti和Cactid
tar -zxvf cacti-0.8.7g.tar.gz
mv cacti-cacti-0.8.7g /data/web/cacti
  vi /data/web/cacti/include/config.php
  修改内容
  database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";
$database_password = "cacti";
  添加cacti用户,将rra目录的所有权给cacti用户
groupadd cacti
useradd cacti -g cacti
chown -R cacti.cacti /data/web/cacti/rra
为cacti用户添加cron任务
su – cacti  (一定要在cacti用户下)
crontab –e
*/5 * * * * /usr/local/php/bin/php  /data/web/cacti/poller.php > /dev/null 2>&1
  每5分钟执行一次
首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限
在cacti用户模式下执行
/usr/local/php/bin/php  /data/web/cacti/poller.php

  安装Cactid
确认安装了
net-snmp-devel(需要编译安装net-snmp时添加--enable-developer选项)
mysql            
mysql-devel    (mysql源文件编译安装后默认支持)
openssl-devel  (Redhat默认安装)
  tar -zxvf cacti-cactid-0.8.6k.tar.gz
cd cacti-cactid-0.8.6k
./configure --with-mysql=/usr/local/mysql --with-snmp=/usr/local/snmp
make && make install
  vi /usr/local/cactid/etc/cactid.conf      //修改cactid配置文件
DB_Host        127.0.0.1
DB_Database    cacti
DB_User        cacti
DB_Pass        cacti
  安装安装cacti-spine cacti
  本来不打算安装spine的,就使用cmd.php来完成数据采集,可是后来发现cmd.php采集存在很大的延迟,执行效率太低了。两厢比较了一下,从添加device好到设备up,spine只需要不到一分钟,而cmd等的时间较长,超过10分钟。
  # tar -zxvf cacti-spine-0.8.7e.tar.gz
# cd cacti-spine-0.8.7e
# ./configure --with-mysql=/usr/local/mysql/
# make && make install
  
vi /usr/local/spine/etc/spine.conf
DB_Host         127.0.0.1
DB_Database     cacti
DB_User         cacti
DB_Pass         cacti
  mysql设置
进入mysql
/usr/local/mysql/bin/mysql -u root -p -S /var/lib/mysql/mysql.sock
  GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'192.168.20.185' IDENTIFIED BY 'cacti';
  导入cacti的数据源
cd /data/web/cacti
/usr/local/mysql/bin/mysql -u root -p -S /var/lib/mysql/mysql.sock cacti < cacti.sql
  安装完成
从浏览器登陆:http://192.168.20.185/    #在nginx或者其它网站服务应用上指定catic的目录,开启服务就可以访问了
  默认账号与密码均是admin

  cacti的基础设置
  Console>Settings>general

  设置cacti用到的命令路径
Console>Settings>patch
  snmpwalk Binary Path          /usr/local/ bin/snmpwalk
  snmpget Binary Path         /usr/local/ bin/snmpget
  RRDTool Binary Path         /usr/local/ bin/rrdtool
  PHP Binary Path              /usr/local/bin/php
  Cacti Log File Path           /data/logs/cacti.log
  Spine轮询器路径:  /usr/local/spine/bin/spine
  RRDTool应用程序版本  :RRDTool 1.2.*

  
Console>Settings>Poller
选择spine

  
添加设备
  devecs>>add>>

  选择相应的监听模版

  以上就纳入了nginx的状态,CPU的使用率,load的负载,内存的使用跟接口流量
  记得save保存一下
  选择页面右上角的添加生成图片--create graphs for this host

  之后选择相应的监听接口就行了,保存之后你就可以在graphs managerment中找到生成的相应图片


  有时候图片不能正常显示是因为你的设备刚添加进去,每5分种执行一次计算的时候你的cacti还没有在你的rra下生成rrd

  因为我的时间设置的不同步了,所以提示错误,可以忽略
  到此,完整的cacti安装及初步使用步骤就结束了
  如果中间安装的时候出现问题,根据提示来判断,可能是软件包的版本不对应,换个高一点的版本,或者你的动态库缺少某个软件包导致
  某些知识摘取其他网上资源
  附上一些遇到的问题
  /usr/local/php/bin/php /data/web/cacti/poller.php
  提示以下错误时的解决方法
  /usr/local/php/bin/php: /usr/local/lib/libpng12.so.0: no version information available (required by /usr/local/php/bin/php)


  解决方法就是
  cd /usr/local/lib
  mv libpng12.so.0 libpng12.so.0.backup
  ln -sf /usr/lib/libpng12.so.0 libpng12.so.0
  这就是libpng默认安装的时候会出现的一些问题




运维网声明 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-662209-1-1.html 上篇帖子: CentOS4.8安装ntop4.01,集成到cacti 下篇帖子: cacti 错误1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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