cacti监控安装
############################
配置yum源,安装rrdtool
vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
一:yum安装lamp
yum -y install httpd mysql-server php php-mysql mysql-devel rrdtool net-snmp* gd gd-devel freetype
##########################################
二:设置开机启动并启动服务,关闭防火墙 selinux
chkconfig httpd on
chkconfig mysqld on
service httpd start
service mysqld start
service iptables stop
vi /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted
reboot 重启系统使selinux生效
三:安装cacti
############################
下载cacti
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/
#####赋予apache读取权限
chown -R apache:apache /var/www/html/cacti-0.8.8b
#####登录mysql
mysql -uroot
#####创建cacti数据库
create database cacti;
#####建立cacti用户 密码cacti123
insert into mysql.user(host,user,password) values ('localhost','cacti',password('cacti123'));
#####重载mysql授权表
flush privileges;
#####把cacto授权给cacti数据库
grant all on cacti.* to cacti@'localhost' identified by 'cacti123';
cd /var/www/html/cacti-0.8.8b
#####将cacti数据库导入修改网站配置文件,使用正确连接数据库参数
mysql -ucacti -pcacti123 cacti<cacti.sql
vim include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti123";
$database_port = "3306";
#####使用浏览器打开http://192.168.6.186/install/
#####设置cacti数据采集计划任务,每5分钟执行一次php采集脚本,禁止输出
crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
监控插件安装:
常用插件安装
最新版本cacti-0.8.7i-PIA-3.1 集成了plugin架构扩展,所以可以直接开启后就可以安装其他插件
打开“Console”-----“User Management”---“admin”――“Realm Permissions”,选择以下后,单保存”save”
1:Monitor安装(以图形方式显示设备状态)
tar zxvf monitor-v1.3-1.tgz
mv monitor /var/www/html/cacti/plugins/monitor
cd /var/www/html/plugins/monitor/
导入数据库
mysql -ucacti �Cpcacti123 cacti<monitor.sql
打开Cacti的web页面“Plugin Management”激活插件
2:Setting安装(用于邮件报警)
tar zxvf settings-v0.71-1.tgz
mv settings /var/www/html/plugins
打开Cacti的web页面“Plugin Management”激活插件
3:Thold安装(用于设备异常预警、阀值报警)
tar zxvf thold-v0.4.9-3.tgz
mv thold /var/www/html/plugins/
打开Cacti的web页面“Plugin Management”激活插件
四:监控windows客户端
第1步:要在被监控的Windows系统上安装SNMP组件,通过“添加/删除面板”中的“添加/删除组件”安装
选择wmi snmp和简单网络协议
安装完成后打开系统服务,双击snmp service服务 ,选择安全,添加public 只读 ,主机填写cacti服务器ip
重启snmp service 服务
二、登录cacti服务器,进行相关的配置
添加一个图形目录树(Graph tree),默认只有一个名为"Default tree"的图形目录树
选择 "Graph Trees" -> "Add" -> 然后填入一个名称
选择 "Devices" -> "ADD"(右上角)->然后进行相关的设置
选择 "Device" -> 点击"mypc" -> "Create Graphs fro this Host"(右上角),然后选择要被图示的监视项目,以及颜色选择
把刚创建主机的图像,放入到一个图像目录树中(以便归类区分)
选择 “Devices" -> "mypc"(打勾) -> "Choose an action"(右下角) -> "Place on a tree(Windows computer)"
选择 "choose" -> "graphs" -> "windows computer",就可以看到图形数据
无法显示图像,全局显示nan,执行以下命令
vi /etc/snmp/snmpd.conf
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
把如上两行中其中一行改为
view all include .1 80
#############################################
access notConfigGroup "" any noauth exact systemview none none
把systemview改为all
###############################################
手动运行php采集脚本
/usr/bin/php /var/www/html/cacti/poller.php --force
赋予执行权限
chmod a+x /var/www/html/cacti/cmd.php
cacti优化
1:进程调整
对于进程和线程的调整有利于缩短采集时间,可以进行大量的采集。在CU论坛上看有人说cacti能够同时采集1k服务,这样的性能没有测试过,但是有人测试过同时采集200台服务器的,占用的内容只有几百兆,cpu的利用率也很低,说明一台的普通的机器排除网络链路延时采集的性能是相当强悍的
(最大并发轮询器进程),修改该值
Settings -> Poller -> "Maximum Concurrent Poller Processes"
(每进程最大线程数),修改该值
Settings -> Poller -> "Maximum Threads per Process"
(PHP脚本服务程序数),修改该值
Settings -> Poller -> "Number of PHP Script Servers"
通过修改这三个参数,可以提高一部分的性能
2:增加php 的内存使用的上限值
vi /etc/php.ini
(预设是128MB,根据内存的使用情况,可以改大一点)
memory_limit = 256M
3:定期 optimize cacti 数据库
cacti 的 poller_output 会不明原因的长大,大到数据越写越慢,直到无法更新。每隔一段时间手动 “Truncate poller_output table” 后,就会继续正常运作;所以我们可以利用crontab定期清除数据
crontab -e
0 0 * * 0 root /usr/local/mysql/bin/mysql --user=cacti --password=2010 cacti -e ‘truncate table poller_output;’
4:修改mysql的最大连接数
一般默认安装的时候没有调整最大连接数的话,当需要并发量的时候可以出图就会断断续续的
mysql> set GLOBAL max_connections=200000;
或者修改my.cnf配置文件
vi /etc/my.cfg
添加
max_connections = 200000;
5:让Cacti使用Spine插件,并进行相关设置
访问:http://192.168.6.186/cacti
Settings -> Paths -> "Spine Poller File Path" -> spine程序的位置
Settings -> Poller -> "Poller Type" -> spine
完成这些设置后,Cacti将会每5分钟执行一次Spine,来代替原来的cmd.php
###############################
下载安装spine插件
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
tar xvzf cacti-spine-0.8.7g.tar.gz
cd cacti-spine-0.8.7g
./configure
make
make install
默认安装在/usr/local/spine/目录下
编辑spine.conf文件,设置Cacti数据的连接信息
cd /usr/local/spine/etc/
DB_Host localhost # 主机地址
DB_Database cacti # 数据库
DB_User cactiuser # 数据库用户
DB_Pass cactiuser # 数据库连接密码
DB_Port 3306 # 数据库连接端口
DB_PreG 0 # 全新安装填0,如果是兼容安装填1