Mais conteúdo relacionado Semelhante a Linux network monitoring hands-on pratice (20) Mais de Kenny (netman) (19) Linux network monitoring hands-on pratice2. 主題大綱
● Tcpdump
● Wireshark
● Ntop
● Mrtg
● Cacti
● Nagios
● OpenNMS
5. 截取參數
-D
顯示所有可截取的網卡
-i [interface]
選擇網卡
any 表示所有的網卡
-p
不將網卡切入 promiscuous mode
-F [file]
由指定的檔案讀取 Filter Expression
-s
限制封包長度 (預設為 68 bytes)
0 表示不限制,錄下完整封包
6. 儲存參數
-c [封包數]
錄下指令數量的封包後停止
-C [檔案大小]
限制記錄檔案之大小 (搭配 -w 指定檔名)
達到上限時將開新檔繼續儲存
單位為 1,000,000 bytes
-W [檔案數]
限制 -C 參數儲存之檔案數量
8. 顯視參數
-A
以 ASCII 字元顯示封包內容
-e
顯示 Link Layer 資訊 (例如MAC-Address)
-n
不作名稱解析 (主機名稱、服務名稱… etc)
-v
顯示較詳細的封包資訊
-v 、 -vv 、 -vvv 三種等級
-x / -xx
將封包內容以 hex 格式顯示
-X / -XX
將封包內容以 hex 及 ASCII 格式顯示
9. 時間參數
-t
不顯示時間戳記
-tt
顯示 UNIX timestamp 格式
-ttt
顯示每個封包之間隔 (micro seconds)
-tttt
顯示標準格式 (yyyy-mm-dd hh:mm:ss.ms)
10. 協定參數
Layer 2
arp
rarp
stp
vlan
Layer 3
ip
ip6
Layer 4
tcp
udp
icmp
15. 範例
● 觀察eth0網頁連線
tcpdump -i eth0 tcp port 80
● 觀察 eth1 arp 封包
tcpdump -i eth1 arp
● 觀察對 168.95.1.1 之 DNS 查詢
tcpdump host 168.95.1.1 and udp port 53
● 錄下 POP3封包
tcpdump -w pop3.pcap tcp port 110
● 觀察 TCP SYN 封包
tcpdump ‘tcp[tcpflags] == 2’
21. 安裝
yum -y install wireshark wireshark-gnome
28. IP來源分析
● MaxMind GeoIP Database
http://geolite.maxmind.com/download/geoip/da
tabase/
● How To Use GeoIP With Wireshark
http://wiki.wireshark.org/HowToUseGeoIP
35. 參考資源
● User’s Guide
http://www.wireshark.org/docs/wsug_html_chunked/
● Display Filter Reference
http://www.wireshark.org/docs/dfref/
● Wiki
http://wiki.wireshark.org/
● Manual
http://www.wireshark.org/docs/man-pages/
● FAQ
http://www.wireshark.org/faq.html
40. 設定
● 編輯 /etc/ntop.conf
– --http-server=3000
● 可變更 http server port
– --interface=eth0
● 可變更聆聽之網路界面
– --local-subnets=xx.xx.xx.xx/yy
● 定義本地端網段
– 以及其他開放項目都要增加=
41. 設定
● 編輯 /etc/init.d/ntop (CentOS Only)
– 把這行
daemon $prog -d -L @/etc/ntop.conf
– 修改為:
daemon $prog @/etc/ntop.conf -d -L
42. 啟動
● ntop -A
– 輸入登入密碼
– Ctrl+C 停止
● service ntop start
● chkconfig ntop on
44. 參考資源
● Ntop Blog
http://www.ntop.org/blog/
● Ntop Overview
http://www.ntop.org/ntop-overview.pdf
● Ntop Presentation
http://www.ntop.org/OpenSourceConf_Athens2
008.pdf
● Manpage
http://www.ntop.org/ntop-man.html
46. mrtg
● http://www.mrtg.org/
● Multi Router Traffic Grapher
● 利用SNMP、或客製指令抓取資料,並產生趨
勢圖表
● 可產生 日/週/月/年 下之平均數據
● 常用來紀錄
– 網路界面流量
– 主機負載 (CPU/Memory/ … etc)
– 磁碟使用率In-Line Analysis
48. 設定
● 修改 /etc/snmp/snmpd.conf
● 在如下句子下修改:
# YOU SHOULD CHANGE THE
"COMMUNITY" TOKEN BELOW TO A NEW
KEYWORD ONLY
● 主要修改:
com2sec local localhost netadmin
com2sec mynetwork 10.10.10.0/24 netadmin
49. 設定
● 取消下行註解
group MyRWGroup any local
group MyROGroup any mynetwork
view all included .1 80
access MyROGroup "" any noauth 0
all none none
access MyRWGroup "" any noauth 0
all all all
50. 設定
● 重新運行 snmpd
service snmpd restart
chkconfig snmpd on
● 并以 snmpwalk 進行測試
snmpwalk localhost -c netadmin -v 1
51. 設定
● 產生mrtg設定檔
cd /etc/mrtg
cfgmaker netadmin@[IP] >> mrtg.cfg
● 執行
LANG=C mrtg /etc/mrtg/mrtg.cfg
● 執行三次
● 產生mrtg首頁
indexmaker --columns=1
--output=/var/www/mrtg/index.html
/etc/mrtg/mrtg.cfg
52. 觀察結果
● 起動 apache:
service httpd restart
chkconfig httpd on
● 用瀏覽器察看:
http://[ip]/mrtg
● 或需修改:
/etc/httpd/conf.d/mrtg.conf
55. 需求
● php
– 執行網頁界面
● mysql
– 存放網頁界面資料庫
● rrdtool
– 處理 rrd 資料
● net-snmp
– 抓取 snmp 資料
58. 資料庫處理
● 啟動 MySQL
– service mysqld start
– chkconfig mysqld on
● 建立 cacti 資料庫、帳號
– mysql
● mysql> create database cacti;
● mysql> grant all on cacti.* to cacti@localhost
identified by 'password';
● mysql> quit
● 匯入資料庫
– mysql cacti -u cacti -p <
/var/www/cacti/cacti.sql
59. ● 編輯設定檔
– vim /var/www/cacti/include/config.php
● $database_type = "mysql";
● $database_default = "cacti";
● $database_hostname = "localhost";
● $database_username = "cacti";
● $database_password = "password";
● $database_port = "3306";
● $url_path = “/cacti/”;
● 重新起點 apache
service apache restart
64. 新增步驟
● 新增主機
– Devices → Add
● 填入Description、Hostname
● 選擇Host Template
● 設定 SNMP Options(community)
● Create
66. 新增步驟
● 建立圖表
– Devices → 點進該設備 → Create Graphs for
this Host
● 勾選欲建立之圖表後
● Create
68. 新增步驟
● 放置圖表
– Devices → 勾選選擇該設備 (最右邊)
● 下拉選單:
– Place on a Tree
● Go & Continue
70. ● 管理圖表
– Graph Trees → Add
● 可建出各類設備之樹狀結構
– Graph Management
● 勾選欲置放之圖表
● Choose an action: Place on a Tree
– Destination Branch (如有子節點)
– Yes
71. ● 觀看圖表
– 切換至 Graphs 標簽
● 展開 Graph Tree
● 選擇主機
76. poller
● cmd.php
– 以 php 開發
– cacti 預設的 poller script
– 偵測主機多時效率不佳
● spine (cactid)
– 使用 C 語言開發
– 以multi-process + multi-thread執行,效率較好
79. 設定spine
● 編輯設定檔
– vim /etc/spine.conf
● DB_Host localhost
● DB_Database cacti
● DB_User cacti
● DB_Pass password
● DB_Port 3306
80. 使用 spine
設定 spine 路徑(settings → Path: /usr/bin/spine)
84. 安裝
yum install opennms opennms-plugins
opennms-plugins-nrpe
* or 參考:
http://eggchang.pixnet.net/blog/post/32659238
85. 安裝與設定 PostgreSQL
● 安裝 postgresql
yum -y install postgresql postgresql-server
postgresql-jdbc
● 讓 postgresql 於開機時自動執行
chkconfig --level 345 postgresql on
● 第一次啟動 postgresql
service postgresql start
86. ● 修改 postgresql 啟動參數
cd /var/lib/pgsql/data
mv pg_hba.conf pg_hba.conf.bak
sed 's/ident sameuser/trust/g'
pg_hba.conf.bak > pg_hba.conf
● 重新啟動 postgresql
service postgresql restart
87. 安裝與設定 JDK
● 下載 jdk
wget http://download.oracle.com/otn-pub/
java/jdk/6u22-b04/jdk-6u22-linux-i586-
rpm.bin
● 安裝 JDK
bash jdk-6u22-linux-i586-rpm.bin
88. ● 設定環境變數
cat << EOF > /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
EOF
cat << EOF > /etc/profile.d/java.csh
set JAVA_HOME=/usr/java/default
set PATH=$JAVA_HOME/bin:$PATH
EOF
source /etc/profile.d/java.sh
89. 下載與安裝 OpenNMS
● 安裝 OpenNMS 的 yum repositories
rpm -ivh
http://yum.opennms.org/repofiles/open
nms-repo-stable-rhel5.noarch.rpm
● 建立與設定資料庫
sudo -u postgres createdb -U postgres
-E UNICODE opennms
yum -y install iplike
90. ● 安裝 OpenNMS
yum -y install opennms mib2opennms
opennms-*
● 設定 OpenNMS
/opt/opennms/bin/runjava -s
/opt/opennms/bin/install -dis
chkconfig opennms on
● 啟動 OpenNMS
service opennms start
92. 參考資源
● OpenNMS Documentation
– http://www.opennms.org/documentation
● Official OpenNMS Documentation
– http://support.opennms.com/knowledgebase/officialdocs
● OpenNMS Wiki
– http://wiki.opennms.org/index.php/Main_Page
● Installation:Yum
– http://www.opennms.org/wiki/Installation:Yum
● OpenNMS Documentation Overview
– http://www.opennms.org/wiki/Docu-overview
● OpenNMS FAQ
– http://www.opennms.org/wiki/FAQ
96. 系統設定
● 建立httpd帳號
htpasswd -c /etc/nagios/htpasswd.users
nagiosadmin
htpasswd /etc/nagios/htpasswd.users
nagiosuser
● 啟動服務
service httpd restart
service nagios start
chkconfig httpd on
chkconfig nagios on
97. 測試連線
● 檢查設定檔語法
nagios -v /etc/nagios/nagios.cfg
● http://127.0.0.1/nagios/
– 以 nagiosadmin 登入
98. 設定
● 修改管理員信箱
vi /etc/nagios/objects/contacts.cfg
define contact{
email user@domain ;
99. 設定
● 設定 nrpe
echo 'nrpe 5666/tcp' >> /etc/services
serivce nrpe start
chkconfig nrpe on
100. 設定
● 測試 nrpe
/usr/lib/nagios/plugins/check_nrpe -H
localhost -c check_users
/usr/lib/nagios/plugins/check_nrpe -H
localhost -c check_load
/usr/lib/nagios/plugins/check_nrpe -H
localhost -c check_total_procs
/usr/lib/nagios/plugins/check_nrpe -H
localhost -c check_zombie_procs
101. 設定
● 測試硬碟空間
vi /etc/nagios/nrpe.cfg
allowed_hosts=127.0.0.1,ip.ip.ip.ip
command[check_root_space]=/usr/l
ib/nagios/plugins/check_disk -w
20% -c 10% -p /dev/VG/root_LV
serive nrpe restart
/usr/lib/nagios/plugins/check_nrpe -H
localhost -c check_root_space
102. 設定
● 建立主機組態
cp /etc/nagios/objects/windows.cfg
/etc/nagios/objects/linux.cfg
vi /etc/nagios/objects/linux.cfg
● use linux-server
● host_name linuxserver
● Address 10.10.2.1
● hostgroup_name linux-servers
103. 設定
● vi /etc/nagios/objects/linux.cfg
– 把全部 host_name 從 winserver 修改
為 linuxserver (前面定義的)
– 刪除多餘的 service { … }
define service{
use generic-service
host_name linuxserver
service_description Online Users
check_command check_nrpe!check_users
}
104. 設定
● 定義 nrpe 命令
vi /etc/nagios/objects/commands.cfg
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H
$HOSTADDRESS$ -c $ARG1$
}
105. 設定
● 修改 /etc/nagios/nagios.cfg :
cfg_file=/etc/nagios/objects/linux.cfg
● 檢查組態
nagios -v /etc/nagios/nagios.cfg
● 重新執行服務
service nagios restart
106. 參考資源
● OpenNagios
– http://software.opensuse.org/ymp/openS
USE:11.3/standard/nagios.ymp
● Nagios Plugins
– http://software.opensuse.org/ymp/openS
USE:11.3/standard/nagios-plugins.ymp
● Nagios Addons Extras
– http://software.opensuse.org/ymp/openS
USE:11.3/standard/nagios-plugins-extras.
ymp