您的位置:首页 > 运维架构 > Linux

CentOS 5.6下Cacti安装过程详解

2012-03-13 15:17 357 查看
1、安装绘图工具rrdtool

# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
# yum -y install libart_lgpl libart_lgpl-devel pango-devel* cairo-devel*

# tar xzvf rrdtool-1.4.7.tar.gz

# cd rrdtool-1.4.7

# ./configure --prefix=/usr/local/rrdtool --disable-python --disable-tcl

# make && make install

# ln -s /usr/local/rrdtool/bin/* /usr/local/bin/

# rrdtool -v

# cd ../

2、安装数据采集工具snmp

# wget http://nchc.dl.sourceforge.net/project/net-snmp/net-snmp/5.7.1-pre-releases/net-snmp-5.7.1.tar.gz
# tar xzvf net-snmp-5.7.1.tar.gz

# cd net-snmp-5.7.1

# ./configure --prefix=/usr/local/net-snmp --enable-mfd-rewrites --with-default-snmp-version="2" --with-sys-contact="13838389438@139.com" --with-sys-location="china" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" --enable-developer

# make && make install

# ln -s /usr/local/net-snmp/bin/* /usr/local/bin/

# cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

# /usr/local/net-snmp/sbin/snmpd

# echo "/usr/local/net-snmp/sbin/snmpd">>/etc/rc.local

# netstat -anup|grep 161

# snmpwalk -v 2c -c public 127.0.0.1

# cd ../

注:这里如果启动snmpd的时候用了-c来指定正确的配置文件后,snmpd是启动失败的。但不指定配置文件是可以正确获取信息的。

  如果确实担心有什么影响的话,可以使用 yum -y install net-snmp* 命令来让系统自动安装和配置。

  默认应该安装的snmp包含net-snmp、net-snmp-devel、net-snmp-libs、net-snmp-utils、net-snmp-perl。

3、安装监控平台软件cacti

# wget http://www.cacti.net/downloads/cacti-0.8.7i-PIA-3.1.tar.gz
# tar cacti-0.8.7i-PIA-3.1.tar.gz

# mv cd cacti-0.8.7i-PIA-3.1 /usr/local/httpd/htdocs/cacti

# cd /usr/local/httpd/htdocs/cacti

# useradd cactiuser

# chown -R cactiuser rra log

# chgrp -R cactiuser /usr/local/httpd/htdocs/cacti/

# vi include/config.php

$database_type = "mysql";

$database_default = "cactidb";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cactipass";

# /usr/local/mysql/bin/mysql -u root -prootroot

mysql>create database cactidb;

mysql>grant all privileges on cactidb.* to 'cactiuser'@'localhost' identified by 'cactipass';

mysql>flush privileges;

mysql>use cactidb

mysql>source /usr/local/httpd/htdocs/cacti/cacti.sql

mysql>quit

# crontab -e -u cactiuser

*/5 * * * * /usr/local/php/bin/php -q /usr/local/httpd/htdocs/cacti/poller.php --force > /dev/null 2>&1

注:这里cactiuser的权限如果不足,后面就会在插件管理处显示“FATAL: Database or Table does not exist” 。

4、安装spine代替cmd.php

# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7i.tar.gz
# tar xzvf cacti-spine-0.8.7i.tar.gz

# cd cacti-spine-0.8.7i

# ./configure --prefix=/usr/local/httpd/htdocs/cacti/spine --with-snmp=/usr/local/net-snmp/

# make && make install

# cd /usr/local/httpd/htdocs/cacti/spine/etc/

# cp spine.conf.dist spine.conf

# vi spine.conf(修改cacti数据库的名称、账号、密码)。

# spine

# service httpd restart

最后在cacti的Settings菜单里,设置Paths下的Spine Poller File Path为/usr/local/httpd/htdocs/cacti/spine/bin/spine,再将Poller里的Poller type设置为spine。

# /usr/local/php/bin/php -q /usr/local/httpd/htdocs/cacti/poller.php --force (查看是否能正常运动)

注:如果此时报error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory,则

   # find / -name libmysqlclient.so.18,再# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

5、安装插件

# wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz -O pluginsettings-v0.71-1.tgz

# tar xzvf pluginsettings-v0.71-1.tgz -C /usr/local/httpd/htdocs/cacti/plugins

# vi /usr/local/httpd/htdocs/cacti/include/config.php(在后面添加)

$plugins = array();

$plugins[] = 'settings';

# wget http://docs.cacti.net/_media/plugin:thold-v0.4.9-3.tgz -O pluginthold-v0.4.9-3.tgz

# tar xzvf pluginthold-v0.4.9-3.tgz -C /usr/local/httpd/htdocs/cacti/plugins

# vi /usr/local/httpd/htdocs/cacti/include/config.php(在后面添加)

$plugins[] = 'thold';

# wget http://docs.cacti.net/_media/plugin:monitor-v1.3-1.tgz -O pluginmonitor-v1.3-1.tgz

# tar xzvf pluginmonitor-v1.3-1.tgz -C /usr/local/httpd/htdocs/cacti/plugins

# vi /usr/local/httpd/htdocs/cacti/include/config.php(在后面添加)

$plugins[] = 'monitor';

5.1、在User Management里点击admin用户,然后勾选最下方的Plugin Management,然后点击Save。

5.2、点击左边菜单的Plugin Management,然后点击插件前的下拉箭头开始Install plugin,最后点击向右的箭头开始Enable Plugin。

5.3、点击左边菜单的Settings,然后点击右边的Mail/DNS进行如下设置:

   Test Email:这里写收件报警邮件的邮箱如13838389438@139.com。

   Mail Services:这里选择SMTP,因为这选择用163来发邮件。

   From Email Address:这里写要发送邮件的邮箱地址,如cactitest@163.com。

   From Name:这里填写名称,如cactitest。

   Word Wrap:这里建议不改,改小了很杯具。

   Sendmail Path:这里写sendmail的路径,如/usr/sbin/sendmail。

   SMTP Hostname:这里写smtp地址,如smtp.163.com。

   SMTP Port:这里写smtp的端口,默认都是25。

   SMTP Username:这里写smtp的用户名,如cactitest。

   SMTP Password:这里写smtp的密码,如cactipwd。

5.4、点击左边菜单的Settings,然后点击右边的Thresholds进行如下设置:

   在Emailing Options大项里,勾选Dead Hosts Notifications项。

   在Emailing Options下的Dead Host Notifications Email里填写收件箱地址,如13838389438@139.com。

   在Emailing Options下的From Email Address里填写发件箱的地址,如cactitest@163.com。

   在Emailing Options下的From Name里填写发件人的名称,如cactitest。

   在Emailing Options下的Send Alerts as Text中勾选Send Alerts as Text。

6、被监控端安装与配置

6.1、监控Windows Server 2003

a)、打开"运行"输入"appwiz.cpl",然后选中"管理和监视工具"下的"简单网络管理协议",点击"确定"安装。

  b)、打开"运行"输入"services.msc",在"SNMP Service"属性的"安全"选项里设置访问密码和监控服务器的IP地址。

  c)、重启"SNMP Service"服务,让其设置生效。

  d)、安装SNMP informant-std-16.exe。

  e)、在监控机的cacti的"Devices"里添加新设备,须注意以下设置:

    Description:这里填写服务器的描述信息,即在后面"graphs"显示出来的名字。

    Hostname:这里填被监控的IP地址,如果是内网可以使用计算机名称。

    HostTemplate:这里因为是windows服务器,所以直接选择"Windows 2000/xp Host"。

    SNMP Version:这里选择"Version 2"。

    SNMP Community:这里填刚才在"SNMP Service"的"安全"选项卡里设置的密码,默认是public。

  f)、在填写好以上信息后,点击"Create",如果在左上角看到SNMP Information则表示获取信息成功。

  g)、然后点击右边的"Create Graphs for this Host",全部勾选后,选择"Create"。

  h)、最后在"Devices"里勾选新添加的,然后分别选择"Enable"和"Place on a Tree(Default Tree)"。

注:如果Cacti的流量图界面是乱码,且左边菜单是正常的话,可以查看/usr/share/fonts下面是否有字体,如果没有的话,就从Windows下面随便拷贝一个字体进去,然后执行fc-cache -fv命令即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: