Liunx運維監控_shark巨菜_cacti篇

 Liunx運維監控_shark巨菜_cacti

原題:cacti+nagios_巨菜版

 

最近又有需求要部署cacti做監控,當然主要是方便查看。其實機器不多的話直接看/var/log/sa/裏面的更方便。

 

部署過程經歷了整整三天,遇到了許多的問題。在羣友和baigoogledu的幫助下2010-7-28 17:30終於成功了。

本來想把nagios一起搞上去,但是由於時間緊迫就放下了,不過已經配置好接口了。

 

這是我目前爲止我做過的第二複雜的系統,下面分享一下我的心得。

 

參考鏈接:

http://hi.baidu.com/9812658/blog/item/3aaa0b750e524317b051b913.html

http://slien.blog.51cto.com/626289/121929

http://blog.sina.com.cn/s/blog_4e424e2101000b5x.html

http://www.joecen.com/article/cacti/cactifaq/

http://forums.cacti.net/about26540.html&highlight=npc

 

一、LAMP環境準備

由於cactinagios都是基於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. 配置cacticonfig.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數據獲取 cactiseting配置。

我遇到的主要問題就是有圖無數據,後來發現時crontab寫錯了,沒有自動執行導致的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章