rrdtool php 绘图,Cacti+rrdtool+SNMP实现监控

本文档详述了如何使用Cacti、RRDTool和SNMP来监控服务器的CPU负载、内存使用、硬盘空间和网络流量。步骤包括配置SNMP服务、安装RRDTool、部署Cacti、设置数据库连接以及排错。此外,还提供了针对FreeBSD系统的SNMP安装方法。整个过程涉及多个库的安装、配置文件修改和权限设定,适合系统管理员参考。
摘要由CSDN通过智能技术生成

Cacti+rrdtool+SNMP实现监控

Cacti+rrdtool+SNMP实现监控

(1) CPU 平均负载                (2) Memory内存使用情况

(3) 硬盘空间使用情况                (4) network流量,

Rrdtool 新操作系统版本已经改为mdadm =rrdtool

http://oss.oetiker.ch/rrdtool/pub/

官司方站 http://www.cacti.net/

到官方网站下载最新版本

服务端

yum -y install net-snmp*

yum -y install php-snmp php-mbstring zlib* libart_lgpl* freetype* libpng* php-ftp php-gd php-ctype php-date php-libxml php-mysql php-zlib mysql-devel libgda-mysql zlib zlib-devel

打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:

1、查找以下字段:

sec.name  source          community

com2sec notConfigUser  default       public

将"comunity"字段改为你要设置的密码.比如"public".

将“default”改为你想哪台机器可以看到你的snmp信息,如10.10.10.10。

服务端改为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-1.2.26.tar.gz

cd rrdtool-1.2.26

./configure --prefix=/usr/local/rrdtool

make

make install

2.安装cacti

把cacti放到apache2的web目录下cd /var/www/

tar xzvf cacti-0.8.7a.tar.gz

mv /root/snmp/cacti-0.8.7a /var/www/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”;

回到主机添加如下权限

useradd cactiuser –s /bin/nologin

cd /var/www/cacti

chown -R cactiuser:cactiuser rra log

给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配置

http://XX.XX.XX.XX/cacti/

安装页面的第一步如果是全新安装的话,就直接下一步.

第二页上可能出现有binary找不到的提示信息:

这是由于服务器没有找到我们全新编译的rrdtool,这时手动修改一下位置就ok了:

/usr/local/rrdtool/bin/rrdtool

5.安装cactid

tar -zxvf cacti-spine-0.8.7a.tar.gz

cd cacti-spine-0.8.7a

./configure

make && make install

configure: error: MySQL libraries not found.

解决办法: vi configure

Line 5409: str="$i/lib/mysql/libmysqlclient.*"

改为 : str="$i/lib64/mysql/libmysqlclient.*"

Line 5412: MYSQL_LIB_DIR=$i/lib/mysql

改为 MYSQL_LIB_DIR=$i/lib64/mysql

6设置

vi  /usr/local/spine/etc/spine.conf

DB_Host         localhost

DB_Database     cacti  #数据库名

DB_User         cactiuser #连接数据用户

DB_Pass         sky-Cacti  #密码

DB_Port         3306

http://XX.XX.XX.XX/cacti/

 

选取 Paths 在Cactid poller File Path 输入/usr/local/cactid/bin/cactid (新版本输入 /usr/local/spine/bin/spine)

save

 

save

窗体底端

7、排错

1. 首先检查一下rra/下面,有没有数据

2. snmpwalk -v 2c -c public ServerIP if 用来测试被控对象(serverIP)是否开启了SNMP服务

3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU负载的数据返回

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

Console  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

System: Linux localhost.SKY 2.6.18-8.el5 #1 SMP Thu Mar 15 19:57:35 EDT 2007 i686

Uptime: 449371 (0 days, 1 hours, 14 minutes)

Hostname: localhost.SKY

Location: Unknown (edit /etc/snmp/snmpd.conf)

Contact: Root root@localhost (configure /etc/snmp/snmp.local.conf)

Associated Graph Templates 添加如下

添加监控

Console  Create New Graphs 在下拉例表中,选取服务器地址

添加有提示要修改颜色等,默认即可以直接添加CREATE

到这里添加完成了,5分钟后看结果

9查看结果

GraphsFitter by host (选取你要检查看的server)点击图表进入详细图表.

10修改编辑设定

Console  Create New Graphs在下拉例表中,选取服务器地址Edis thist Host=》这里可以更改设定

FreeBSD安装SNMP

cd /usr/ports/net-mgmt/net-snmp #snmp的存放路径

make install clean #安装snmp

vi /etc/rc.conf

snmpd_enable="YES"

snmpd_flags="-a -p /var/run/snmpd.pid"

snmptrapd_enable="YES"

snmptrapd_flags="-a -p /var/run/snmptrapd.pid"

mkdir /usr/local/etc/snmp

cp /usr/local/share/snmp/snmpd.conf /usr/local/etc/snmp/

vi /usr/local/etc/snmp/snmpd.conf #按LINUX方法修改

如果没有snmpd.conf这文件,也可以在LINUX主机拷贝过来。

/usr/local/etc/rc.d/snmpd.sh start #启动snmp

rar.gif Cacti+rrdtool+SNMP-server.rar (427.91 KB)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值