Linux下构建Cacti流量与性能监测系统

http://bbs.linuxtone.org/thread-1296-1-1.html

 

http://blog.zhiyu.info/linux/linux_server/cacti-install/154.html

 

http://bbs.chinaunix.net/thread-1774724-1-2.html 文档详细概述了cacti的部署、常用插件安装、阀值设置、报警设置、用户权限设置、备份还原,文档侧重于IDC系统运维,因为笔者当初工作在IDC系统运维一线

 

 

 

 

 

 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。

 

似乎有中文界面cacti-0.8.7a-cn-utf8.tar.gz

 

 

 

 cacti架构.jpg


Linux下构建Cacti流量与性能监测系统
 cacti工作流程


Linux下构建Cacti流量与性能监测系统

 

 

 

 

 ===================================1 监控端

 
---------------------rrdtool
http://oss.oetiker.ch/rrdtool/pub/
yum install cairo-devel libxml2-devel pango pango-devel

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz

./configure --prefix=/usr/local/rrdtool
make
make install
ln -s /usr/local/rrdtool/bin/* /usr/local/bin

 

-----------------net-snmp
www.net-snmp.org
wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.1/net-snmp-5.6.1.tar.gz/download


./configure --prefix=/usr/local/net-snmp
make
make install

cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf
 ln -s /usr/local/net-snmp/bin/* /usr/local/bin/


启动
/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

加入开机启动
echo "/usr/local/net-snmp/sbin/snmpd -c  /usr/local/net-snmp/share/snmp/snmpd.conf" >> /etc/rc.local


---------------cacti
http://www.cacti.net/

wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz

tar zxvf cacti-0.8.7g.tar.gz
mkdir /data0/htdocs/cacti
mv cacti-0.8.7g/* /data0/htdocs/cacti/


/usr/local/webserver/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
admin@juShan86sN
create database cacti;
insert into mysql.user (host,user,password) values ('localhost','cacti',password('cacti123'));
flush privileges;
grant all on cacti.* to cacti@'localhost' identified by 'cacti123';


cd /data0/htdocs/cacti

/usr/local/webserver/mysql/bin/mysql -u root -p -S /tmp/mysql.sock cacti<cacti.sql


vim include/config.php

 


http://192.168.93.129/cacti/install/index.php
admin
admin

 

 


----------为监控对象生成文件
 /usr/local/webserver/php/bin/php /data0/htdocs/cacti/poller.php
cd rra/
localhost_load_1min_5.rrd    localhost_mem_swap_4.rrd  localhost_users_6.rrd
localhost_mem_buffers_3.rrd  localhost_proc_7.rrd
rra目录用来存放cacti为监控对象生成的监控对象文件


设置cacti数据采集轮训时间
crontab -e
*/5 * * * * env LANG=C /usr/local/webserver/php/bin/php /data0/htdocs/cacti/poller.php &>/dev/null

 

 

 

 

 

 

 

 

 ===================================2 客户端

 http://apps.hi.baidu.com/share/detail/14994968
http://bbs.deepin.org/thread-1107676-1-1.html

 

 

 

 www.net-snmp.org

 

 

 

 

 wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.1/net-snmp-5.6.1.tar.gz/download

 

######yum install cairo-devel libxml2-devel pango pango-devel

 

cd net-snmp-5.6.1
./configure --prefix=/usr/local/net-snmp
make
make install

cp python/netsnmp/tests/snmpd.conf /usr/local/net-snmp/share/snmp/snmpd.conf
ln -s /usr/local/net-snmp/bin/* /usr/local/bin/


启动
/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

加入开机启动
echo "/usr/local/net-snmp/sbin/snmpd -c  /usr/local/net-snmp/share/snmp/snmpd.conf" >> /etc/rc.local

 

 

 

net-snmp它是服务端与被监控端连接线
修改客户端
vim /usr/local/net-snmp/share/snmp/snmpd.conf

#注 127.0.0.1 是安装cacti服务机IP,指定只有这IP才能获取本机的SNMP信息
将"default"改为你想哪台机器可以看到你的snmp信息,如192.168.1.210。

更改 com2sec notConfigUser default public
改为 com2sec notConfigUser 192.168.93.129 public

#提高安全性
更改 access notConfigGroup "" any noauth exact systemview none none
改为 access notConfigGroup "" any noauth exact all none none

view all   included   .1   80

重启生效/usr/local/net-snmp/sbin/snmpd restart
lsof -i:161
ps -ef|grep snmp

 

snmpwalk -c public -v 2c 192.168.93.131


snmpwalk -v 1 192.168.93.131 -c public system


在服务器端测试:
snmpwalk -v 2c 127.0.0.1 -c public
snmpwalk -v 2c 192.168.93.129 -c public
snmpwalk -v 2c 192.168.93.131 -c public

 

snmpwalk -v 2c 127.0.0.1 -c public .1.3.6.1.4.1.2021.10.1.3
snmpwalk -v 2c 192.168.93.129 -c public .1.3.6.1.4.1.2021.10.1.3
snmpwalk -v 2c 192.168.93.13 -c public .1.3.6.1.4.1.2021.10.1.3


如果有返回信息就说明监控程序正常,time out 提示就检查你的net-snmp配置

 

snmpwalk -v 127.0.0.1 -c public
snmpwalk -v 192.168.93.129 -c public
snmpwalk -v 192.168.93.131 -c public

 

 

 

 ===================================3 插件安装

见教程 Cacti实战指南_陆文举--二、Cacti实战指南-插件安装.pdf

 

http://cactiusers.org/

匹配cacti-0.8.7g.tar.gz版本
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz

 

tar zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch/
cp cacti-plugin-0.8.7g-PA-v2.8.diff /data0/htdocs/cacti/
cp pa.sql /data0/htdocs/cacti/
cd /data0/htdocs/cacti/

使用patch生成新文件(-p1注意是数字1)
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff

/usr/local/webserver/mysql/bin/mysql -u root -p -S /tmp/mysql.sock cacti<pa.sql
admin@juShan86sN

 vim include/global.php
$url_path = "/cacti/";

 

console---user management --admin
realm permissions 勾选 plugin managment ,save


完成后,我们就可以在左侧console---configuration 选项卡下多了一个plugin management选项卡

 

-----settings 插件
http://cactiusers.org/downloads/monitor.zip


mv settings /data0/htdocs/cacti/plugins/


点击console--plugin management 多了一个settings插件,然后点击蓝色箭头启用即可。
启用后箭头为红色

console--settings 多了一个mail/DNS选项卡


在cacti配置文件中添加settings插件(这步为可选配置,因为添加完settings在cacti主控台上也不会显示settings选项)
在$plugins = array();后增加
$plugins[] = 'settings';

 

 

 

 

其它插件见教程 Cacti实战指南_陆文举--二、Cacti实战指南-插件安装.pdf

 

 

 

 ===================================4 Cacti的使用

 

 

http://bbs.linuxtone.org/thread-1292-1-1.html

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(thread,html,linux,OS,bbs)