博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cacti+nagios_巨菜版
阅读量:6757 次
发布时间:2019-06-26

本文共 2929 字,大约阅读时间需要 9 分钟。

cacti+nagios_巨菜版
    最近又有需求要部署cacti做监控,当然主要是方便查看。其实机器不多的话直接看/var/log/sa/里面的更方便。
    部署过程经历了整整三天,遇到了许多的问题。在群友和baigoogledu的帮助下2010-7-28 17:30终于成功了。
    本来想把nagios一起搞上去,但是由于时间紧迫就放下了,不过已经配置好接口了。
    这是我目前为止我做过的第二复杂的系统,下面分享一下我的心得。
 
参考链接:
 
一、LAMP环境准备
由于cacti与nagios都是基于web的,所以在安装前要搭建好环境。
1. 安装apache,源码或rpm都可以,没有特殊要求。(我的环境中是源码装的)
2. 安装mysql,源码或rpm都可以,没有特殊要求。(我的环境中是rpm装的)
3. 安装php,需要注意安装5.2以上以便支持json(连nagios时需要用到);编译安装的话注意要有--enable-sockets不然cacti不能安装。
能装新版php的源:
[utterramblings]    
name=Jason's Utter Ramblings Repo 
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/    
enabled=1    
gpgcheck=1    
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
二、安装cacti(我做的是源码安装的)
1. 安装rrdtool
rrdtool本来我也想源码装的,但是发现很复杂,库也要补很多。因为时间紧就放弃了,改成用rpmforge的源装了。
#rpm -Uvh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
#yum install rrdtool
2. 安装net-snmp
#yum install net-snmp*
#vi /etc/snmp/snmpd.conf  修改配置文件:
com2sec notConfigUser   0.0.0.0/0     public
access  notConfigGroup ""      any       noauth    exact  all  none none
view all    included  .1                               80
第一行是开启一个rocommunity名叫public并可以从任何地方访问,后两行和snmp提取cpu内存信息有关。
3. 安装cacti
#tar zxvf cacti-0.8.7g.tar.gz
#mv cacti-0.8.7g /usr/local/apache/cacti
#useradd -s /sbin/nologin cacti
#passwd cacti
#chown -R cacti:cacti /usr/local/apache/cacti
4. 安装cacti-spine(以前好像叫cactid,现在叫spine了,用C写的获取snmp信息的程序。)
#tar zxvf cacti-spine-0.8.7g.tar.gz && cd cacti-spine-0.8.7g
#./configure --prefix=/usr/local/cacti-spine  --with-mysql=/lamp/database/mysql
(有的文章说加--with-snmp=,但是我写了就报错,不写也成了。)
#make && make install
5. 安装cacti-plugin(为以后加插件做准备)
#tar zvxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
#cd cacti-plugin-arch
#mv cacti-plugin-0.8.7g-PA-v2.8.diff /usr/local/apache/cacti
#patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
6. 创建数据库和用户
#mysql -uroot -p
mysql> create database cacti;
mysql> grant all on cacti.* to   identified by 'xxx';
mysql> flush privileges;
mysql> use cacti;
mysql> source /usr/local/apache/cacti/cacti.sql
mysql> source /home/soft/cacti+nagios/cacti-plugin-arch/pa.sql
7. 修改cacti-spine的配置文件
#vi /usr/local/cacti-spine/etc/spine.conf  修改数据库、用户名、密码。
8. 修改httpd.conf  记得重启apache
Alias  /cacti  /lamp/cacti
<Directory /lamp/cacti>
DirectoryIndex index.php
AllowOverride none
order deny,allow
deny from all
Allow from 127.0.0.1 192.168.0.0/24
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>
9. 配置cacti的config.php配置文件
#vi /usr/local/apache/cacti/include/config.php  修改数据库、用户名、密码。
$plugins = array();
$plugins[] = 'npc';
$url_path = "/cacti/";
前两行是装了cacti-plugin之后才有的,那么写是方便以后上nagios。第三行那么写就行了,具体原因看
帮助。
10.配置cacti自动收集snmp信息
#vi /etc/crontab
*/5 * * * * root /usr/local/php/bin/php /usr/local/apache/cacti/poller.php > /dev/null 2>&1
听说第一次不用cacti用户执行的话,以后就不能写了,我是用cacti用户执行一次之后才写到crontab的。
11.访问cacti页面
 
之后就不多写了,参考链接里面非常具体了。
常遇到问题的是:rrdtools数据库 rra权限 rrdtools版本 snmp数据获取 cacti里seting配置。
我遇到的主要问题就是有图无数据,后来发现时crontab写错了,没有自动执行导致的。
本文转自 sharkyan 51CTO博客,原文链接:http://blog.51cto.com/sharkyan/362129,如需转载请自行联系原作者
你可能感兴趣的文章
iOS JSONModel解析数据成Model
查看>>
QQ空间抢车位刷钱方法汇总
查看>>
[LeetCode] Missing Number
查看>>
java.lang.IllegalStateException: Illegal access
查看>>
STL容器的效率比较
查看>>
Ckeditor使用总结
查看>>
人事面试100问题--巧妙应答
查看>>
【工具类】怎么进入阿里云docker仓库
查看>>
Ceres-Solver库入门
查看>>
悲惨而又丢人的创业经历:草根创业者含恨倾诉为什么失败
查看>>
理解WebKit和Chromium: WebKit, WebKit2, Chromium和Chrome介绍
查看>>
hanoi塔的递归算法
查看>>
C# 校验给定的ip地址是否合法
查看>>
lumen 登陆 注册 demo
查看>>
基于服务的并行系统的通讯方式探讨
查看>>
设计模式——观察者模式
查看>>
Python多线程 简明例子
查看>>
《地球上的星星》
查看>>
mysql数据库的主从同步,实现读写分离
查看>>
89 fcanf和fprintf
查看>>