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绘图所需的信息。
工作流程图:

准备安装环境
一. 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/
CentOS下安装配置Cacti的更多相关文章
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
- 阿里云服务器centos下安装配置svn服务器
阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion 从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...
- 在CentOS下安装配置MySQL(转)
今天刚把项目做完,需要马上部署到新到的测试服务器上,于是乎,要在服务器上安装环境,由于好久在linux上部署了,手有些生,比较费劲装完,现在把重要步骤贴出,供自己以后参照.1.首先要看看有没有已经安装 ...
- linux、centos下安装配置vim
---恢复内容开始--- 1.一般情况下安装上centos后,会有vi,没有vim(以后可能会有吧) 如果不确定自己有没有vim,使用命令 rpm -qa|grep vim 查看,如果有的话,会显示三 ...
- centos下安装&&配置redis
一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...
- CentOS下安装配置Samba服务器
0 环境介绍 VMWARE12下安装的CENTOS7虚拟机.宿主机为WIN7. 1 离线安装 费了九牛二虎之力,下载各种依赖,还是有问题,转向在线安装. 2 在线安装 虚拟机采用默认的配置: 其次,网 ...
- 在centos 下安装配置基于gitosis 的git 服务
前言 这里我用的系统是centos 6.2, 在服务器上的准备工作(服务器IP为10.0.2.8 ): 1.安装 openssh服务器与客户端工具 $ sudo yum install openssh ...
- CentOS下安装配置SVN服务器并自动同步到web目录
一.安装 yum install subversion测试是否安装成功 /usr/bin/svnserve --version如提示以下内容,说明已安装成功 svnserve,版本 1.6.11 (r ...
- Centos下安装配置WordPress与nginx教程
感谢大佬:https://www.howtoing.com/how-to-install-wordpress-with-nginx-on-centos-6-2 WordPress是一个免费和开源网站和 ...
随机推荐
- Directx 3D编程实例:随机绘制的立体图案旋转
最近朋友建议我写一些关于微软云技术的博客留给学校下一届的学生们看,怕下一届的MSTC断档.于是我也觉的有这个必要. 写了几篇博客之后,我觉得也有必要把这一年的学习内容放在博客做个纪念,就这样写了本篇博 ...
- [置顶] poj1416数字切割解题报告
题意:有一段纸片,就是一个不超过7位数的整数,现在给定你一个目标值 aim ,让你去选择把纸片切成几段,然后这个几段的和值 最接近 aim 且不超过 aim, 分析: 对于这个纸段,比如一个 四位数的 ...
- [PWA] 4. Hijacking Request
We want to do offline first, the first thing we need to do is we should able to catch the browser re ...
- PHP安全编程:会话数据注入 比会话劫持更强大的攻击(转)
一个与会话暴露类似的问题是会话注入.此类攻击是基于你的WEB服务器除了对会话存储目录有读取权限外,还有写入权限.因此,存在着编写一段允许其他用户添加,编辑或删除会话的脚本的可能.下例显示了一个允许用户 ...
- phpcms如何嵌套循环
PHPCMS V9的标签制作以灵活见长,可以自由DIY出个性的数据调用,对于制作有风格有创意的网站模板很好用,今天就介绍一个标签循环嵌套方法,可以实现对PC标签循环调用,代码如下: 在此文件里/php ...
- linux中 vi / vim显示行号或取消行号命令
1. 显示行号 :set number 或者 :set nu 2. 取消行号显示 :set nu! 3. 每次打开都显示行号 修改vi ~/.vimrc 文件,添加:set number
- The builder launch configuration could not be found
Export Wizard Error Errors occurred during the build Problems occured when invoking code from p ...
- 解密-神秘的 RunLoop
引言 一直以来RunLoop就是个神秘的领域,好多2.3年的开发者都不能准确的表述它的作用,说它神秘,其实RunLoop并没有大家想象中的那么神秘,那么不好理解,本文就带大家好好剖析一下”神秘的Run ...
- Android省电开发 浅析
相信对于Android App省电的开发,一切性能优化都可以达到App的省电开发,所以一个省电的Android应用,性能优化占据很重要的位置.除此之外整理了几点关于Android应用省电的开发技巧. ...
- C# 实现文件夹的复制以及删除
代码来源:http://blog.163.com/u_tommy_520/blog/static/20406104420147493933662/ http://www.cnblogs.com/lov ...