CentOS下安装配置Cacti

cacti简介

随着公司规模扩大,服务器也日渐增多,对服务器集群的网络流量和服务器性能实时监测显得愈发重要。开源阵营中常用有MRTG(MultiRouter Traffic Grapher)--基于SNMP的网络流量统计分析工具。它通过SNMP协议从设备得到并记录网卡信息,并将流量负载以图形的方式显示出来,系统负载小,使用方便。不过,由于MRTG存在诸多缺点,其作者Tobias Oetiker在1999年就已经开始开发另一套开源软件RRDTool来代替MRTG。,但是RRDTool的主要作用是数据的存储和将数据绘画成图像。要实现数据的采集和管理,需要通过cacti辅助RRDTool。

cacti是用PHP语言开发的一套完全面向RRDTool的B/S系统,它用SNMP服务获取数据,然后用RRDTool储存和更新数据并生成详细图表呈现给用户。cacti通过Mysql存储了所有RRDTool创建图像需要用到的信息以及管理信息,如:主机名、主机ip、snmp团体名、端口号、模板信息等。注意:SNMP抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

服务器实时监控系统架构及工作流程

整个监控系统主要由四部分组成:

1、Cacti系统——用户控制的平台,用户在此进行所有的设置与查看图表。当然Cacti也需要WEB服务器如Apache和PHP环境的支持;

2、SNMP采集工具--Unix下使用 Net-SNMP软件包自带的"snmpget"和"snmpwalk"等程序,windows下使用php的snmp功能;

3、RRDTool绘图引擎--性能数据的存储和绘画图像;

4、MySQL数据库--储存RRDTool绘图所需的信息。

工作流程图:

CentOS/安装/Cacti

 准备安装环境

一. LAMP (如果你的LAMP正常工作,那么可跳过这一步)
1. 安装LAMP
# yum install httpd mysql mysql-server php php-mysql

2. 配置Apache
# vim /etc/hosts // 检查主机名
127.0.0.1 localhost.localdomain localhost

# vim /etc/httpd/conf/httpd.conf // 修改配置文件
ServerName localhost:80

3. 启动WWW,测试PHP
# /etc/init.d/httpd start // 立即启动
# /etc/init.d/httpd configtest // 测试设定档语法
# chkconfig httpd on // 设置开机启动
# netstat -tulnp | grep httpd // 查看启动端口
# tail /var/log/httpd/error_log // 查看httpd日志

在浏览器输入: http://你的主机IP 查看Apache页面
# vim /var/www/html/phpinfo.php // 在WWW目录建立PHP文件,添加下面内容,测试PHP
<?php phpinfo (); ?>
在浏览器输入: http://你的主机IP/phpinfo.php 查看PHP信息

4. 配置MYSQL
# /etc/init.d/mysqld start // 启动 mysql
# chkconfig mysqld on // 设置开机启动
# netstat -tulnp | grep mysql // 查看端口情况
# mysqladmin -uroot password '123456' // 给root 设置密码
# mysqladmin --user=root --password reload

# mysql -uroot -p123456 // 进入 mysql
mysql> quit

5. 如果你的PHP无法解析文档,那就重装LAMP吧
卸载软件包: httpd
# rpm -qa | grep httpd //查看httpd相关软件包
httpd-2.2.3-63.el5.centos

# rpm -e httpd-2.2.3-63.el5.centos --nodeps //卸载软件包,--nodeps 如果有连带关系,也强制卸载
# cd /etc/httpd/
# rm -rf * // 删除原有httpd文件
php , mysql 卸载方法同上, 然后新安装LAMP
------------------------------------------ END LAMP ---------------------------------------

二、安装cacti所需环境
1. 安装rrdtool
# yum install rrdtool -y

2. 安装net-snmp
# yum install net-snmp net-snmp-libs net-snmp-utils
# vi /etc/snmp/snmpd.conf // 配置 snmpd.conf
view systemview included .1.3.6.1.2.1.1
改为:
view systemview included .1.3.6.1.2.1

# service snmpd start // 启动 snmpd 服务
# snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1.0 // 测试net-snmp
SNMPv2-MIB::sysDescr.0 = STRING: Linux cronos 2.4.28 #2 SMP ven jan 14 14:12:01 CET 2005 i686

三.安装配置Cacti
1. 获取并解压缩Cacti文件

# cd /tmp
# wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
# tar -zxvf cacti-0.8.8b.tar.gz
# mv cacti-0.8.8b /var/www/html/cacti //将它放到WWW目录并改名
2. 创建Cacti数据库并建立访问帐号
# mysql -uroot -p123456
mysql> create database cacti;
mysql> grant all on cacti.* to root;
mysql> grant all on cacti.* to root@localhost;
mysql> grant all on cacti.* to cactiuser;
mysql> grant all on cacti.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('cactiuser');
mysql> quit

3. 导入Cacti数据库 , 创建用户并赋予权限
# cd /var/www/html/cacti
# mysql -uroot -p123456 cacti < cacti.sql
# useradd cactiuser -d /var/www/html/cacti -s /bin/false
# chown –R cactiuser /var/www/html/cacti/rra /var/www/html/cacti/log

4. 配置cacti数据库连接
# vim /var/www/html/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";

# vim /var/www/html/cacti/include/global.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";

5. 修改文件目录属性
chown -R root.root *

6. 建立调度任务
crontab –e
*/5 * * * * php /var/www/html/cacti/poller.php >/dev/null 2>&1

四.初始化
1. 登陆 http://localhost/cacti 访问cacti管理页面

由于开启了SeLinux导致权限问题
You don't have permission to access /cacti on this server.
因此,我们需要关闭 Selinux
1).查看SELinux状态:
# /usr/sbin/sestatus -v // 如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
# getenforce //也可以用这个命令检查
2).关闭SELinux:
a、临时关闭(不用重启机器):
# setenforce 0 // 设置SELinux 成为permissive模式 (关闭SELinux)
# setenforce 1 // 设置SELinux 成为enforcing模式 (开启SELinux)
b、修改配置文件需要重启机器:
# vi /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
重启机器即可reboot
3). 如果上面方法不行,我们还可以编辑cacti.conf
# vi /etc/httpd/conf.d/cacti.conf // 如果不存在,我们就手工创建一个,并加入下面代码
Alias /cacti "/var/www/html/cacti"
<Location "/cacti">
Order Deny,Allow
# Deny from all
Allow from 127.0.0.1
Allow from ::1
Options Indexes Includes FollowSymLinks
</Location>
# These directories do not require access over HTTP
#
<Directory "/var/www/html/cacti">
AllowOverride Limit
Options FollowSymLinks
</Directory>

2.选择全新安装
3.指定路径
4.默认登陆:用户 admin 密码:admin,强制更该密码
5. 检查相关软件路径
1)Settings—Paths路径
2)Settings—General—Required Tool Versions 选择 rrdtool 1.3.x
然后保存,此时便可以在Graphs 中看到localhost的图标。
到此,cacti安装完毕。

PS: 安装完后,使用的时候又有一堆问题, 直到后来百度了一下,发现了这个东西
CactiEZ:http://www.cngr.cn/dir/216/339/2013012092768.html

转载来源于:http://os.51cto.com/art/201104/252883.htm

转载来源于:http://fmcpu.blog.163.com/blog/static/17603638820137154212424/

原文地址:https://www.cnblogs.com/guoyongrong/p/3341003.html