環境:CentOS 7 套件:net-snmp
原因:
SNMP再我們用於系統監控是個非常重要的東西,
有了他,才能夠將我們需要的系統數據正確的回傳到我們的監控伺服器。
並透過監控數據產出我們要的報表資料。
所以我們現在就要試著在Client端將我們的snmp服務建立起來。
處理方式:
Step1. 安裝 Snmp 套件
#yum install net-snmp net-snmp-libs net-snmp-utils -y
Step2. 設定Snmp設定檔
#vim /etc/snmp/snmpd.conf
先註解掉下述三行
#!##################################
位置大概落在41、47、48行
41 #com2sec notConfigUser default public
47 #group notConfigGroup v1 notConfigUser
48 #group notConfigGroup v2c notConfigUser
#!##################################
開始修改內部設定值 (提供所有SNMP的資訊)
#!##################################
打開註解 90行
89 ## incl/excl subtree mask
90 view all included .1 80
#!##################################
定義誰能夠取得到這台主機提供SNMP資訊。
#!##################################
第75、76行,這邊要把community設定成自己的要的值
原本是public,這邊我設成test
source 方面就是以自己IP位址區段去設計(這邊是192.168.10.0/24)
## sec.name source community
#com2sec local localhost public
com2sec local localhost test
com2sec mynetwork 192.168.10.0/24 test
#!##################################
設定group群組,並設定存取權限。
#!##################################
這邊要把格式修改掉,不要用any,用any會有使用上的問題。
#group MyRWGroup any local
79 group MyRWGroup v1 local
80 group MyRWGroup v2c local
81 group MyROGroup v1 mynetwork
82 group MyROGroup v2c mynetwork
這邊要把後面的0 修改成exact
access MyROGroup "" any noauth 0 all none none
94 access MyROGroup "" any noauth exact all none none
95 access MyRWGroup "" any noauth exact all all all
#!####################################
這邊如果沒有設定的話,會出現下面的錯誤。
# snmpd -f -Le (這邊為snmp測試啟動指令)
錯誤分3個區塊來看,這邊的第一個區塊表示,
我們不可以在group中使用any,要指定一個版本格式
/etc/snmp/snmpd.conf: line 79: Error: bad security model "any" should be: v1, v2c, usm or a registered security plugin name - installing anyway
/etc/snmp/snmpd.conf: line 80: Error: bad security model "any" should be: v1, v2c, usm or a registered security plugin name - installing anyway
這邊的區塊表示prefix 區塊不可以使用0,要使用exact。
/etc/snmp/snmpd.conf: line 94: Error: bad prefix match parameter "0", should be: exact or prefix - installing anyway
/etc/snmp/snmpd.conf: line 95: Error: bad prefix match parameter "0", should be: exact or prefix - installing anyway
net-snmp: 4 error(s) in config file(s)
最後的錯誤是因為你的port (UDP-161)已經被佔用。
才會出現下面的問題。
這邊是因為稍早忘記自己已經啟用了SNMP服務,
所以才會在測試時出現這個問題。
Error opening specified endpoint ""
Server Exiting with code 1
Step 3. 測試
再設定完成之後,我們就要來測試一下使用上有沒有問題了
測試指令(必須再 snmp未開啟的狀態下使用)
如果開啟成功,會顯示目前的SNMP版本號。
#snmpd -f -Le
NET-SNMP version 5.7.2
測試可以使用後,我們將服務設定開機啟用。
#systemctl enable snmpd
#systemctl start snmpd
測試SNMP運作是否正常
這邊的test是我們設定檔中定義的 community
#snmpwalk -c test -v 2c localhost
正常狀況下會拋出這些資料。
Step 4. 用監測工具Cacti 來加入這台主機的資訊
填入設定值後,選擇我們要顯示的資訊
(version 1 這邊依你設定檔中有定義的版本為主)
選擇 interface 項次
依收集到的SNMP資料繪製圖形
反灰表示已經選用要繪製圖行了。
之後我們就可以透過cacti 察看我們的網路流量了。
當然SNMP蒐集來的資料不僅僅只有網卡流量而已,
這就要看大家如何使用了。
但是千萬要記住,一定要做可以蒐集資料的來源端的限制。
如果沒有限制,被有心人士取得SNMP資訊後是會出問題的。
(本篇完)
留言列表