分类: LINUX
2008-05-28 17:11:31
Cacti+ Cactid+rrdtool+SNMP实现监控
(1) CPU 平均负载 (2) Memory内存使用情况
(3) 硬盘空间使用情况 (4) network流量,
官司方站
服务端
yum –y install net-snmp*
yum –y install php-snmp
yum –y install php-mbstring
yum –y install gd*
yum –y install libart*
yum –y install mysql-devel
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
1、查找以下字段:
sec.name source community
com2sec notConfigUser default public
将"comunity"字段改为你要设置的密码.比如"public".
将“default”改为你想哪台机器可以看到你的snmp信息,如
服务端改为127.0.0.1
2、查找以下字段:
# 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 all none none
将"read"字段改为all.
3、查找以下字段:
# incl/excl subtree mask
#view all included .1 80
将该行前面的"#"去掉.
保存关闭.
4、setup èsystem serviceè选取 [*] snmpd [*] snmptrapd 开机启动
service snmpd start
service snmpdtrapd start
最后运行netstat -ln查看161端口是否打开了.
vi /etc/sysconfig/iptables 服端可以不用设定
-A RH-Firewall-1-INPUT -p udp -m udp --dport 161 -j DROP
-A RH-Firewall-1-INPUT -p udp --dport 161 -d 127.0.0.1-j ACCEPT
xx.xx.xx.xx 服务端的IP地址, 这意思是该端口只允许这IP通过,
1.编译rrdtool
把rrdtool包放到这个目录下:cd /usr/local/src/
tar -zxvf rrdtool-
cd rrdtool-
./configure --prefix=/usr/local/rrdtool
make
make install
2.安装cacti
把cacti放到apache2的web目录下cd /var/www/
tar xzvf cacti-
mv /root/snmp/cacti-
cd /var/www/cacti
然后创建cacti数据库:
mysql -u root -p
create database cacti;
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'sky-Cacti';
flush privileges;
quit
导入cacti的表结构:
mysql cacti < cacti.sql #导入
3.设置cacti
编辑数据库连接文件vi /var/www/cacti/include/config.php
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuse”;
$database_password = “sky-Cacti”;
给cacti的数据抓取添加一个定时job:
为cactiuser用户加入
vi /etc/crontab
*/5 * * * * cactiuser php /var/www/cacti/poller.php > /dev/null 2>&1
保存退出
vi /etc/httpd/conf/httpd.conf
add
Alias /cacti/ "/var/www/cacti/"
Options Indexes MultiViews
AllowOverride None
Allow from all
service httpd restart
4.cacti的web配置
安装页面的第一步如果是全新安装的话,就直接下一步.
第二页上可能出现有binary找不到的提示信息:
这是由于服务器没有找到我们全新编译的rrdtool,这时手动修改一下位置就ok了:
/usr/local/rrdtool/bin/rrdtool
回到主机添加如下权限
cd /var/www/cacti
useradd -s /bin/nologin cactiuser
chown -R cactiuser rra log
5.安装cactid
tar -zxvf cacti-cactid-
cd cacti-cactid-
./configure
make && make install
6设置
vi /etc/cactid.conf
DB_Host localhost
DB_Database cacti #数据库名
DB_User cactiuser #连接数据用户
DB_Pass sky-Cacti #密码
DB_Port 3306
选取 Paths è在Cactid poller File Path 输入è/usr/local/cactid/bin/cactid
èsave
èsave
窗体底端
7、排错
1. 首先检查一下rra/下面,有没有数据
2. snmpwalk -v
3. snmpwalk -v
4. /usr/local/bin/php /usr/local/apche2/htdocs/cacti/poller.php 用来测试PHP是否可以采集到数据。如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux。
5. 如果按第2步snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改PHP.ini,很有可能是PHP权限问题。
6. 创建监控后,没有图表标示,1权限是否正确,2上面提到的5分钟刷新是否加入,
也可以手工运行php /var/www/cacti/poller.php
上面的安装比较麻烦,需要装不少库,其实,可以,可以直接RPM安装,RedHat的系统,直接从安装光盘上找到这几个库,安装就可.主要的包有:
libart_lgpl
libart_lgpl-devel
libpng
libpng-devel
zlib
zlib-devel
freetype
freetype-devel
找到上面这些包,直接rpm –ivh *.rpm
8添加监控server
è Create èNew Graphsè右边 Create New Hotè
注意选取类型,LINUX的操作系统的主机è选取(Local Linux Machine)
Windows主机操作系统主机è选取(Windows 2000/XP Host) 也支持2003的
交换机选取èucd/net SNMP Host
Snmp Community 一般情况下填写 public
è创建后如果正常通接到主机,显示如下:
sky (192.168.18.198) | |
SNMP Information |
|
Associated Graph Templatesè 添加如下
添加监控
è Create èNew Graphs è在下拉例表中,选取服务器地址è
添加有提示要修改颜色等,默认即可以直接添加CREATE
到这里添加完成了,5分钟后看结果
9查看结果
GraphsèFitter by host (选取你要检查看的server)è点击图表进入详细图表.
10修改编辑设定
è Create èNew Graphsè在下拉例表中,选取服务器地址èEdis thist Host=》这里可以更改设定