幾個常用監控工具的使用
Cacti:監控伺服器多個效能指標(磁碟使用率,CPU使用率等等),並將資料儲存下來利用rrdtool實現繪圖功能
Nagios:監控主機狀態,有強大的報警功能
Ntop: 監控網路流量
Cacti:
RRDtools
使用RRDtool來儲存和處理通過SNMP收集到的資料開始。這些資料很可能是某個網路或計算機接收或傳送的位元組數(位元數)。它也可以用來顯示潮水的波浪、陽光射線、電力消耗、展會的參觀人員、機場附近的噪音等級、你喜歡的度假區的溫度、電冰箱的溫度、以及任何你可以想象的東西。
你最需要一個度量資料,以及能夠提供這些資料給RRDtool的感應器就可以了。RRDtool會讓你建立資料庫、儲存資料、提取資料、建立用於在Web瀏覽器中顯示的PNG格式的影像。這些PNG影像以來於你收集的資料,它可以是網路平均使用率、峰值。
RRD
Round Robin Database環狀資料
常見應用:
伺服器資源:CPU、記憶體、磁碟、程式、連線數等
伺服器型別:WEB、Mail、FTP、資料庫、中介軟體
網路介面:流量、轉發速度、丟包率
裝置執行狀態:風扇、電源、溫度
機房執行環境:電流、電壓、溼溫度
優點:開源、圖形介面、跨平臺監控、可擴充套件性
具體過程:
[root@station39~]yum -y install httpd php php-mysql php-snmp mysql mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby ruby-devel
[root@station39 cacti]# yum -y localinstall –nogpgcheck rrdtool-*.rpm
[root@station39 cacti]# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
[root@station39 cacti]# vim /etc/snmp/snmpd.conf
com2sec notConfigUser 127.0.0.1 //** public line 41 update
access notConfigGroup “” any noauth exact all systemview none none //** line 62 update
view all included .1 80 //** line 85
[root@station39 cacti]# service snmpd start
[root@station39 cacti]# service mysqld start
[root@station39 cacti]# service httpd start
[root@station39 cacti]# mysql
mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@localhost identified by `cati`;
mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by `cati`;
mysql> grant all privileges on cacti.* to cacti@192.168.1.0 identified by `cati`;
mysql> flush privileges;
mysql> quit
[root@station39 cacti]# mkdir /var/www/html/cacti
[root@station39 cacti]# tar zxvf cacti-0.8.7g.tar.gz -C /var/www/html/
[root@station39 cacti]# cd /var/www/html/
[root@station39 html]# mv cacti-0.8.7g cacti
[root@station39 html]# cd cacti
[root@station39 cacti]# mysql -ucacti -pcati cacti < cacti.sql
[root@station39 cacti]# vim include/config.php
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “cati”;
$database_port = “3306”;
[root@station39 cacti]# useradd cacti
[root@station39 cacti]# passwd cacti
[root@station39 cacti]# chown -R cacti rra/ log/
[root@station39 cacti]# crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
使用瀏覽器訪問192.168.1.200/cacti就可以看到如下介面:
使用者名稱和密碼都為admin,登陸之後要求改密碼。
下面開始外掛的安裝:
要安裝別的外掛前,先要安裝cacti的一個patch--Plugin Architecture,才能支援外掛
[root@station39 cacti]# tar zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
[root@station39 cacti]# cp -R cacti-plugin-arch/* /var/www/html/cacti/
[root@station39 cacti]# cd /var/www/html/cacti/
[root@station39 cacti]# mysql -ucacti -pcati cacti < pa.sql
[root@station39 cacti]# patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
[root@station39 cacti]# vim include/config.php
$url_path = “/cacti/”; //line 42
儲存退出,在瀏覽器中開啟192.168.1.200/cacti 進行配置:
Console—–>User Management——> admin ——> Realm Permissions—–> plugin Management 啟用外掛管理。
常用外掛安裝:
Monitor, Settings, thold
[root@station39 cacti]# tar zxvf settings-latest.tgz
[root@station39 cacti]# tar zxvf monitor-latest.tgz
[root@station39 cacti]# tar zxvf thold-latest.tgz
[root@station39 cacti]# mv settings-0.6/ /var/www/html/cacti/plugins/settings
[root@station39 cacti]# mv monitor-0.9/ /var/www/html/cacti/plugins/monitor
[root@station39 cacti]# mv thold-0.41/ /var/www/html/cacti/plugins/thold
OK!Console—–>plugin Management 進行安裝:
PS:在安裝thold時,可能會出現 You are missing a dependency for thold, please install the `Settings` plugin. 這樣的警告。只需要先安裝settings外掛就OK。
啟用報警功能:
Console——> Utilitie——>Altering/Thold
Mail/DNS
MSN 實現報警:
[root@station39 cacti]# cp sendMsg.zip /var/www/html
[root@station39 cacti]# cd /var/www/html
[root@station39 html]# unzip sendMsg.zip
使用瀏覽器進行訪問:
使用指令碼實現自動化報警:
修改/var/www/html/cacit/plugins/thold目錄下的thold_functions.php檔案
[root@station39 thold]# vim thold_functions.php
exec(“echo $subject >>/var/www/html/cacti/plugins/thold/alert.log”);
exec(“sh /var/www/html/cacti/plugins/thold/sendmessage.sh”); //** line 560-561
儲存退出!
指令碼
#!/bin/sh
echo `echo -n “date:”&&date +%Y-%m-%d-%H:%M` >> /var/www/html/sendMsg/msn.txt.1
cat /var/www/html/cacti/plugins/thold/alert.log >>/var/www/html/sendMsg/msn.txt.1
now=`date +%Y-%m-%d-%H:%M`
SA=(test)
msnaddr=(lyp_zzu@hotmail.com)
sendMsg()
{
num=0
while [ $num -lt 1 ];
do
wget —post-data “sender=lyp_zzu@hotmail.com&password=123456&recipient=${1}&message=${2}” http://127.0.0.1/sendMsg/index.php -O /var/www/html/sendMsg/index.php.1 >/dev/null 2>&1
if [ -f /var/www/html/sendMsg/index.php.1 ]; then
if cat /var/www/html/sendMsg/index.php.1 |grep -i successfully >/dev/null 2>&1;then
num=1
elif cat /var/www/html/sendMsg/index.php.1 |grep -i “The user appears to be offline” >/dev/null 2>&1;then
num=1
echo “The user is offline.”
exit 0
elif cat /var/www/html/sendMsg/index.php.1 |grep -i “Something went wrong trying to connect to the server” >/dev/null 2>&1;then
num=1
echo “MSN server is online.”
exit 0
else
num=0
fi
rm -f /var/www/html/sendMsg/index.php.1
else
num=0
fi
done
}
mv /var/www/html/sendMsg/msn.txt /var/www/html/sendMsg/bak/msn$now.txt -f 1>/dev/null 2>&1
mv /var/www/html/sendMsg/msn.txt.1 /var/www/html/sendMsg/msn.txt -f 1>/dev/null 2>&1
rm /var/www/html/cacti/plugins/thold/alert.log -f 1>/dev/null 2>&1
for i in 0
do
if cat /var/www/html/sendMsg/msn.txt ; then
messages=`cat /var/www/html/sendMsg/msn.txt `
sendMsg “${msnaddr[$i]}” “$messages”
else
continue
fi
done
使用飛信報警:
[root@station39 html]# cp -r /root/cacti/linuxso_20101113 sendsms/linuxso
[root@station39 html]# cp -r /root/cacti/fetion sendsms/linuxso/fetion
[root@station39 html]# chmod 777 -R sendsms/linuxso
修改/var/www/html/cacit/plugins/thold目錄下的thold_functions.php檔案
[root@station39 thold]# vim thold_functions.php
exec(“echo $subject >>/var/www/html/cacti/plugins/thold/alert.log”);
exec(“/var/www/html/cacti/plugins/thold/sendsms.sh”); //** line 562
指令碼:
#!/bin/sh
#send sms by fetion
#Write by pingsun2010@hotmail.com
if [ ! -e “/var/www/html/cacti/plugins/thold/alert.log” ];then
echo “Usage:alert.log does not exist”
exit
fi
if [ -n “`cat /var/www/html/cacti/plugins/thold/alert.log`” ]; then
admin=”158XXXX”
echo “sms $admin “`cat /var/www/html/cacti/plugins/thold/alert.log` >>/var/www/html/cacti/plugins/thold/sms.txt
echo “exit” >> /var/www/html/cacti/plugins/thold/sms.txt
else
echo “Usage:no alert”
exit
fi
if [ -n “`cat /var/www/html/cacti/plugins/thold/sms.txt`” ] ; then
LD_LIBRARY_PATH=/var/www/html/sendsms/linuxso /var/www/html/sendsms/linuxso/fetion –mobile=158XXXXXX –pwd=123xxx –to=$admin –file-utf8=/var/www/html/cacti/plugins/thold/sms.txt
rm -f /var/www/html/cacti/plugins/thold/sms.txt 1>/dev/null 2>&1
rm -f /var/www/html/cacti/plugins/thold/alert.log 1>/dev/null 2>&1
else
echo “Usgae:no message to send”
exit
fi
Ntop
ntop是一款網路監控工具,類似於網路嗅探器,可以監視網路流量,甚至可以列出每個節點計算機的網路頻寬利用率。
它可以通過分析網路流量來確定網路上存在的各種問題;也可以用來判斷是否有黑客正在攻擊網路系統;還可以很方便地顯示出特定的網路協議、佔用大量頻寬的主機、各次通訊的目標主機、資料包的傳送時間、傳遞資料包的延時等詳細資訊。通過了解這些資訊,網管可以對故障做出及時的響應,對網路進行相應的優化調 整,以保證網路執行的效率和安全。
主要功能:
自動從網路中識別有用的資訊;
◆ 將截獲的資料包轉換成易於識別的格式;
◆ 對網路環境中通訊失敗的情況進行分析;
◆ 探測網路環境中的通訊瓶頸;
◆ 記錄網路通訊的時間和過程;
◆ 自動識別客戶端正在使用的作業系統
所需軟體包:ntop-4.0.1.tar.gz
輔助軟體
庫檔案支援:libpcap、libcap-devel、libpng、gdbm、gd
GeoIP-1.4.7-0.1.20090931cvs.el5.i386.rpm
GeoIP-devel-1.4.7-0.1.20090931cvs.el5.i386.rpm
RRDtool: rrdtool-1.4.4.tar.gz
過程:安裝所依賴的輔助檔案:
[root@station39 ~]# yum install libpcap libpcap-devel libpng gdbm gdbm-devel glib libxml2-devel pango pango-devel gd -y
[root@station39 ntop]# yum localinstall –nogpgcheck GeoIP-1.4.7-0.1.20090931cvs.el5.i386.rpm GeoIP-devel-1.4.7-0.1.20090931cvs.el5.i386.rpm -y
原始碼編譯安裝rrdtool:
[root@station39 ~]# cd rrdtool-1.4.4
[root@station39 rrdtool-1.4.4]# ./configure –prefix=/usr/local
[root@station39 rrdtool-1.4.4]# make && make install
安裝Ntop
[root@station39 ~]# tar xvf ntop-4.0.1.tar.gz
[root@station39 ~]# cd ntop-4.0.1
[root@station39 ntop-4.0.1]# ./autogen.sh –with-tcpwrap
[root@station39 ntop-4.0.1]# make && make install
[root@station39 ntop-4.0.1]# chown -R nobody /usr/local/var/ntop
使用TCPWrapper禁止其他主機訪問:
[root@station39 ntop-4.0.1]# vim /etc/hosts.allow
ntop: 192.168.1.13
[root@station39 ntop-4.0.1]# vim /etc/hosts.deny
ntop:ALL
[root@station39 ntop-4.0.1]# ntop -d -i eth0 //**以後臺守護程式方式(-d)執行ntop服務,
並監測eth0網路卡所連線的流量
使用瀏覽器訪問http://192.168.1.15:3000 :
Ntop相關引數說明:
-d : 放入後臺執行。 常用
-L : 輸出訊息寫入系統記錄檔案。
-r : 設定頁面的自動更新頻率,預設每 3 秒更新一次. 。
-w : 使用其它埠 (預設是 3000) 。
-W : 同 -w , 不過這個是使用 SSL 聯機 。
-u : 指定使用其它身份執行 。
-i : 指定 ntop 監聽的網路卡,”,” 隔開多個網路卡。
-M : 使用 -i 指定多張網路卡時, 預設是合併統計.
Ntop網頁說明:
About: 線上手冊。
o Summary : 目前網路的整體概況
Traffic : 流量
Hosts : 所有主機使用概況
Network Load : 各時段的網路負載
Netflows : 網路流量圖。
o IP Summary : 各主機的流量狀況與排名明細
Traffic : 所有主機的流量明細
Multicast : 多點傳送情況。
Domain : 域名
Distribution : 通訊量狀況
Local >>Local 本地流量。
Local>>Remote : 所有主機對外的明細
Remote>>Local :
Remote>>Remote :
o All Protocols : 檢視各主機佔用的頻寬與各時段網路使用者等的明細
Traffic : 流量。
Throughput : 頻寬使用明細表 (點選主機,可以看到該主機詳細的資訊及使用狀況)
Activity : 各時段所有主機使用流量(狀況). (點選主機,可以看到該主機詳細的資訊及使用狀況)
o Local IP : 區域網路內各主機使用狀況.
Routers : 路由器狀況。3.2版的ntop中已經好像沒有這一項了
Ports Used : 埠使用情況。
Active TCP Sessions : 目前正在進行的聯機 。
Host Fingerprint : 主機快照情況。
Host Characterization : 主機描述。
Local Matrix : 區域網路內各主機間的流量明細。
o Media: 高階貨,一般人用不到的東西
Fibre Channel 光纖通道,企業級儲存時使用的東西
o Utils 日誌一類的東西
oPlugins 一些外掛
Nagios
[root@station39 ~]# rpm -q httpd gcc glibc glibc-common gd gd-devel
[root@station39 ~]# groupadd nagcmd
[root@station39 ~]# useradd -m nagios
[root@station39 ~]# usermod -a -G nagcmd nagios
[root@station39 ~]# usermod -a -G nagcmd apache
[root@station39 nagios]# tar zxvf nagios-3.2.1.tar.gz
[root@station39 nagios-3.2.1]# ./configure –with-command-group=nagcmd
[root@station39 nagios-3.2.1]# make all
[root@station39 nagios-3.2.1]# make install
[root@station39 nagios-3.2.1]# make install-init
[root@station39 nagios-3.2.1]# make install-config
[root@station39 nagios-3.2.1]# make install-commandmode
[root@station39 nagios-3.2.1]# vim /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost //**line 35 x修改接收警告資訊的郵件地址
[root@station39 nagios-3.2.1]# make install-webconf //**在httpd的配置檔案目錄(conf.d)中
建立Nagios的Web程式配置檔案
[root@station39 nagios-3.2.1]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
//** 建立登入nagios web程式的使用者
[root@station39 nagios-3.2.1]# service httpd restart
[root@station39 nagios]# tar zxvf nagios-plugins-1.4.15.tar.gz
[root@station39 nagios]# cd nagios-plugins-1.4.15
[root@station39 nagios-plugins-1.4.15]# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
[root@station39 nagios-plugins-1.4.15]# make && make install
[root@station39 nagios-plugins-1.4.15]# make && make install
[root@station39 nagios-plugins-1.4.15]# chkconfig –add nagios
[root@station39 nagios-plugins-1.4.15]# chkconfig nagios on
檢查配置檔案語法是否正確:
[root@station39 nagios-plugins-1.4.15]# /usr/local/nagios/bin/nagios
-v /usr/local/nagios/etc/nagios.cfg
[root@station39 nagios-plugins-1.4.15]# service nagios start
使用瀏覽器訪問192.168.1.15/nagios :
安裝配置Nagios基於web的管理介面fruity(第三方工具)
#tar zxf fruity-1.0-rc2.tar.gz
# mv fruity-1.0-rc2 /var/www/html/fruity
# cd /var/www/html/fruity
mysql> create database fruity;
mysql> use fruity;
mysql> source sqldata/fruity-mysql.sql
mysql>GRANT SELECT,INSERT,DROP,EMPTY ON fruity.* TO fruity@localhost IDENTIFIED BY `123456`;
# vi includes/config.inc
$sitedb_config[`host`] = `localhost`;
$sitedb_config[`username`] = `fruity`;
$sitedb_config[`password`] = `123456`;
$sitedb_config[`database`] = `fruity`;
$sitedb_config[`dbserv`] = `mysql`;
使用瀏覽器訪問192.168.1.15/fruity 就可以對nagios 進行管理。
NDOUtils的安裝與設定
NDOUTILS ADDON主要用來將Nagios的配置資訊和event產生的資料存入資料庫以方便實現資料的快速檢索和處理,並且為其它通過web介面程式來管理這些資料提供了保障。
[root@station39 nagios]# tar zxvf ndoutils-1.4b9.tar.gz
[root@station39 nagios]# cd ndoutils-1.4b9
[root@station39 ndoutils-1.4b9]# ./configure –enable-mysql –with-mysql-lib=/usr/lib –with-mysql-inc=/usr/include –disable-pgsql
[root@station39 ndoutils-1.4b9]# make
[root@station39 ndoutils-1.4b9]# cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin
mysql> create database ndodb;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON ndodb.* TO ndouser@localhost IDENTIFIED BY `123456`;
mysql> flush privileges;
[root@station39 ndoutils-1.4b9]# cd db
[root@station39 db]# ./installdb -u ndouser -p 123456 -h localhost -d ndodb
[root@station39 ndoutils-1.4b9]# cd config
[root@station39 config]# cp ndo2db.cfg-sample ndo2db.cfg
[root@station39 config]# cp ndomod.cfg-sample ndomod.cfg
[root@station39 ndoutils-1.4b9]# cp -v config/{ndo2db.cfg,ndomod.cfg} /usr/local/nagios/etc
[root@station39 ndoutils-1.4b9]# vim /usr/local/nagios/etc/nagios.cfg
broker_module=/usr/local/nagios /bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
編輯ndo2db守護程式和ndomod的配置檔案
[root@station39 ndoutils-1.4b9]# vim /usr/local/nagios/etc/ndo2db.cfg
socket_type=tcp //** line 33
db_servertype=mysql //** line 78
db_host=localhost //** line 86
db_port=3306 //** line 95
db_prefix=nagios_ //** line 111
db_user=ndouser //** line 121
db_pass=123456 //** line 122
[root@station39 ndoutils-1.4b9]# vim /usr/local/nagios/etc/ndomod.cfg
output_type=tcpsocket //** line 26
output=127.0.0.1 //** line 39
啟動ndo2db守護程式
[root@station39 ndoutils-1.4b9]# /usr/local/nagios/bin/ndo2db-3x
-c /usr/local/nagios/etc/ndo2db.cfg
停止並重新啟動:
# killall -SIGHUP nagios
# rm -f /usr/local/nagios/var/nagios.lock
# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
相關文章
- 幾個常用的linux效能監控命令Linux
- 10多個 Linux 系統管理員必備的監控工具、常用的網站監控工具Linux網站
- linux伺服器檢視監控頻寬的幾個工具Linux伺服器
- 《安全測試常用的幾個工具》
- 【IT運維監控】幾大運維監控工具優缺點介紹運維
- 12 個網路監控工具
- 幾個常用函式的使用函式
- linux常用系統監控工具之vmstatLinux
- Linux下監控流量常用的三大工具!Linux
- 【合集】Linux運維常用的服務監控工具Linux運維
- Linux nmon 監控工具使用Linux
- 常用監控SQLSQL
- 常用的4個伺服器效能監控命令伺服器
- 推薦一個windows的監控工具 SysinternalsSuiteWindowsUI
- 推薦 7 個超棒的監控工具
- [zt] Linux中常用的監控CPU整體效能工具Linux
- Linux中監控磁碟分割槽和使用情況的幾個工具Linux
- 監控 Linux 伺服器活動的幾個命令Linux伺服器
- SAP BW 系統監控的幾個t-code
- Flutter效能監控工具(3)--- Observatory使用Flutter
- 安裝使用OSWatcher監控工具
- AIX常用的效能監控命令AI
- Oracle常用監控SQLOracleSQL
- Linux下監控流量用什麼工具好?這幾個必不可少!Linux
- 80 多個 Linux 必備的監控工具Linux
- 監控 Linux 效能的 18 個命令列工具Linux命令列
- 監控Linux效能的18個命令列工具Linux命令列
- 12 個最佳的免費網路監控工具
- 12 個組織良好的網路監控工具
- 6個監控linux資源的快速工具Linux
- 10 個免費的伺服器監控工具伺服器
- 10個免費的伺服器監控工具伺服器
- windows 下的 監控工具Windows
- MySQL監控工具MySql
- Redis監控工具Redis
- Ganglia監控工具
- 幾個重要的指令碼來監控Oracle資料庫指令碼Oracle資料庫
- Oracle記憶體中的幾個重要監控指標Oracle記憶體指標