FreeBSD下安装Cacti教程
创始人
2024-07-25 05:20:19
0

Cacti是一套开源的网络监控工具,基于Rrdtool的良好绘图功能,可以完美的监控主机的状态和负载情况,添加相应的模板后,可以用来监控Apache服务器和Mysql服务器的运行状态。本文讲述的是FreeBSD下安装Cacti教程。

FreeBSD下安装cacti教程

以下配置环境为:FreeBSD8.1 Nginx0.8.54 PHP5.2.15 Mysql5.1.54-log

一.首先配置php网站环境

一般采用的lamp(linux,apache,php,mysql),我们这里用的是FreeBSD的系统,web用的是Nginx,平台搭建教程请参考:http://blog.haohtml.com/index.php/archives/1133

二.安装sockets扩展

注意要选择sockets的扩展版本与您所使用的php版本一致,这里我使用的为php5.2.15版本,所以选择了php52-sockets.

  1. #cd /usr/ports/net/php52-sockets  
  2.  
  3. #make install clean  
  4.  

上面的命令会产生一个sockets.so的扩展,系统会自动将一行

  1. extension=sockets.so  
  2.  

信息添加到/usr/local/etc/php/extensions.ini 文件末尾.

如果您确认已经安装过pdo_mysql这个扩展的话,这步可以跳过.

  1. #cd /usr/ports/databases/php5-pdo_mysql  
  2.  
  3. #make install clean  
  4.  

#p#

三、安装rrdtool12

  1. #cd /usr/ports/databases/rrdtool12  
  2.  
  3. #make install clean  
  4.  
  5. #cd /usr/ports/databases/php5-rrdtool  
  6.  
  7. #make install clean  
  8.  

执行上面php5-rrdtool后,会产生一个rrdtool.so扩展,自动添加一行

  1. extension=rrdtool.so  
  2.  

到 /usr/local/etc/php/extensions.ini 文件末尾.

四、安装net-snmp

  1. #cd /usr/ports/net-mgmt/net-snmp/  
  2.  
  3. #make install clean  
  4.  

配置

  1. #cd /usr/local/share/snmp  
  2.  
  3. #cp snmpd.conf.example snmpd.conf  
  4.  

编辑snmpd.conf,在文本最后添加 rocommunity public 一行

或者手动通过命令加入也可以

  1. # echo 'rocommunity public' >> /usr/local/share/snmp/snmpd.conf  
  2.  

启动snmpd服务:

  1. #echo 'snmpd_enable="YES"' >> /etc/rc.conf  
  2.  
  3. # /usr/local/etc/rc.d/snmpd start  
  4.  

通过端号查看服务是否已经安装

  1. # netstat -na | grep "LISTEN"  
  2.  
  3. # sockstat  
  4.  
  5. //199 161 port  
  6.  

可以用动输入以下命令用来查看snmpd服务是否正常

  1. # snmpwalk -v 1 -c public 127.0.0.1 system  
  2.  

#p#

五、编辑开机启动项

  1. vi /etc/rc.conf  
  2.  

在内容尾添加以下几行

  1. snmpd_flags="-a" 
  2.  
  3. snmpd_pidfile="/var/run/snmpd.pid" 
  4.  
  5. snmptrapd_enable="YES" 
  6.  
  7. snmptrapd_flags="-a -p /var/run/snmptrapd.pid" 
  8.  

上面snmpd和snmptrapd两点好像一种是标准写法,一种是缩写方法的。

六、安装cacti

  1. # cd /data/cacti.mytest.com  
  2.  
  3. # fetch http://www.cacti.net/downloads/cacti-0.8.7c.tar.gz  
  4.  
  5. # tar -zxvf cacti-0.8.7c.tar.gz  
  6.  
  7. # cd cacti-0.8.7c  
  8.  

配置cacti

 

  1.  vi ./include/config.php  
  2.  
  3. $database_hostname = "localhost";  
  4.  
  5. $database_username = "cacti"; */mysql中cacti的用户名/*  
  6.  
  7. $database_password = "cacti"; */mysql中cacti用户的密码/*  
  8.  
  9. $database_port = "3389"; */mysql监控端口/*  
  10.  
  11. vi ./include/global.php  
  12.  
  13. $database_hostname = "localhost";  
  14.  
  15. $database_username = "cacti"; */mysql中cacti的用户名/*  
  16.  
  17. $database_password = "cacti"; */mysql中cacti用户的密码/*  
  18.  
  19. $database_port = "3389";  
  20.  

在mysql中配置cacti数据库及cacti用户信息

  1. #mysql -u root -p  
  2.  
  3. mysql>create database cacti default character set utf8;  
  4.  
  5. mysql> use cacti;  
  6.  
  7. mysql> source /data/cacti.mytest.com/cacti-0.8.7c/cacti.sql;  
  8.  
  9. mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';  
  10.  
  11. mysql> flush privileges  

;

现在我们在nginx里创建一个虚拟主机来访问cacti,我们在nginx.conf 配置文件里添加以下配置块:

  1. server {  
  2.  
  3. listen 80;  
  4.  
  5. server_name cacti.mytest.com;  
  6.  
  7. root /data/cacti.mytest.com/cacti-0.8.7c;  
  8.  
  9. location / {  
  10.  
  11. index index.html index.htm index.php;  
  12.  
  13. }  
  14.  
  15. error_page 500 502 503 504 /50x.html;  
  16.  
  17. location = /50x.html {  
  18.  
  19. root /usr/local/www/nginx-dist;  
  20.  
  21. }  
  22.  
  23. # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
  24.  
  25. #  
  26.  
  27. #location ~ \.php$ {  
  28.  
  29. # proxy_pass http://127.0.0.1;  
  30.  
  31. #}  
  32.  
  33. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
  34.  
  35. #  
  36.  
  37. location ~ \.php$ {  
  38.  
  39. fastcgi_pass 127.0.0.1:9000;  
  40.  
  41. fastcgi_index index.php;  
  42.  
  43. fastcgi_param SCRIPT_FILENAME /data/cacti.mytest.com/cacti-0.8.7c$fastcgi_script_name;  
  44.  
  45. include fastcgi_params;  
  46.  
  47. }  
  48.  
  49. # deny access to .htaccess files, if Apache's document root  
  50.  
  51. # concurs with nginx's one  
  52.  
  53. #  
  54.  
  55. #location ~ /\.ht {  
  56.  
  57. # deny all;  
  58.  
  59. #}  
  60.  
  61. }  
  62.  

重启nginx

  1. #/usr/local/etc/rc.d/nginx reload  
  2.  

现在cacti已经完成.在浏览器里输入cacti访问地址就可以看到cacti的安装界面了,这里我们用的域名为 http://cacti.mytest.com.

#p#

七、创建cacti计划任务

为了让系统自动采集一些数据,我们还需要执行下面的一些步骤.

  1. vi /etc/crontab  
  2.  
  3. */5 * * * * cacti /usr/local/bin/php /data/cacti.mytest.com/cacti-0.8.7c/poller.php > /dev/null 2>&1  
  4.  

注意,在FreeBSD系统中,cacti采集数据的时候可能会提示

  1. cat: /proc/meminfo: No such file or directory  
  2.  

类似的错误的,暂时不知道如何解决的

由于刚安装完,没有任何数据信息的,可以通过手动在终端里执行下面的命令即可.

  1. #/usr/local/bin/php /data/cacti.mytest.com/cacti-0.8.7c/poller.php  
  2.  

如果用的webserver为apache,并且启用了open_basedir限制目录功能,open_basedir内容要设置如下:

  1. php_admin_value open_basedir "/data/haohtml.com/cacti/:/var/tmp/:/usr/local/bin/php/:/usr/local/bin/snmpwalk/:/usr/local/bin/snmpbulkwalk/:/usr/local/bin/snmpgetnext/:/usr/local/bin/snmpget/:/usr/local/bin/rrdtool/:/usr/bin/perl/:/usr/local/share/rrdtool/fonts/"  
  2.  

在设置中字体路径为:

  1. /usr/local/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf  
  2.  

相关文章:FreeBSD下用cacti抓取内存信息的方法

高级:安装cacti

注意:0.8.6f以下的版本有SQL注入漏洞

  1. #cd /usr/ports/net/cacti  
  2.  
  3. #make install FORCE_PKG_REGISTER=yes clean ;  
  4.  

因为mysql-client已经装过了,所以需要加上FORCE_PKG_REGISTER=yes

  1. #cd /usr/ports/net/cactid  
  2.  
  3. #make install clean;  
  4.  
  5. #ee /usr/local/etc/cactid.conf  
  6.  
  7. DB_Host localhost  
  8.  
  9. DB_Database cactidb  
  10.  
  11. DB_User cacti  
  12.  
  13. DB_Pass 123456  
  14.  
  15. DB_Port 3306  

【编辑推荐】

修改Cacti中rrd文件大小

Redhat下怎样安装Cacti

用Linux上的cacti去监控windows服务器(图)

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...