監控寶搭配Net-SNMP監控伺服器狀態

Net-SNMP這是一套很常見的系統監測軟體,像什麼MRTG啦~CATTI啦!都是從SNMP抓資訊作輸出的,好久沒寫LiNUX文章了,這次利用一點空閒時間來寫一下,主要是因為俺的部落格前幾天突然掛點,才想說用一直都有用這個搭配監控寶來檢測系統,看現在監控寶現在是越做越好了,功能一直有在增加也很不錯,雖然最可惜的就是沒支援台灣的手機警告,但其他方面其實都很棒的!管理機器真的很實用,另外之前有很簡單的介紹過監控寶搭配NGiNX的監控~ 有興趣可以參考看看,監控寶官網也有監控Apache的教學或是設定MySQL的監控

點偶放大 點偶放大 點偶放大

文章中的安裝及應用方法皆以手動鞭譯為主,利用YUM簡便安裝的童鞋請務必確認修改對應的conf設定檔的位置再啟動SNMP。

Step.1 利用YUM簡便安裝

A. 先導入rpmforge這個CentOS官方認可的第三方套件庫

i386 / 32位元

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ihv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

x86_64 / 64位元

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

B. 導入完畢後再下這行指令就好啦 :P

yum install -y lm_sensors net-snmp net-snmp-libs net-snmp-utils

Step.2 有自虐傾向喜歡手動鞭譯的童鞋眼睛放亮看仔細啦! :cute 這邊安裝的是官方的5.6.1.1穩定版(YUM安裝的是5.3.2.2),並不是5.7.1的版本唷!

cd /usr/src
wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.1.1/net-snmp-5.6.1.1.tar.gz
tar xzf net-snmp-*.tar.gz
cd net-snmp-*
./configure --prefix=/usr/local/snmp --with-openssl=/usr/ --with-mib-modules=ucd-snmp/diskio --with-mysql --with-defaults
make && make install
chmod +x /etc/init.d/snmpd
cp EXAMPLE.conf.def /usr/local/snmp/share/snmp/snmpd.conf
cd /usr/src
rm -fr net-snmp-*

Step.3 設定SNMP參數

A. 設定SNMP伺服器的外網IP

vi +/agentAddress /usr/local/snmp/share/snmp/snmpd.conf

在第15行的agentAddress udp:127.0.0.1:161的之後新增以下參數

agentAddress udp:8.8.8.8:161

注意8.8.8.8的IP位置要修改成伺服器的外網IP位置,監控寶才找的到,不然就是唱追追追也找不到你的伺服器唷! GY

B. 設定帳號密碼

vi +/r[ow]community /usr/local/snmp/share/snmp/snmpd.conf

在第66行的# r[ou]user and r[ow]community, together with suitable views, should cover most requirements的之後新增以下參數

rocommunity jiankongbao 60.195.249.83 # ← v2c的驗證帳號和IP位置
rocommunity jiankongbao 60.195.252.107 # ← v2c的驗證帳號和IP位置
rocommunity jiankongbao 60.195.252.110 # ← v2c的驗證帳號和IP位置
rouser jiankongbao auth # ← v3c的驗證帳號

Step.4 新增使用者jiankongbao的密碼檔案

mkdir -p /var/net-snmp/
touch /var/net-snmp/snmpd.conf
echo "createUser jiankongbao MD5 qooqooqoo" >> /var/net-snmp/snmpd.conf

這邊要注意帳密的格式是這樣的,帳號:jiankongbao / 密碼:qooqooqoo,而且密碼部分要設定在8位數以上,另外擔心v2c安全問題的可以只增加v3c格式的就好,但其實在防火牆設定好161能通行的IP就沒什麼大問題了。

Step.5 啟動SNMP並檢察SNMP運作是否正常

/usr/local/snmp/sbin/snmpd
ps ax | grep snmpd
netstat -atunp | grep snmpd

Photobucket

這邊的重點是要看SNMP有啟動嗎?有沒有在使用161的PORT。

Step.6

最後再到監控寶的測試工具網頁去測試連線吧!

v2c測試範例
點偶放大

v3c測試範例
點偶放大

Step.7 啟動SNMP服務

vi /etc/init.d/snmpd

把這個啟動檔案的內容換成如下,或是點此下載snmpd-init.d

CODE:
  1. #!/bin/sh
  2. #
  3. # snmpd This shell script takes care of starting and stopping
  4. #   the net-snmp SNMP daemon
  5. #
  6. # chkconfig: - 26 74
  7. # description: snmpd is net-snmp SNMP daemon.
  8.  
  9. # Source function library.
  10. . /etc/rc.d/init.d/functions
  11.  
  12. # Source networking configuration.
  13. . /etc/sysconfig/network
  14.  
  15. # Check that networking is up.
  16. [ "${NETWORKING}" = "no" ] && exit 0
  17.  
  18. RETVAL=0
  19. name="snmpd"
  20. prog="/usr/local/snmp/sbin/snmpd"
  21.  
  22. [ -x $prog -a -f /usr/local/snmp/share/snmp/snmpd.conf ] || exit 0
  23.  
  24. start() {
  25.         # Start daemons.
  26.         echo -n $"Starting $name: "
  27.         daemon $prog
  28.     RETVAL=$?
  29.         echo
  30.         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$name
  31.     return $RETVAL
  32. }
  33.  
  34. stop() {
  35.         # Stop daemons.
  36.         echo -n $"Shutting down $name: "
  37.     killproc $prog
  38.     RETVAL=$?
  39.         echo
  40.         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$name
  41.     return $RETVAL
  42. }
  43.  
  44. # See how we were called.
  45. case "$1" in
  46.   start)
  47.     start
  48.         ;;
  49.   stop)
  50.     stop
  51.         ;;
  52.   status)
  53.     status $name
  54.     RETVAL=$?
  55.     ;;
  56.   restart|reload)
  57.     stop
  58.     start
  59.     RETVAL=$?
  60.     ;;
  61.   condrestart)
  62.     if [ -f /var/lock/subsys/$name ]; then
  63.         stop
  64.         start
  65.         RETVAL=$?
  66.     fi
  67.     ;;
  68.   *)
  69.         echo $"Usage: $0 {start|stop|restart|condrestart|status}"
  70.         exit 1
  71. esac
  72.  
  73. exit $RETVAL

chkconfig --levels 235 snmpd on
/etc/init.d/snmpd start

收工啦! ({)

其他資訊

監控寶 → 註冊頁面
監控寶 → 功能特色
監控寶 → 監控項目類型概述
監控寶 → 安全指引
監控寶 → 常見問題(FAQ)

相關文章


監控寶搭配Net-SNMP監控伺服器狀態目前有 3 個評論

  1. 又來了............>_<
    跟著做 到最後

    Starting snmpd: [FAILED]

  2. 噗~~~ 我找到問題了 冏

  3. 沒放感情吼 :-#

    噗~~~ 我找到問題了 冏

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Go back to top