vim /etc/php.ini
date.timezone = Asia/Chongqing 大概在947行
vim /etc/snmp/snmpd.conf
#com2sec notConfigUser default public
com2sec local localhost public #允许本机和本地192.168.0.0网络的主机
com2sec mynetwork 192.168.0.0/24 public
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork
#view systemview included .1.3.6.1.2.1.1
#view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
#access notConfigGroup "" any noauth exact systemview none none
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
syslocation RHEL6.0
syscontact Root
snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex 测试snmp的配置
tar zxf cacti-0.8.7h.tar.gz
mv cacti-0.8.7h /var/www/html/cacti
useradd cacti
cd /var/www/html/cacti/
chown -R cacti rra log
vim include/config.php
$database_username = "cacti";
$database_password = "westos";
mysqladmin create cacti 如果mysql有密码,则 mysqladmin create -pwestos cacti
cd /var/www/html/cacti
mysql cacti < cacti.sql 或mysql cacti -pwestos < cacti.sql 导入cacti的表结构
mysql
grant all on cacti.* to cacti@localhost identified by 'westos';
flush privileges;
mysql
show databases;
ll /var/www/html/cacti/rra
su - cacti
crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
php /var/www/html/cacti/poller.php
安装cacti插件
下载cacti-plugin-0.8.7h-PA-v3.0.tar.gz 安装原版插件补丁包
tar cacti-plugin-0.8.7h-PA-v3.0.tar.gz
cd cacti-plugin-arch
cp cacti-plugin-0.8.7h-PA-v3.0.diff /var/www/html/cacti/ 将插件文件放到cacti的目录
mysql cacti -pwestos < pa.sql 将插件数据库文件导入mysql数据库
cd /var/www/html/cacti/
patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff 在cacti目录下生成插件目录
然后可以在cacti的图形界面中:左列点用户管理-》点admin用户名-》右下勾上插件管理 -》保存
安装monitor,setting等插件
下载 cacti-settings.tar.gz ,cacti-monitor.tar.gz
tar zxf cacti-settings.tar.gz -C /var/www/html/cacti/plugins #公共设置
tar zxf cacti-monitor.tar.gz -C /var/www/html/cacti/plugins #实现监控功能
进cacti图形界面,点左列插件管理,安装并激活两个插件
cd /var/www/html/cacti/include/
vim config.php
在?>前面加 $url_path = "/cacti/"
然后进图形界面,点上面的monitor,会有监控的主机情况
安装thold 实现报警功能
下载cacti-thold.tar.gz
tar zxf cacti-thold.tar.gz -C /var/www/html/cacti/plugins
进cacti图形界面,安装并激活
监控其他linux主机:比如222.24.25.44 #我当时监控其他linux主机,snmp可以采集到数据,就是不往rra目录里面写,但是rra已经有写权限了,就是因为spine的路径没写正确导致的。还有,出现问题一定要看cacti的log,里面有很详细的日志记录。
先执行这条命令:snmpwalk -v 1 -c public 222.24.25.44 IP-MIB::ipAdEntIfIndex
会出现以下语句就好了:
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.222.24.25.44 = INTEGER: 2
另外snmp的配置文件要修改,iptables要关掉
注:如果不能监控别的主机,cacti的监控界面没有任何图形,则需检查selinux,iptables,php配置文件的时区,系统时间(date)。如果cacti可以采集到其他主机的信息,但不能绘图,则需检查cacti目录下的rra,log目录的权限。 步骤(1).console->device然后点击右上角的Add.
Description:desktop85.example.com
Hostname: 192.168.0.25
Host Template : ucd/net SNMP Host
SNMP Options:
SNMP Version: Version 1
然后点击右下角的create。
(2)create之后在页面的右上角会出现 Create Graphs for this Host,点击一下
选择你要监控的主机Host:desktop25.example.com(192.168.0.25)
Graph Types:All
在下面的Graph Templates下选择:
Graph Template Name
Create: ucd/net - CPU Usage
Create: ucd/net - Load Average
Create: ucd/net - Memory Usage
然后你还可以create:select a graph type to create
在Data Query中选择你要监控的数据。可以全选,
然后再右下角的:select a graph type:In/Out Bits
之后点击Create。
(3)console->Graph Tree
在右上角点击:Add
Name:desktop25.example.com
Sorting Type:Mannual Ordering
然后点击create。
然后再弹出的一个页面上会显示Save Successful。然后你在添加:tree Items 点击右房的Add修改:tree Item Type 选择HOST,在 Tree Item values:Host选择:desktop25.example.com
然后在Round Robin Archive:后面选择:Daily(5 minutes Average)之后点击create。然后点击Save。
(4)此时你可以点击graphs 可以看到Host:desktop25.example.com点击一下可以看到你所监控的desktop25机子上的一些变化。
实验2:http://blog.运维网.com/e/u/themes/default/images/spacer.gif 整合nagios 的cacti:
先为cacti安装npc插件:npc-2.0.4.tar.gz
rpm -q php-pdo
rpm -q php-json 先检测这两个php相关包
vim /etc/php.ini 确保date.timezone=Asia/Chongqi 时间设置正确
tar zxf npc-2.0.4.tar.gz -C /var/www/html/cacti/plugins
/etc/init.d/mysqld status 确保mysql运行
浏览器 http://222.24.25.248/cacti 进去安装npc插件
安装之后,点console -》设置-》npc->在remote command前打勾,并在下面两个框里写上:/usr/local/nagios/var/rw/nagios.cmd http://222.24.25.248/nagios 然后保存
下面配置nagios
vim /usr/local/nagios/etc/nagios.cfg 前三个是默认的,只需修改第四个
check_external_commands=1
command_check_interval=‐1
event_broker_options=‐1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg 大概在249行
下载:ndoutils-1.4b7.tar.gz 将nagios的数据导入到mysql数据库中
tar zxf ndoutils-1.4b7.tar.gz
cd ndoutils-1.4b7
./configure --with-mysql-lib=/usr/lib/mysql
如果不加 --with-mysql-lib=/usr/lib/mysql,则在安装完后重启nagios会报错:不能加载ndomod.o这个库
make
cd config
cp ndo2db.cfg /usr/local/nagios/etc/
cp ndomod.cfg /usr/local/nagios/etc/
cd ../src
cp ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp ndo2db-3x /usr/local/nagios/bin/ndo2db
此时可以在数据库中查看
mysql -ucacti -pwestos
show database;
use cacti;
show tables; 会有以npc_为前缀的表
vim /usr/local/nagios/etc/ndo2db.cfg
db_name=cacti
db_prefix=npc_
db_user=cacti
db_pass=westos
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg 启动ndo2db
配置完成
/etc/init.d/nagios reload
如果tail /var/log/messages 显示:/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
Could not bind socket: Address already in use
则需:cd /usr/local/nagios/var/
rm ndo.sock -f
如果在cacti的npc里,nagios的状态为off,则/etc/init.d/nagios restart