⑴ cacti監控伺服器的主要優點缺點是什麼
本文由03tyvf貢獻
pdf文檔可能在WAP端瀏覽體驗不佳。建議您優先選擇TXT,或下載源文件到本機查看。
網路與信息安全
57
Cacti在網路流量監控中的應用
姚
青
上海超級計算中心
上海
201203
qyao@ssc.net.cn
前言:
隨著網路規模的不斷擴大,容量不斷增加,新的應用不斷出現,網路環境變得更加復雜、
多變和異構,對網路流量進行監控與分析已
⑵ cacti監控虛擬機(centos6.6),cpu有數據沒有圖,disk也沒有圖
看下rra的目錄許可權
cacti那邊重新poller.php下
資料庫修復下
mysqlcheck -ao cacti --auto-repair -uroot
⑶ 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
⑷ cacti 命令行添加監控主機錯誤,求問題所在
先看一下,在系統下是不是可以用snmp會話讀取目的系統的信信息。
在centos下面可以運行snmpwalk
-v
2c
-c
<目的系統的COMMITY
STRING>
<目的地IP>
.1.3.6.1.2.1.1
如果能讀取到說明目的系統設置沒錯,如果沒讀取到,再看一下CACTI。
我上面那OID如果無效的話,就換一個,多試幾個。
⑸ cacti監控
1.交換機和路由器開啟snmp服務
2.為交換機及路由器指定snmp數據接收伺服器
3.以上兩項配置好就可以監控到數據了
同時推薦一款軟體cacti,是目前我發現的網路監控最好的軟體了
red hat linux 除非你花錢買 紅冒的 更新源...
否這你得....至少編譯安裝這些軟體以解決依賴問題
dejavu-lgc-sans-mono-fonts
mysql
net-snmp
php
php-cli
php-common
php-mysql
php-pdo
php-snmp
rrdtool
dejavu-fonts-common
dejavu-sans-fonts
dejavu-sans-mono-fonts
dejavu-serif-fonts
mysql-libs
net-snmp-libs
伺服器監控的話,建議使用nagios,非常強大
⑹ 安裝cacti被監控主機始終處於Unknown狀態;
#mysql -u root -p
Password:
# mysql>create database cacti;
# mysql>grant all on cacti.* to cacti@localhost identified by 『cacti』;
修改cacti使之可以訪問資料庫
#vim /usr/local/cacti/include/config.php
# $database_type = "mysql";
#$database_default = "cacti";
#$database_hostname = "localhost";
#$database_username = "cacti";
#$database_password = "cacti";
#$database_port = "3306";
導入資料庫文件
#mysql -u root -p cacti < cacti.sql
⑺ 常用的監控協議有哪些
一、監控系統
1、監控系統概念
監控系統應用在監控硬體、軟體和業務上,並及時獲取相應的數據並分析保存數據,發送報警通知管理者,並自動做出相應的處理,通過介面展示以利於運維人員分析,保證業務的正常運行。
2、運維監控系統具備以下幾個模塊:
采樣:從被監控主機上周期性地獲取某個關注指標相關的數據,常見獲取數據通道有:ssh/telnet、agent、IPMI、SNMP、JMX等等
存儲:用於存儲被監控主機采樣的數據和分析的數據,利於調用和分析,常用的有mysql、mariadb等資料庫
數據:分析被監控主機采樣數據,計算出歷史數據、趨勢數據、速率、最大最小值等等。
展示:將被監控主機的數據通過圖表方式展現出來,利於觀察比對,常見的展示介面有:webGUI、GUI、APP等等。
報警:當被監控主機發生異常時,系統用於通知相關人員的報警媒介。常用的報警媒介有:郵件、簡訊、微信或通過腳本實施。
3、被監控對象: 主機、伺服器、交換機、路由器、ups等
nms:網路監控主機NMS是移動通信網中的網路管理系統,它的管理對象可以包括網路中所有的實體,如:網路設備、應用程序、伺服器系統、路由器、交換機、HUB、輔助設備(如UPS電源)等,給網路系統管理員提供一個全系統的網路視圖。
4、監控系統採取的數據通道
ssh/telnet:安全傳輸協議
agent方式:代理方式,由監控主機(master)和安裝代理進程的被監控主機(agent)組成
ipmi:因特爾智慧平台,硬體監控介面
snmp:簡單網路管理協議,版本有 v1,v2(community ,pulic)v3
JMX:java管理擴展
jvm:監控java虛擬機
5、儲存系統
歷史數據 :每次采樣的結果。保存時長較短
趨勢數據: 聚合數據,保存時長較長周期內的數據
存儲系統:
關系型資料庫: mysql pgsql oracle
rrd: roudrobin database
nosql:redis、mongo、時間序列資料庫
二、常見的開源監控項目
1、cacti
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網路流量監測圖形分析工具。
2、nagios
Nagios是一款開源的免費網路監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網路設備,列印機等。在系統或服務狀態異常時發出郵件或簡訊報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或簡訊通知。
cacti和nagios這兩個功能上有所欠缺
3、ganglia
Ganglia是UC Berkeley發起的一個開源集群監視項目,設計用於測量數以千計的節點。Ganglia的核心包含gmond、gmetad以及一個Web前端。主要是用來監控系統性能,如:cpu 、mem、硬碟利用率, I/O負載、網路流量情況等,通過曲線很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。
4、zebbix
功能齊備且好用
zabbix是一個基於WEB界面的提供分布式系統監視以及網路監視功能的企業級的開源解決方案。
zabbix能監視各種網路參數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,埠監視等方法提供對遠程伺服器/網路狀態的監視,數據收集等功能,它可以運行在Linux等多種平台上。
三、SNMP協議
1、SNMP概念
SNMP是基於TCP/IP協議族的網路管理標准,是一種在IP網路中管理網路節點(如伺服器、工作站、路由器、交換機等)的標准協議。SNMP能夠使網路管理員提高網路管理效能,及時發現並解決網路問題以及規劃網路的增長。網路管理員還可以通過SNMP接收網路節點的通知消息以及告警事件報告等來獲知網路出現的問題。
2、SNMP版本
SNMP主要有三個版本,SNMPv1,SNMPv2,SNMPv3。
SNMPv1是最初始的版本,實現簡單,存在較多安全缺陷。
SNMPv2本質上與SNMPv1相同,只是在前一個版本功能上做了加強,並增加了getbulk操作,還增加了一些更加直觀的錯誤響應
SNMPv3解決了兩個版本在安全上的問題,採用了USM和VACM技術,增加了更強的認證機制。
目前使用最多的依然是SNMPv1版。有些廠家的IT設備中,還不支持SNMPv3
3、 術語
縮略語 -------------英文全稱-------------- 中文解釋
MIB ----Management Information Base ------管理信息庫
NMS ------Network Managerment Station -------網路管理站
OID ------Object Identifier -------對象標識符
SNMP ------Simple Network Management Protocol-------- 簡單網路管理協議
SMI -----Structure of Management Information ------管理信息機構
USM -----User-based Security Model -----基於用戶的安全模型
VACM ------View-based Access Control Model ------基於視圖的訪問控制模型
PDU ------Protocol data unit -------協議數據單元
4、SNMP管理的網路主要由三部分組成:
被管理的設備
SNMP代理
網路管理系統(NMS)
網路結構
網路中被管理的每一個設備都存在一個管理信息庫(MIB)用於收集並儲存管理信息。通過SNMP協議,NMS能獲取這些信息。被管理設備,又稱為網路單元或網路節點,可以是支持SNMP協議的路由器、交換機、伺服器或者主機等等。
SNMP代理是被管理設備上的一個網路管理軟體模塊,擁有本地設備的相關管理信息,並用於將它們轉換成與SNMP兼容的格式,傳遞給NMS。
NMS運行應用程序來實現監控被管理設備的功能。另外,NMS還為網路管理提供大量的處理程序及必須的儲存資源。
5、MIB管理信息庫
IETF規定的管理信息庫MIB(由中定義了可訪問的網路設備及其屬性,由對象識別符(OID:Object Identifier)唯一指定。MIB是一個樹形結構,SNMP協議消息通過遍歷MIB樹形目錄中的節點來訪問網路中的設備。下圖給出了NMS系統中SNMP可訪問網路設備的對象識別樹(OID:Object Identifier)結構。
網路設備的對象識別樹
對一個線路狀態進行查詢的OID設置例子
⑻ 監控cactiez,監控不出圖,有圖不顯示數據,有時圖都不顯示,日誌報錯請大神們看一下幫忙解決一下
你用的是snmp 還是nrpe? 不管是哪個,都是這個配置的問題。如果不出圖,有一種可能是缺少支持圖片的安裝包