cacti+nagios_巨菜版

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
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  'cacti'@'localhost' 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页面
http://IP/cacti
 
之后就不多写了,参考链接里面非常具体了。
常遇到问题的是:rrdtools数据库 rra权限 rrdtools版本 snmp数据获取 cacti里seting配置。
我遇到的主要问题就是有图无数据,后来发现时crontab写错了,没有自动执行导致的。








本文转自 sharkyan 51CTO博客,原文链接:http://blog.51cto.com/sharkyan/362129,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
JavaScript 关系型数据库 MySQL
|
关系型数据库 PHP Ubuntu
|
JSON 数据安全/隐私保护 数据格式
|
监控 关系型数据库 C++
|
SQL 关系型数据库 数据库
|
Web App开发 监控 关系型数据库