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

[经验分享] cacti-0.8.7i安装

[复制链接]

尚未签到

发表于 2017-4-20 06:12:10 | 显示全部楼层 |阅读模式
  操作系统:CentOS release 5.7 (Final)

软件包:cacti-0.8.7i.tar.gz,net-snmp-5.7.1.tar.gz,php-5.3.10.tar.gz,mysql-5.1.58-linux-i686-glibc23.tar.gz,httpd-2.2.22.tar.gz


1.安装apache


1.1  cd /usr/local/src

1.2  wget http://labs.renren.com/apache-mirror//httpd/httpd-2.4.1.tar.gz

1.3  tar zvxf httpd-2.2.22.tar.gz

1.4  cd httpd-2.2.22/srclib/apr

1.5  ./configure --prefix=/usr/local/apr

1.6  make && make install

1.7  cd ../apr-util

1.8  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

1.9  make && make install
  1.10 cd /usr/local/src/httpd-2.2.22

1.11 ./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin --enable-mods-shared=all --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache

1.12 make && make install

1.13 vi /usr/local/apache/conf/httpd.conf修改以下参数:

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 9999(yourport)
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName 192.168.0.181:9999(yourhost:yourport)
   
1.13 执行 /usr/local/apache/bin/apachectl start,在浏览器输入http://yourip:yourport,如果显示“it works!”说明安装成功。


2.安装snmp


2.1  centos自带有snmp,cacti需要php支持snmp的扩展,本人不知在编译php时如何引用系统的snmp,所以采取手动编译安装snmp的方法

2.2  wget wget http://superb-sea2.dl.sourceforge.net/project/net-snmp/net-snmp/5.7.1/net-snmp-5.7.1.tar.gz

2.3  tar zvxf net-snmp-5.7.1.tar.gz

2.4  cd net-snmp-5.7.1

2.5  ./configure

2.6  make && make install

2.7  修改配置, vi /etc/snmp/snmpd.conf

1、com2sec notConfigUser  default      public
改为:com2sec notConfigUser (你想监控的那台机器的IP)    public
2、access  notConfigGroup ""      any      noauth    exact  systemview  none  none
改为:access  notConfigGroup ""      any      noauth    exact  all  none none
3、#view all    included  .1        80
将前面的 # 注释 去掉。
   
2.8  复制编译安装的snmp的库到系统库:cp /usr/local/lib/libnetsnmp.so.30 /usr/lib,否则会报libnetsnmp.so.30 not found

2.9  service snmpd restart


3.使用yum install 安装rrdtool,zlib,freetype,libpng,jpeg,libxml,gd,等。如yum install zlib。查看系统是否安装zlib的命令rpm -qa|grep zlib,卸载zlib命令rpm -e zlib。


4.安装php


4.1  需要支持mysql, SNMP, XML, Session, Sockets,在 configure时添加对应参数

4.2  wget http://cn2.php.net/distributions/php-5.3.10.tar.gz

4.3  tar zvxf php-5.3.10.tar.gz

4.4  cd php-5.3.10

4.5  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql  --with-config-file-path=/usr/local/php/etc --with-snmp=/usr/local -enable-xml --enable-sockets
  4.6 make & make install
  4.7  cp php.ini-production /usr/local/php/etc/php.ini

4.8  修改php时区设置:vi /usr/local/php/etc/php.ini ,否则下面cacti安装之后主页面报global_constants.php等页面的date()函数错误

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Chongqing
   
4.9  apache支持php,vi /usr/local/apache/conf/httpd.conf

    在AddType application/x-gzip .gz .tgz下添加两项:

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps

4.10 测试php是否ok,vi /usr/local/apache/htdocs/index.php

<?php
phpinfo();
?>;
  如果显示如下信息说明php安装ok

DSC0000.png

 

5.  安装cacti(mysql服务已安装)

5.1  wget http://www.cacti.net/downloads/cacti-0.8.7i.tar.gz

     tar zvxf cacti-0.8.7i.tar.gz

5.2  mv cacti-0.8.7i  /usr/local/apache/htdocs/cacti

5.3  cd /usr/local/apache/htdocs/cacti

5.4  groupadd cactiuser

5.5  useradd cactiuser -g cactiuser

5.6  passwd cactiuser

5.6  /usr/local/mysql/bin/mysql -uroot -pyourpass登录mysql命令行,执行以下命令:

create database cacti;
use cacti;
source /usr/local/apache/htdocs/cacti/cacti.sql;   
GRANT ALL PRIVILEGES ON cacti.* TO cactiuser@localhost IDENTIFIED BY "cactipassword";
flush privileges;
   
5.7  修改cacti配置文件,vi include/config.php

    $database_type = "mysql";

    $database_default = "cacti";

    $database_hostname = "localhost";

    $database_username = "cactiuser";

    $database_password = "cactipassword";

    $database_port = "3306";

    $database_ssl = false;     

5.8  修改rra和log文件夹权限:

chown -R cactiuser:cactiuser rra
chown -R cactiuser:cactiuser log
  
5.9  修改计划任务,使CACTI每5分钟获得一次数据

    su cactiuser

    crontab -e

    */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
  5.10 重启apache,/usr/local/apache/bin/apachectl restart,开始安装cacti
  
DSC0001.png
  5.11 安装完成之后进入登陆页面,默认用户名admin,密码为空,第一次登陆会要求你设置新密码。
  

6.在远程主机上配置snmp服务

6.1  yum install net-snmp
  yum install net-snmp-devel
  service snmpd stop

6.2  net-snmp-config --create-snmpv3-user -ro -A cactipassword -a MD5 cactiuser

    提示以下内容:

    adding the following line to /var/net-snmp/snmpd.conf:

    createUser cactiuser MD5 "cactipassword" DES

    adding the following line to /etc/snmp/snmpd.conf:

    rouser cactiuser

6.3  在防火墙里开启snmp的udp端口161

    vi /etc/sysconfig/iptables

    添加:-A RH-Firewall-1-INPUT -p udp -s CactiServerIP --dport 161 -j ACCEPT

    service iptables restart
  
6.4  分别在远程主机上和cacti主机上检查snmp服务

service snmpd start
snmpwalk -v 3 -u cactiuser -a MD5 -A "cactipassword" -l authNoPriv 127.0.0.1 sysDescr   
snmpwalk -v 3 -u cactiuser -a MD5 -A "cactipassword" -l authNoPriv RemoteIP sysDescr
   
6.5  在cacti添加device

DSC0002.jpg

 

    

失败原因排查:

1.检查/usr/local/apache/htdocs/cacti主目录下rra/,有没有数据,如果没有检查rra/ log/的拥有者是不是cactiuser

2.执行 snmpwalk -v 2c -c public 127.0.0.1(serverIP) if    用来测试被控对象()是否开启了SNMP服务,如果不是编译安装snmp可能找不到snmpwalk命令

3.执行 snmpwalk -v 2c 127.0.0.1(serverIP) -c public .1.3.6.1.4.1.2021.10.1.3   查看被控端是否有CPU负载的数据返回

4.执行 /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php  测试PHP是否可以采集到数据

5.如果可以进去cacti管理页面,但是还是无数据,Console->Configuration->Settings->Paths 检查各项path是否配置ok
  
DSC0003.jpg

运维网声明 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-366518-1-1.html 上篇帖子: rhel5 下cacti安装日志 下篇帖子: 安装cacti出现问题解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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