cacti (rrdtool是画图工具,)监控网设备占优势。

nagios 直观一目了然,可以自已写脚本,但是不支持历史数据的查看。

zabbix,功能丰富。


安装 cacti服务端  #楼主的系统是centenOS 6 

首先现在如下rpm包,然后安装对应的rpm包  epel源
centos5 32位epel源下载地址: www.lishiming.net/data/p_w_upload/forum/epel-release-5-4_32.noarch.rpm
64位下载地址:  www.lishiming.net/data/p_w_upload/forum/epel-release-5-4_64.noarch.rpm


centos6
32位epel yum源下载地址: www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm 
64位下载地址: www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_64.noarch.rpm 


2. (lamp)然后分别安装httpd、php、mysql  #搭建LAMP 的环境 (LAMP 环境搭建参见前面)
yum install -y  httpd php php-mysql mysql mysql-server mysql-devel php-gd  libjpeg libjpeg-devel libpng libpng-devel 


3. 安装cacti  net-snmp  rrdtool 
yum install -y cacti  net-snmp  net-snmp-utils  rrdtool 

[root@OBird ~]# yum install -y cacti  net-snmp  net-snmp-utils  rrdtool 


4. 启动服务:
[root@OBird ~]/etc/init.d/mysqld start
[root@OBird ~]/etc/init.d/httpd  start
[root@OBird ~]/etc/init.d/snmpd start


说明:由于前面安装过LNMP,用yum安装LNMP后启动httpd出问题
error1:Could not reliably determine the server's fully qualified domain name 
原因:这是在/etc/httpd/conf/httpd.conf中确实对主机端口的指定
解决办法:vim /etc/httpd/conf/httpd.conf 增加一条 ServerName localhost:80
error2:(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 
原因:80端口被占用
解决办法:netstat -lnp |grep 80 ;发现nginx占用80端口,使用kill -9 PID 结果nginx重启了,使用killall nginx杀死成功。/etc/init.d/httpd start   ok


Linux 之cacti 监控介绍_监控介绍--------------------------------------------------------------------

[root@OBird ~]# vim /etc/httpd/conf.d/cacti.conf #编辑配置文件。使apache能访问cacti web页面


                               把"Deny from all" 改为  "Allow from all"。如果不改会访问403


[root@OBird ~]# /etc/init.d/httpd restart  #重启apache 服务

Stopping httpd:                                            [  OK  ]

Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 10.72.4.39 for ServerName

                                                           [  OK  ]


[root@OBird ~]# mysql -uroot  -pzaq12wsx       #进入数据库,LAMP 

                mysql> create database cacti;  #创建数据库 cacti ;

                mysql> show databases;

                mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti'; 

                     #设置数据库权限,用户名&密码 .cacti.* 表示所有的示,用户名和密码一样

                       生产环境中不建议这样设置密码。

Linux 之cacti 监控介绍_Linux_02


导入sql文件  (注意文件路径不要错了)

[root@OBird ~]# mysql -uroot -pzaq12wsx cacti <  /usr/share/doc/cacti-0.8.8h/cacti.sql


[root@OBird ~]# vim /usr/share/cacti/include/config.php #编辑cacti的配置文伯


/* make sure these values refect your actual database/host/user/password */

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "127.0.0.1"; #localhost更改为 127.0.0.1

$database_username = "cacti";     #更改为cacti,前面设置的

$database_password = "cacti";     #更改为cacti

$database_port = "3306";

$database_ssl = false;

楼主localhost没有改出了个小插曲:

Linux 之cacti 监控介绍_监控介绍_03

更改后出现cacti 的安装界面:

使用IE访问:10.72.4.39/cacti

第一步 :点击“NEXT”

Linux 之cacti 监控介绍_监控介绍_04

第二步:选择全新安装

Linux 之cacti 监控介绍_监控介绍_05

第三步:路径保持黙认,点击finish 完成。

Linux 之cacti 监控介绍_监控介绍_06


第四步进入黙认登录页面:

输入黙认的帐户密码,会提示更改。admin:zaq12wsx

Linux 之cacti 监控介绍_Linux_07Linux 之cacti 监控介绍_cacti _08

点击: graphs

Linux 之cacti 监控介绍_cacti _09


执行poller.php, 生成图形, 加入计划任务

[root@OBird ~]# /usr/bin/php /usr/share/cacti/poller.php

  #/usr/bin/php /usr/share/cacti/poller.php添加cron任务

#执行poller.php 会有报错,因为我们没有设置  “timezone


PHP Warning:  strtotime(): It is not safe to rely on the system's timezone settings.


[root@OBird ~]# vim /etc/php.ini  #设置 timezome = Asia/Chongqing 


[root@OBird ~]# /usr/bin/php /usr/share/cacti/poller.php  #再次执行,就不会有警告


[root@OBird ~]# crontab -e  #加入任务计划。每5分钟执行一次


*/5 * * * *  /usr/bin/php /usr/share/cacti/poller.php


Linux 之cacti 监控介绍_Linux_105分钟这后可以看到各种数据

Linux 之cacti 监控介绍_Linux_11


-----------------------------------分割线-----------------------------------

安装客户端(增加一个linux服务器)


[root@LNMP ~]# yum install -y net-snmp #安装 net-snmp 


[root@LNMP ~]# vim /etc/snmp/snmpd.conf #编辑snmpd.conf 配置文件


#syslocation Unknown (edit /etc/snmp/snmpd.conf)

#syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

更改以上为以下

syslocation OBird.LNMP #此处自定义

syscontact Root 123321@.1212.com  #管理员邮箱


[root@LNMP ~]# service snmpd start  #启动snmpd 服务

Starting snmpd:                                            [  OK  ]


[root@OBird ~]# netstat -lnp | grep 161  #查看服务端口是否启动

udp        0      0 0.0.0.0:161                 0.0.0.0:*                               3298/snmpd     


selinux 记的要关闭。
Iptables 记得要开启udp161端口,当然直接关闭iptables也是可以的。


vi/etc/sysconfig/iptables #编辑防火墙配置(centos 6)
-AINPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT


在网页端设置添加客户端 ,参照以下步骤设置,最后点击右下角 "Create "

Linux 之cacti 监控介绍_Linux_12Linux 之cacti 监控介绍_监控介绍_13创建监测的数据:

Linux 之cacti 监控介绍_Linux_14

Linux 之cacti 监控介绍_Linux_15Linux 之cacti 监控介绍_Linux_16

添加另一台linux _LNMP 到localhost

Linux 之cacti 监控介绍_cacti _17Linux 之cacti 监控介绍_cacti _18Linux 之cacti 监控介绍_cacti _19


---------------------------------------------------

在网上查寻到要更改以下设置:才能看到被监控的客户端。

[root@LNMP ~]# vim /etc/snmp/snmpd.conf 

1. 查找以下字段

#       sec.name  source          community

com2sec notConfigUser  10.72.4.39       public


将"comunity"字段改为你要设置的密码.比如"public".
将“default”改为你想哪台机器可以看到你的snmp信息,如10.72.4.39(服务端的IP)
2. 查找以下字段:

#       group          context sec.model sec.level prefix read   write  notif

#access  notConfigGroup ""      any       noauth    exact  systemview none none

access  notConfigGroup ""      any       noauth    exact  all none none

#将"read"字段值改为all.



查找以下字段:

## incl/excl subtree mask

#view all included .1 80   # 将该行前面的"#"去掉. 保存关闭.


Linux 之cacti 监控介绍_cacti _20