監控工具mrtg,cacti,rrdtool,nagios,zabbix比較和安裝


cacti 是一個用 rrdtool 來畫圖的網絡監控系統, 通常一說到網絡管理, 大家首先想到的經常是 mrtg, 但是 mrtg 畫的圖簡單且難看, rrdtool 雖然畫圖本領一流, 畫出來的圖也漂亮, 但是他也就是一個畫圖工具, 不像 mrtg 那樣本身還集成了數據收集功能. cacti 則是集成了各種數據收集功能,然後用 rrdtool 畫出監控圖形. 其本身界面比起同類系統要漂亮不少. 推薦所有有監控需求的人都去研究一下.
cacti 和 nagios 是不同功用的系統, nagios 適合監視大量服務器上面的大批服務是否正常, 重點並不在圖形化的監控, 其集成的很多功能例如報警,都是 cacti 沒有或者很弱的cacti 主要用途還是用來收集歷史數據和畫圖, 所以界面比 nagios 漂亮很多.
net-snmp 是一套廣泛使用在類 unix 系統上的 snmp 軟件, 包含一套 snmp agent 框架 ,一個 snmpd 和 一堆 snmp 工具 , 其前身爲 ucd-snmp. 關於 snmp 是什麼, 以及如何配置的文章,網上搜一下有一堆一堆的. 在這裏就不重複了.
squid 是一個 web 緩存加速程序, 本來跟監控沒有太大關係, 只是因爲他支持 snmp 查詢,而我要用 cacti 監控他, 然後遇到了他的缺陷被折騰了一陣子,所以也拉進今天的討論.
我跟這三個東西鬥爭的過程如下…
首先先把 cacti 架起來, 在架的過程中我沒有遇到問題,但是把 czz 搞了一下, 因爲 cacti 要調用外部程序, 不能開 safe_mode, 如果開了就會出奇怪問題.
接下來配置 squid 的查詢, squid 的查詢數據比較多且複雜,自己做模版的話很麻煩,於是 google 了一下,找了一個 SquidStats (見附件) 的模版, 按照他的 readme 一步一步來, 就可以正常安裝. 於是我就遇到了第一個坎…
設置完成以後執行 poller 的時候總是無法產生 rrd 數據, 給 php 裏面加 log 也沒有看出來什麼, google 換了很多關鍵詞, 總算髮現了原因: cacti 在進行 snmp 查詢之前會先確定對方是否在運行, 他用的方法是查詢 .1.3.6.1.2.1.1.3.0 這個 oid, 但是 squid 不支持這個 oid , 於是 cacti 就以爲 squid down 了,不去真正查詢. 臨時解決方法是在 cacti 的 settings 裏面, poller 頁的 Downed Host Detection 選擇 Ping, 不要選擇帶有 snmp 字樣的.
然後在弄 64 位機的時候遇到了第二個坎, 發現 64 位 linux 機器的流量圖總是不正確. 大部分時候沒有結果,有時候又特大, 其實這個應該很容易想到是 counter 迴繞不正確的問題, 但是我第一次 google 出來的結果是一個說和 tunnel 設備有關的 bug, 這兩臺 x64 機器上面確實有 tunnel ,於是我就一直以爲是 tunnel 的問題. 折騰了好久. 最後才發現原來就是簡單的 counter 迴繞不正確的問題. 從 Fedora Core 5 的開發目錄裏面下一個 net-snmp 5.3 的 srpm 在 centos 4.2 上 build 一下, 就搞定了. 注意 FC4 裏面的 net-snmp 5.2.x 也是有 bug 的,一定要 5.3 的.
最後推薦所有研究 cacti 的人,一定不要放過 cacti 的官方論壇擴展腳本版面 . 裏面有很多的第三方的模版和腳本, 支持很多的網絡設備.

http://tewuxiaoqiang.blog.51cto.com/279711/161207 Cacti Nagios比較

http://www.oschina.net/p/zabbix zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺之上。
zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。zabbix agent可以運行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統之上。
zabbix server可以單獨監視遠程服務器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(trapping方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。
另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟件(例如:net-snmp)等配合使用。
zabbix的主要特點:
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 可以無agent監視
- 用戶安全認證和柔軟的授權方式
- 通過WEB界面設置或查看監視結果
- email等通知功能
等等
Zabbix主要功能:
- CPU負荷
- 內存使用
- 磁盤使用
- 網絡狀況
- 端口監視
- 日誌監視
zabbix的License:GPL v2
標籤: Linux PHP C/C++ 系統監控
開發語言: PHP C/C++
項目主頁: http://www.zabbix.com/
文檔地址: http://www.zabbix.com/documentation.php
下載地址: http://www.zabbix.com/download.php
收錄時間:2008年09月16日

首先簡單介紹一下: cacti 是一個用 rrdtool 來畫圖的網絡監控系統, 通常一說到網絡管理, 大家首先想到的經常是 mrtg, 但是 mrtg 畫的圖簡單且難看, rrdtool 雖然畫圖本領一流, 畫出來的圖也漂亮, 但是他也就是一個畫圖工具, 不像 mrtg 那樣本身還集成了數據收集功能. cacti 則是集成了各種數據收集功能,然後用 rrdtool 畫出監控圖形. 其本身界面比起同類系統要漂亮不少. 推薦所有有監控需求的人都去研究一下.
cacti 和 nagios 是不同功用的系統, nagios 適合監視大量服務器上面的大批服務是否正常, 重點並不在圖形化的監控, 其集成的很多功能例如報警,都是 cacti 沒有或者很弱的. cacti 主要用途還是用來收集歷史數據和畫圖, 所以界面比 nagios 漂亮很多

1. 主要對流量及主機在線狀態監控軟件,如最初的MRTG,PRGT,CACTI,Hobbit,
2. 能對服務器的關鍵服務及進程進行監控的軟件,如Big Brother,Nagios,

http://blog.chinaunix.net/u/12909/showart_1073431.html mrtg,cacti,rrdtool,nagios, zabbix安裝

安裝net-snmp
下載net-snmp-5.3.0.1-1.EL4.i386.rpm
安裝mrtg:www.mrtg.org
下載
mrtg-2.12.2.tar.gz

./configure   --prefix=/usr/local/mrtg & make & make install   cp /usr/local/mrtg/bin/*   /usr/bin
安裝rrdtool:
www.rrdtool.org

http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/doc/rrdbuild.en.html
(以下部分可以直接copy到linux shell下 自動安裝,我是分段copy,整體copy未嘗試)
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/usr/local/rrdtool
mkdir -p $BUILD_DIR
mkdir $BUILD_DIR/lb
cd $BUILD_DIR
#####zlib
wget
http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/zlib-1.2.2.tar.gz
tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
make
make install
cd ..
rm -fR zlib*
#####libpng
wget
http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libpng-1.2.8-config.tar.gz
tar zxvf libpng-1.2.8-config.tar.gz
cd libpng-1.2.8-config
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" \
CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
cd ..
rm -fR libpng*
#########freetype
wget
http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/freetype-2.1.9.tar.gz
tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
cd ..
rm -fR freetype*
####### libart_lgpl
wget
http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz
tar zxvf libart_lgpl-2.3.17.tar.gz
cd libart_lgpl-2.3.17
env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
cd ..
rm -fR libart*
########cgilib
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/cgilib-0.5.tar.gz
tar zxvf cgilib-0.5.tar.gz
cd cgilib-0.5
make CC=gcc CFLAGS="-O3 -fPIC -I."
mkdir -p $BUILD_DIR/lb/include
cp *.h $BUILD_DIR/lb/include
mkdir -p $BUILD_DIR/lb/lib
cp libcgi* $BUILD_DIR/lb/lib
cd ..
rm -fR cgilib*
#########install rrdtool
ranlib $BUILD_DIR/lb/lib/*.a # 優化
IR=-I$BUILD_DIR/lb/include
CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
LDFLAGS="-L$BUILD_DIR/lb/lib"
CFLAGS=-O3
export CPPFLAGS LDFLAGS CFLAGS
cd $BUILD_DIR/
wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.2.12.tar.gz
tar zxvf rrdtool-1.2.12.tar.gz
cd   rrdtool-1.2.12
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make
make install
cd ..
rm -fR rrdtool*
***********************RRDTOOL INSTALL SUCCESSFULLY**********************

安裝CACTI:www.cacti.net
cacti-0.8.6h.tar.gz
tar zxvf cacti-0.8.6h.tar.gz
cp –R cacti-0.8.6h   /usr/local/cacti/
配置Mysql:
group-add cacti
useradd -g cacti cactiuser
/usr/local/mysql/bin/mysql – --user=root – --password=yanhannet
mysql> create database cactidb;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('yanhannet');
mysql> exit
# mysql --user=root --password=yanhannet cactidb
# chown -R cactiuser rra/ log/
# chmod –R 777 rra/ log/
# vi cacti/include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "yanhannet";
$database_port = "3306";
vi /etc/ctrontab (crontab -u cactiuser –e)
*/5 * * * * cactiuser php /usr/local/cacti/poller.php > /dev/null 2>&1
配置apache
vi /usr/local/apache/conf/conf.d/cacti.conf
Alias /cacti /usr/local/cacti
Options None
AllowOverride None
Order allow,deny
Allow from all
# AuthName "XXXXX"
# AuthType Basic
# AuthUserFile /XXX/htpasswd.users
# Require   valid-user

******************CACTI   INSTALL   SUCCESSFULLY ***********************

安裝nagios
www.nagios.org

useradd nagios
mkdir /usr/local/nagios
chown nagios.nagios /usr/local/nagios/
./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include
注:紅色部分爲gd庫位置,如果不加,這會出現The statusmap, trends and histogram CGIs are missing or dont work!
查看3-D status map 需要在本機下載插件contvrml

http://www.parallelgraphics.com/bin/cortvrml.exe

在apache配置文檔目錄下
vi nagios.conf
scriptalias   /nagios/cgi-bin /usr/local/nagios/sbin
allowoverride authconfig
options execcgi
order allow,deny
allow from all
alias /nagios /usr/local/nagios/share
options none
allowoverride authconfig
order allow,deny
allow from all
在nagios sbin/ share/目錄下
vi .htaccess
authname "nagios access"
authtype basic
authuserfile   /usr/local/nagios/etc/.nagios.users
require valid-user
生成用戶文件
htpasswd -c /usr/local/nagios/etc/.nagios.users nagiosadmin
具體參數配置參考官方文檔

工具插件:
www.nagiosexchange.org
fruity 要求php5以上
下載:
https://sourceforge.net/project/showfiles.php?group_id=136248

http://pear.php.net/get/HTML_TreeMenu-1.2.0.tgz

http://sourceforge.net/project/showfiles.php?group_id=42718

http://puzzle.dl.sourceforge.net/sourceforge/adodb/adodb471-1.tgz

直接解壓複製到fruity 下 分別改名爲HTML 和adodb 其他不做修改
修改 fruity/includes下的config.ifg,需要更改的地方有,路徑,mysql信息
mysql 添加fruity 數據庫和user,password.
*************************NAGIOS INSTALL SUCCESSFULLY*****************

安裝zabbix:
wget http://belnet.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.1beta6.tar.gz
tar zxvf zabbix-1.1beta6.tar.gz
mysql -u   -p
> creat database zabbix;
>quit;
cd creat/mysql
mysql -u   -p zabbix
cd ../data
mysql -u   -p zabbix
cd ..
./configure --prefix=/usr/local/zabbix --with-mysql=/usr/local/mysql --enable-server --enable-agent
make
make install

cp misc/conf/* /etc/zabbix/conf/
cp frontends/php/* /usr/local/zabbix/php
修改apache添加zabbix.conf

發佈了6 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章