Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1366007
  • 博文数量: 243
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 2955
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-05 14:33
个人简介

漫漫长路,其修远兮!

文章分类

全部博文(243)

文章存档

2017年(2)

2016年(22)

2015年(32)

2014年(57)

2013年(107)

2012年(23)

分类: 系统运维

2013-04-03 14:25:49

一.基本概念
cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
cacti=php+mysql+snmp+rrdtool
rrdtool:Round Robin Database Tool
snmp:简单网络管理协议

二.安装配置
 
1)在主监控服务器上安装apache+php+gdLAMP环境,推荐编译安装。(可以用yum安装)

[root@cacti ~]#yum install httpd mysql mysql-server mysql-devel php php-pdo php-mysql perl-DBD-MySQL net-snmp*

2)在主监控服务器Rrdtool安装需要cairolibxml2pango库支持,可通过yum安装

[root@cacti ~]# yum -y install cairo-devel libxml2-devel pango-devel

[root@cacti ~]# yum -y install rrdtool*// cacti用来保存数据及绘图形的工具

3)编辑snmp配置文件

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

查找以下字段:

#将下边这行中的default

com2secnotConfigUserdefault       public

#将“default”改为监控主机IP地址:127.0.0.110.1.1.160

com2secnotConfigUser127.0.0.1       public

#将下边这行中的systemview

access  notConfigGroup ""      any       noauth    exact  systemview none none

#改为:all

access  notConfigGroup ""      any       noauth    exact  all none none

#将下边这行的注释“#”去掉

view all    included  .1          80

:wq

重启snmpd服务

[root@cacti ~]# services nmpd restart

停止snmpd                                               [确定]

正在启动snmpd                                           [确定]

[root@cacti ~]# chkconfig snmpd on

4)安装cacti

[root@cacti ~]# cd/var/www/html

[root@cacti html]# mkdir cacti

[root@cacti html]# ll

total 4

drwxr-xr-x 13 root root 4096 Mar 26 06:50 cacti

[root@cacti ~]# tar-zxvf cacti-0.8.8a.tar.gz

[root@cacti ~]# mv cacti-0.8.8a/* /var/www/html/cacti

[root@cacti ~]# useradd cacti

[root@cacti ~]# chown-Rcacti /var/www/html/cacti

[root@cacti ~]# chmod-R 775 /var/www/html/cacti

[root@server html]# ll

total 4

drwxrwxr-x 13 cacti root 4096 Mar 26 06:50 cacti

5)在数据库中建库、授权、导入数据库结构

#注意导入cacti.sql时该文件的路径

[root@cacti ~]# cd /var/www/html/cacti/

[root@cacti cacti]# servicemysqld restart

[root@cacti cacti]# chkconfigmysqld on

[root@cacti cacti]# mysql //连接到mysql创建数据库,默认root密码为空

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

mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;//把数据库cacti授权于用户cacti

mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option;//把数据库cacti授权于用户cacti

myslq> use cacti;//提示“Database changed”即可

myslq>source /var/www/html/cacti/cacti.sql;//cacti数据库结构导入到cacti数据库中

mysql> \q

配置cacti连接数据库

[root@cacti cacti]# vim /var/www/html/cacti/include/config.php

修改如下:

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

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "cacti";

$database_port = "3306";

:wq

[root@cacti cacti]# service httpd restart //重启httpd

[root@cacti cacti]# chkconfighttpd on //设置开机启动httpd

开启/关闭防火墙有3种:

1. [root@cacti ~]# vim /etc/sysconfig/iptables//添加httpd:80snmp:161端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport80 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport161 -j ACCEPT

[root@cacti ~]# service iptables restart//开启防火墙,重启后生效。

2.[root@cacti ~]# chkconfigiptables off //关闭防火墙,重启后生效。

3.[root@server ~]#iptables–F            //临时生效,不需要重启

SELINUX关闭有2种:

1.[root@cacti ~]#vim /etc/selinux/config

修改如下:

SELINUX=enforcing//修改为:SELINUX=disabled

重启:

[root@cacti ~]# reboot//重启后永久生效

2.[root@cacti ~]# setenforce 0//临时关闭,即时生效

注意:#setenforce 0如果不关闭会出现很多问题,如访问不了,没有权限等游览器

6)浏览器下配置

#浏览器打开:http://服务器IP/cacti;

#Cacti 默认的用户名与密码是:admin,输入用户名与密码,点击:login

#为了安全的原因,第一次登录成功后,Cacti会强制要求更改新password,输入新密码并确认密码,点击“save,进入cacti控制台界面;

#点击“Next

#选择“New Install,点击“Next

#确定 rrdtool  php  snmp  工具的Binary文件路径,确保所有的路径都是显示“FOUND,没有NOT FOUND”的,点击“Finish”完成安装。

7)增加入一个任务计划,使Cacti5分钟生成一个监控图表。

[root@cacti ~]# crontab -ecrontab-ucacti-e

加入以下内容,注意:poller.php的路径

#监控任务计划,Cacti5分钟更新监控

*/5 * * * * php /var/www/html/cacti/poller.php> /dev/null 2>&1

#确保 /var/www/html/cacti/rra/目录存在;

#如果暂时未看到图表,可以手工执行,生存图表

[ ~]#php /var/www/html/cacti/poller.php

[root@cacti ~]# tail /var/log/httpd/error_log//查看日

[root@cacti ~]# tail /var/log/messages//查看日志

测试SNMP

[root@cacti ~]#snmpwalk -v 2c -c public 0.0.0.0  //被监控端IP地址

阅读(1163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~