cacti資料庫
A. cacti的從安裝到使用具體步驟
1、 操作系統:Windows Server 2003企業版(或其他NT系統)。 2、 安裝Apache,當然也可以使用IIS。 3、 安裝Mysql,下載MySQL的Windows版本並安裝到c:/mysql文件夾下。 4、 安裝php,從www.php.net 下載PHP 5.X並安裝到c:/php文件夾下。 5、 安裝RRDTool,從www.cacti.net下載Cygwin版RRDTool並安裝到c:/cacti文件夾下。 6、 安裝Net-SNMP,下載Net-SNMP並安裝到c:/net-snmp文件夾下。 7、 安裝Cacti,將下載的Cacti 壓縮文件解壓到WEB目錄下,並改名為cacti。 8、 安裝Cactid,將下載的Cactid壓縮文件解壓到c:/cacti文件夾下。 9、 安裝Cygwin,從Cygwin站點下載setup.exe文件,安裝cygwin到c:/cygwin文件夾下。 10、安裝ActivePerl,有些腳本是用perl語言寫的,所以需要ActivePerl的支持。 <首先要做的就是在Windows安裝Net-Snmp,這個工具安裝起來也是很方便的,一路下一步就好了,不用做什麼設置,最好是按照Cacti默認的路徑安裝,這樣設置起CACTI來會省不少事,Cacti默認查找Net-Snmp的路徑是C:\net-snmp,所以我們最好將它安裝在這個目錄下。而RRDTOOL也已經有Windows下的版本的了,我們只要把它解壓就可以了,由於CACTI默認的搜索路徑是c:\rrdtool,所以我們把它解壓到這個目錄就可以了。最後我們只要把CACTI復制到Web伺服器的根目錄就可以了,我這里是C:\AppServ\www,所以我把從網上下載到的CACTI解壓到了這個目錄下的CACTI目錄,然後打開IE輸入: http://localhost,點phpMyAdmin Database Manager Version 2.9.2鏈接,輸入Mysql的用戶名和密碼,進入PhpMyAdmin後,新建一個資料庫「cacti」,新建一個用戶「cactiuser」,密碼「cactiuser」,給這個用戶完全控制「cacti」資料庫許可權。然後選擇導入數據,把C:\AppServ\www\cacti\cacti.sql文件導入到cacti資料庫。到此我們就可以打開IE,輸入 http://localhost/cacti/install.php來對cacti進行一些簡單的設置,主要是路徑的設置。這樣我們就安裝成功了CACTI,當然我們還需要進行任務計劃的設置等,詳細的設置請參見我的上一篇文章「在Windows下安裝CACTI」。最後附上本次所需要軟體的下載地址:AppServ: http://www.onlinedown.net/soft/35753.htmCACTI: http://www.cacti.net/downloadsRRDTOOL For Windows: http://www.onlinedown.net/soft/35753.htmNet-Snmp For Windows: http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=162885&release_id=466298>
B. 有什麼監控linux伺服器的工具嗎
1、Ganglia
是一個集群監控軟體,可以監視和顯示集群中的節點的各種狀態信息,比如:CPU、mem、硬碟利用率、I/O負載、網路流量情況等,同時可以將歷史數據以曲線方式通過php頁面呈現,此軟體主要是用來監控系統性能的軟體,通過曲線可以很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。
它是分布式的監控系統,有兩個Daemon,是一個Linux下圖形化監控系統運行性能的軟體,界面美觀、豐富,功能強大。
RRDtool是系統存放和顯示time-series (即網路帶寬、溫度、人數、伺服器負載等) 。並且它提出有用的圖表由處理數據強制執行有些數據密度。
2、Cacti
是一套基於PHP、MySQL、SNMP及RRDTool開發的網路流量監測圖形分析工具,通過snmpget來獲取數據,使用RRDTool繪畫圖形,提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結 構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。
cacti是用php語言實現的一個軟體,它的主要功能是用snmp服務獲取數據,然後用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。
3、Zenoss
是一款智能監控軟體,允許IT管理員依靠單一的WEB控制台來監控網路架構的狀態和健康度。Zenoss Core同時也是開源的網路與系統管理軟體。
Zenoss提供功能豐富的產品,以監測整個IT基礎設施:
網路 -路由器,交換機,防火牆,接入點;
伺服器 -微軟的Windows , Linux , Unix系統,惠普, NetApp,戴爾;
虛擬化 -完整虛擬機虛擬化基礎架構( VI3 )管理, XenSource監測;
應用領域 -Process(程序),Port,網路應用服務, Web服務,資料庫,中間件,商業企業應用方案 ;
4、Argus
是一個網路連接監控器,可以利用它來定製監控網路中符合某種條件的計算機,例如網路空閑、斷開等。
5、Monit
是一款功能非常豐富的進程、文件、目錄和設備的監測軟體,用於UNIX平台,可以自動修復那些已經停止運行的程序,適合處理那些由於多種原因導致的軟體錯誤。
6、Nagios
是一個監視系統運行狀態和網路信息的監視系統,能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等Nagios可運行在Linux/Unix平台之上,同時提供一個可選的基於瀏覽器的WEB界面以方便系統管理人員查看網路狀態,各種系統問題,以及日誌等等。
Nagios的主要功能特點:
監視網路服務(SMTP、POP3、HTTP、NNTP、PING等);
監視主機資源(進程、磁碟等);
簡單的插件設計可以輕松擴展Nagios的監視功能;
服務等監視的並發處理;
錯誤通知功能(通過email、pager或其他用戶自定義的方法)。
C. cacti使用
apache2.2.8+mysql5.0.51+php5.2.5+snmp5.14+rrdtool+cacti 配置
OS fedora7 安裝選包定製
全選開發包
伺服器 一個沒選
本機IP 192.168.1.254
安裝 mysql
所有安裝程序 在 /usr/local下
[root@localhost usr]# groupadd mysql
[root@localhost usr]# useradd -g mysql mysql
[root@localhost usr]# cd /usr/local
[root@localhost local]# tar -zxvf mysql-5.0.51.tar.gz
[root@localhost local]# cd mysql-5.0.51
[root@localhost mysql-5.0.51# ./configure --prefix=/usr/local/mysql
[root@localhost mysql-5.0.51]# make
[root@localhost mysql-5.0.51]# make install
[root@localhost mysql-5.0.51]# cd ../mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql var
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# ./bin/mysqld_safe --user=mysql &
[root@localhost mysql]# ./bin/mysqladmin -uroot password mysql
[root@localhost mysql]# cp ../mysql-5.0.51/support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql]# cp ../mysql-5.0.51/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --level mysqld 345 on
[root@localhost mysql]# chkconfig --list mysqld
[root@localhost mysql]#
Mysql 安裝結束
安裝apache
[root@localhost usr]# tar -zxvf httpd-2.2.8.tar.gz
[root@localhost usr]# cd httpd-2.2.8
[root@localhost httpd-2.2.8]# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so
[root@localhost httpd-2.2.8]# make;make install
[root@localhost httpd-2.2.8]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.2.8]# cd /etc/rc3.d
[root@localhost rc3.d]# ln -s /etc/init.d/httpd S85httpd
[root@localhost rc3.d]# ln -s /etc/init.d/httpd K85httpd
[root@localhost rc3.d]# /usr/local/apache/bin/apachectl star
Apache 安裝完畢
安裝PHP
安裝支持圖形處理,自己可以找最新的安裝。
##### zlib#####
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install
cd ..
##### FreeType ##### freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make
make install
cd ..
##### LibPNG #####
cd libpng-1.2.20
cp scripts/makefile.linux makefile
make test
make install
cd ..
##### Jpeg ##### jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install
cd ..
##### gd ##### gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/usr/local/gd \
--with-jpeg=/usr/local/jpeg \
--with-freetype=/usr/local/freetype \
--with-png \
--with-zlib
[root@localhost local# tar -zxvf php-5.2.5.tar.gz
[root@localhost local# cd php-5.2.5
[root@localhost php-5.2.5]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-
mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc --with-openssl=/usr/local/ssl --with-gd=/usr/local/gd --
with-gdbm=/usr/lib --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg --with-png-dir --with-
zlib=/usr/local/zlib --enable-mbstring --enable-sockets
[root@localhost php-5.2.5]# make;make install
[root@localhost php-5.2.5]# cp php.ini-dist /usr/local/php/etc/php.ini
[root@localhost php-5.2.5]# vi /usr/local/apache/conf/httpd.conf
按 I 鍵 添加 AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico
DirectoryIndex index.php index.html index.html.var
保存退出 :wq
[root@localhost php-5.2.5]# /usr/local/apache/bin/apachectl restart
Php安裝完畢
設置mysql
[root@localhost httpd-2.2.8]# /usr/local/mysql/bin/mysql -u root -pmysql
mysql> create database cactidb;
mysql> grant all on cactidb.* to root;
mysql> grant all on cactidb.* to root@localhost;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('cactipw');
註:以上語句輸出 Query OK, 0 rows affected (0.01 sec) 表示成功
mysql> exit
Mysql設置完畢
檢測apache + php + mysql
[root @tsai usr]# cd /www/htdocs
[root @tsai htdocs]# touch info.php
[root @tsai htdocs]# vi info.php
<?
phpinfo( );
?>
保存退出 :wq
[root @tsai htdocs]# touch mydqltest.html
[root @tsai htdocs]# vi mysqltest.html
<html>
<body>
<?
$link=mysql_connect('localhost','root');
mysql_select_db('mysql');
$str="select * from user;";
$result=mysql_query($str,$link);
$show=mysql_num_rows($result);
mysql_close($link);
for ($i=0;$i < $show;$i++)
{
$arr[$i]=mysql_fetch_array($result);
};
?>
<table align=center border=1>
<tr align=center>
<td>Host</td>
<td>User</td>
<td>Password</td>
</tr>
<?for ($i=0;$i<$show;$i++){?>
<tr>
<td><?echo $arr[$i][Host]?></td>
<td><?echo $arr[$i][User]?></td>
<td><?echo $arr[$i][Password]?></td>
</tr>
<?};?>
</body>
</html>
保存退出 :wq
重啟mysql + apache 服務
[root @localhost htdocs]# service mydql restart
[root @localhost htdocs]# service httpd restart
進入瀏覽器檢查
http://192.168.1.254/info.php 和 http://192.168.1.254/mysqltest.html
安裝rrdtool
[root@localhost usr]# tar zxvf rrdtool-1.0.50.tar.gz
[root@localhost usr]# cd rrdtool-1.0.50
[root@localhost rrdtool-1.0.50]# ./configure
[root@localhost rrdtool-1.0.50]# make && make install
我的是fedora 7,用下面的方法。
[root@localhost usr] yum install rrdtool
Rrdtool安裝完畢
安裝net-snmp、snmpwalk和snmpget命令
[root@localhost usr]# rpm -qa | grep net-snmp
net-snmp-5.0.9-2.30E.15
net-snmp-devel-5.0.9-2.30E.15
net-snmp-libs-5.0.9-2.30E.15
net-snmp-utils-5.0.9-2.30E.15
[root@localhost usr]# vi /etc/snmp/snmpd.conf
更改 1、com2sec notConfigUser default public
改為:com2sec notConfigUser 127.0.0.1 public
2、access notConfigGroup "" any noauth exact systemview none none
改為:access notConfigGroup "" any noauth exact all none none
3、#view all included .1 80
將前面的 # 注釋 去掉。
保存退出 :wq
[root@localhost usr]# service snmpd restart
使用yum安裝更方便:
[root@localhost usr]# yum install net-snmp
[root@localhost usr]# yum update net-snmp
配置還是使用上面的方法修改。
或者使用:net-snmp-5.1.4.tar.gz安裝
[root@localhost local]# tar -zxvf net-snmp-5.1.4.tar.gz
[root@localhost local]# cd net-snmp-5.1.4
[root@localhost local]# ./configure
[root@localhost local]# make
[root@localhost local]# make install
運行snmpconf -g basic_setup,會在當前目錄下生成一個snmpd.conf配置文件:
[root@localhost local]# snmpconf -g basic_setup
運行後會出現一個詢問菜單,按如下步驟進行回答:CODE:[Copy to clipboard]Do you want to configure the information returned in
the system MIB group (contact info, etc)? (default = y): y
The location of the system: Shenzhen, China
The contact information: [email protected]
Do you want to properly set the value of the sysServices.0 OID (if you don't know, just say no)? (default = y): y
does this host offer physical services (eg, like a repeater) [answer 0 or 1]: 1
does this host offer datalink/subnetwork services (eg, like a bridge): 0
does this host offer internet services (eg, supports IP): 1
does this host offer end-to-end services (eg, supports TCP): 1
does this host offer application services (eg, supports SMTP): 1
Do you want to configure the agent's access control? (default = y): y
Do you want to allow SNMPv3 read-write user based access (default = y): n
Do you want to allow SNMPv3 read-only user based access (default = y): n
Do you want to allow SNMPv1/v2c read-write community access (default = y): n
Do you want to allow SNMPv1/v2c read-only community access (default = y): y
The community name to add read-only access for: public
The hostname or network address to accept this community name from [RETURN for all]: (RETURN)
The OID that this community should be restricted to [RETURN for no-restriction]: (RETURN)
Do you want to configure where and if the agent will send traps? (default = y): n
Do you want to configure the agent's ability to monitor various aspects of your system? (default = y): y
Do you want to configure the agents ability to monitor processes? (default = y): y
Name of the process you want to check on: sshd(需要監控的進程)
Maximum number of processes named ' sshd' that should be running [default = 0]: 1
Minimum number of processes named ' sshd' that should be running [default = 0]: 0
Do another proc line? (default = y): n
Do you want to configure the agents ability to monitor disk space? (default = y): y
Enter the mount point for the disk partion to be checked on: /
Enter the minimum amount of space that should be available on /var: %100
Do another disk line? (default = y): y
Enter the mount point for the disk partion to be checked on: /var
Enter the minimum amount of space that should be available on /var: %100
Do another disk line? (default = y): y
Enter the mount point for the disk partion to be checked on: /usr
Enter the minimum amount of space that should be available on /usr: %100
Do another disk line? (default = y): y
Enter the mount point for the disk partion to be checked on: /home
Enter the minimum amount of space that should be available on /home: %100
Do another disk line? (default = y): n
Do you want to configure the agents ability to monitor load average? (default = y): y
Enter the maximum allowable value for the 1 minute load average: 12
Enter the maximum allowable value for the 5 minute load average: 12
Enter the maximum allowable value for the 15 minute load average: 12
Do another load line? (default = y): n
Do you want to configure the agents ability to monitor file sizes? (default = y): n(如果想監控文件的大小,可以選y)
4.運行net-snmp:
# snmpd -c /path/snmpd.conf (要上面生成的絕對路徑)
測試一下看看net-snmp是否配置成功:
#snmpwalk -v 1 -c public localhost .1 (是否可以從.1開始採集伺服器數據)
#snmpwalk -v 1 -c public localhost dskPercent.1 (看看剛配置過的硬碟監測是否成功)
如果有數據了,恭喜你snmp安裝成功了。
註:如果你機器內沒有snmpwalk和snmpge命令,請到安裝盤里查找 net-snmp-utils 包,rpm -ivh net-snmp-utils-*.rpm 只後這兩個命令就
在系統里了。其他包也都在安裝盤里 確保安裝這四個包就OK
安裝/ 配置cacti
[root@localhost usr]# useradd cactiuser -g users
[root@localhost usr]# passwd cactiuser (pwd:cactipw)
[root@localhost usr]# cp cacti-0.8.7.tar.gz /var/www/html
[root@localhost usr]# cd /var/www/html
[root@localhost html]# tar -zxvf cacti-0.8.7.tar.gz
[root@localhost html]# mv cacti-0.8.6g cacti
[root@localhost html]# cd cacti
[root@localhost cacti]# /usr/local/mysql/bin/mysql -u root -p cactidb < cacti.sql
passwork:
[root@localhost cacti]# chown -R cactiuser rra/ log/
[root@localhost cacti]# cd scripts
[root@localhost scripts]# chown cactiuser:users *
[root@localhost scripts]# vi /www/htdocs/cacti/include/config.php
$database_type = 「mysql」;
$database_default = 「cactidb」;
$database_hostname = 「localhost」;
$database_username = 「cactiuser」;
$database_password = 「cactipw」;
更改用戶、密碼 等項 與上面給出的對應 保存退出
[root@localhost scripts]# crontab -u cactiuser -e
加入
*/5 * * * * /usr/local/php/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
保存退出:wq
全部設置完畢。
打開瀏覽器 http://192.168.1.254/cacti 進入cacti的初始設置頁面
第一次默認登陸賬號:admin 密碼 admin
登陸後在新改個密碼就OK
需要說明的還有路徑
snmpwalk Binary Path : /usr/bin/snmpwalk
snmpget Binary Path: /usr/bin/snmpget
RRDTool Binary Path: /usr/bin/rrdtool
PHP Binary Path: /usr/local/php/bin/php
Cacti Log File Path: /var/www/html/cacti/log/cacti.log
Cactid Poller File Path:/var/www/html/cacti/poller.php
如果你是按我的步驟做的 那上面的路徑一定不會錯。
註:此時graphs還不能顯示圖形,需要將服務重新啟動一下
[root@localhost scripts]# service snmpd restart
[root@localhost scripts]# service mysql restart
[root@localhost scripts]# service httpd restart