Cacti做为当今天运维人员的主流监控工具已经应该很广泛了,下面我就来把我的安装步骤罗列如下;
(1).Cacti安装之前要准备Linx平台下的Web架构;
(2).Linux下的Web搭建的方法如下;
[root@Monitor-Cacti ~]# yum -y install httpd mysql-server php php-mysql gd net-snmp php-snmp net- snmp-utils net-snmp-devel mysql-devel openssl-devel
[root@Monitor-Cacti Desktop]# rpm -ivh epel-release-5-4.noarch.rpm
[root@Monitor-Cacti Desktop]#yum -y install rrdtool ——————Cacti的绘图软件,一般如果要是Cacti不出图的原因大多数是因为rrdtool的问题。
[root@Monitor-Cacti Desktop]#chkconfig httpd on
[root@Monitor-Cacti Desktop]#chkconfig mysqld on
[root@Monitor-Cacti Desktop]#chkconfig snmpd on
起动以下服务;
[root@Monitor-Cacti Desktop]#/etc/init.d/httpd start
[root@Monitor-Cacti Desktop]#/etc/init.d/mysqld start
[root@Monitor-Cacti Desktop]#/etc/init.d/snmpd start
[root@Monitor-Cacti Desktop]#cp cacti-0.8.7e-cn-utf8.tar.gz /var/www/html/
[root@Monitor-Cacti Desktop]#cd /var/www/html
[root@Monitor-Cacti html]#tar zxvf cacti-0.8.7e-cn-utf8.tar.gz
[root@Monitor-Cacti html]#mv zxvf cacti-0.8.7e-cn-utf8 cacti
[root@Monitor-Cacti html]#cd cacti
[root@Monitor-Cacti cacti]#vim 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";
保存退出;
===========================================================================================
修改apache配置文件:
[root@Monitor-Cacti Desktop]#vim /etc/httpd/conf/httpd.conf 修改如下两行
DocumentRoot "/var/www/html/cacti/"
<Directory "/var/www/html/cacti/">
修改apache以下两行;
DirectoryIndex index.php index.html index.html.var
AddType application/x-httpd-php .php (以上两行是为了支持php的)
===========================================================================================
[root@Monitor-Cacti Desktop]#vim /etc/httpd/conf.d/cacti.conf 内容如下(cacti.conf配置文件是没有的要自己创建一个cacti.conf)
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
DirectoryIndex index.php
AllowOverride all
order deny,allow
allow from all
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>
保存退出
===========================================================================================
然后进入Mysql后创建cacti用户表以及权限
[root@Monitor-Cacti Desktop]#mysql
mysql> use mysql
mysql> create database cacti default character set utf8;
mysql> grant all privileges on cacti.* to cacti@localhost identified by ‘cacti‘ with grant option;
mysql> flush privileges;
导入cacti库所需要的数据结构:
#mysql -uroot -p cacti < /var/www/html/cacti/cacti.sql
===========================================================================================
重启相关服务:
#/etc/init.d/httpd restart
#/etc/init.d/mysqld restart
#/etc/init.d/snmpd restart
浏览器安装cacti
下一步---》 下一步完成安装
默认登陆用户名密码都是admin
增加crontab
#crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null
分钟 小时 天 月 周 (意思为每五分钟刷新一次)
[手动执行测试一下:
root@Monitor-Cacti ~]# php /var/www/html/cacti/poller.php
OK u:0.00 s:0.00 r:1.04
OK u:0.00 s:0.00 r:1.04
OK u:0.00 s:0.00 r:1.04
OK u:0.00 s:0.00 r:1.04
OK u:0.00 s:0.00 r:1.04
OK u:0.00 s:0.00 r:1.04
===========================================================================================
安装中文包解决图形上的语言乱码:
yum install fonts-chinese
修改cacti设置添加中文语言支持
浏览器下点设置按钮---》 路径下修改RRDTOOL默认字体路径为下面路径
语言包路径/usr/share/fonts/chinese/TrueType/ukai.ttf
===========================================================================================
安装spine:
tar zxvf cacti-spine-0.8.7e.tar.gz
cd cacti-spine-0.8.7e
./configure
报错如下:
configure: error: cannot run /bin/sh config/config.sub
原因缺少libtool软件包,也有可能会报别的错,到时候查看一下报错信息就可以。但是也不排除有的没有安装gcc。要是没有安装gcc的人可以下面的yum install 后面加上gcc就行了。
#yum install libtool
#./configure
#make && make install
安装完后修改数据连接权限;
cd /usr/local/spine/etc
#vim spine.conf 内容如下
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
红色的修改的,只要按照以上修改就可以;
然后把spine.cnf链接到/etc/下,还有的就是把/usr/local/spine/bin/spine追加到/etc/rc.local,操做如下;
#ln -s /usr/local/spine/etc/spine.conf /etc/spine.conf
#echo "/usr/local/spine/bin/spine" >> /etc/rc.local
安装cacti-plugin
#gzip -d cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff.gz #####解压文件
#mv cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff /var/www/html/cacti/ ###把文件移动到cacti下
#cd /var/www/html/cacti ####进入到cacti
#patch -p1 -N < cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff
#mysql -uroot -p cacti < pa.sql 把pa.sql导入到库里。
然后修改配置文件如下;
#vim /var/www/html/cacti/include/global.php 内容下
/* Default database settings*/
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$config[‘url_path‘] = ‘/cacti/‘; #####这里一定要要注意url的路径,如果要是不对的话可就无法访问了。
安装monitor软件包
#mkdir monitor
#cp monitor-0.8.2.zip monitor
#cd montior
#unzip monitor-0.8.2.zip
#rm -rf monitor-0.8.2.zip
#cd ..
#mv monitor /var/www/html/cacti/plugins/
#cd /var/www/html/cacti/plugins/monitor/
#mysql -uroot -p cacti < monitor.sql
#vim /var/www/html/cacti/include/global.php
在$plugins = array(); 这行下面增加如下一行
$plugins[] = ‘monitor‘;
安装thold软件
因为thold软件依赖setting插件所以先安装setting插件
#mkdir settings
#cp settings-0.5.zip ./settings
#unzip settings-0.5.zip
#rm -rf settings-0.5.zip
#mv settings /var/www/html/cacti/plugins
#cd /var/www/html/cacti/plugins
#tar zxvf thold-0.4.1.tar.gz
#mv thold /var/www/html/cacti/plugins
#/var/www/html/cacti/plugins/thold
#mysql -uroot -p cacti < thold.sql
#Vim /var/www/html/cacti/include/global.php 在$plugins = array(); 这行下面增加如下两行
$plugins[] = ‘settings‘;
$plugins[] = ‘thold‘;
#点击插件管理---》 点安装Thresholds插件--- > 点启用Thresholds插件
此时在浏览器查看图像栏旁边能看到thold标题栏ok
如图所示;
优化部分:
1. 采用spine
2. 设置spine 进程数和线程数
3. 增大php.ini 内的memory_limit
4. 增大mysql的最大连接数
5. 添加mysql table的index
CREATE INDEX `data_template_data_id` ON `data_input_data` (`data_template_data_id`);
CREATE INDEX `host_id_snmp_query_id_snmp_index` ON data_local (`host_id`,`snmp_query_id`,`snmp_index`);
CREATE INDEX `local_data_id_data_source_name` ON data_template_rrd (`local_data_id`,`data_source_name`);
CREATE INDEX `graph_template_id_local_graph_id` ON graph_templates_item (`graph_template_id`,`local_graph_id`);
CREATE INDEX `local_graph_template_item_id` ON graph_templates_item (`local_graph_template_item_id`);
CREATE INDEX `host_id_snmp_query_id_snmp_index` ON host_snmp_cache (`host_id`,`snmp_query_id`,`snmp_index`);
CREATE INDEX `local_data_id_rrd_path` ON poller_item (`local_data_id`,`rrd_path`);
CREATE INDEX `host_id_rrd_next_step` ON poller_item (`host_id`,`rrd_next_step`);
CREATE INDEX host_id_snmp_query_id ON host_snmp_cache (host_id,snmp_query_id);
CREATE INDEX host_id_snmp_port ON poller_item (host_id,snmp_port);
CREATE INDEX data_source_path ON data_template_data (data_source_path);
6. 加上RRA路径结构
7. 定期清理poller_output表
—————————————————————————————————————————————
邮件报警配置如下;
下面来演示一下cacti监控Windows Server 2008与2003的步骤如图;
先说2003服务器的所做的操做,在2003点击开始-->在开始里找到管理-->然后找到服务选项-->进到服务选项后找到SNMP服务如图;
然后重起被监控服务器上的snmp服务;
下面是Windows Server 2008服务器的被监控服务器的操做方法下;
点击开始-->控制南板-->管理工具-->服务-->然后找到smnp服务
然后重起snmp服务,
下面还有的就是监控Linux服务器的配置;
首先要在被监控的服务器上安装snmp服务,
#yum -y install net-snmp
起动snmp服务
#/etc/init.d/snmpd start
修改snmp服务下的配置文件(修改完成后重起一下snmp服务)
#vim /etc/snmp/snmp.conf里要修改两处如图;
#/etc/init.d/snmpd restart
现在我们回到监控服务器上添加被监控服务;
图一
图四
图十
Linux被服务器有点不同如图;
其它的地方就一样了,现在去看一下添加完的被监控的服务是不是出图了如图;
下面配置邮件报警按照以下图示操作;
以下五图分别是添加邮件报警服务的选项设置报警选项的阀值和接受的邮箱地址。如果有某个被监控的服务出现故障后就会以邮件的方式发送的接受邮件地址的邮箱内。
至此cacti监控的博客写的就告一段落了后续可能会持续更新,望多关注。如有问题可以留言或加我QQ:121500783