Linux配置snmp


機器環境

[root@linux-node1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
[root@linux-node1 ~]# hostname
linux-node1.nmap.com
[root@linux-node1 ~]# 

安裝net-snmp等工具

[root@linux-node1 ~]# yum install net-snmp net-snmp-utils -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.zju.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Package 1:net-snmp-5.7.2-24.el7_2.1.x86_64 already installed and latest version
Package 1:net-snmp-utils-5.7.2-24.el7_2.1.x86_64 already installed and latest version
Nothing to do
[root@linux-node1 ~]# 

到現在為止,我們已經有了可以運行的SNMP代理程序  

設置安全的驗證方式

將SNMP代理程序暴露給網絡上的所有主機是很危險的,為了防止其它主機訪問你的SNMP代理程序,我們需要在SNMP代理程序上加入身份驗證機制。
SNMP支持不同的驗證機制,這取決於不同的SNMP協議版本,監控寶目前支持v2c和v3兩個版本,其中v2c版本的驗證機制比較簡單,它基於明文密碼和授權IP來進行身份驗證,
而v3版本則通過用戶名和密碼的加密傳輸來實現身份驗證,我們建議使用v3
當然,只要按照以下的介紹進行配置,不論是v2c版本還是v3版本,都可以保證一定的安全性,你可以根據情況來選擇。
注意一點,SNMP協議版本和SNMP代理程序版本是兩回事,剛才說的v2c和v3是指SNMP協議的版本
而Net-SNMP是用來實現SNMP協議的程序套件

 

 

編輯配置文件

v2c
先來看如何配置v2c版本的SNMP代理

[root@linux-node1 ~]# cd /etc/snmp/
[root@linux-node1 snmp]# ls
snmpd.conf  snmptrapd.conf
[root@linux-node1 snmp]# cp snmpd.conf snmpd.conf.bak
[root@linux-node1 snmp]# vim snmpd.conf

  

默認有如下內容,全部清空了

 

改成如下內容

[root@linux-node1 snmp]# vim snmpd.conf
[root@linux-node1 snmp]# cat snmpd.conf
rocommunity nmap 192.168.58.11
[root@linux-node1 snmp]# 

注意:添加用戶時,請確保snmp服務沒有運行,否則無法添加。
注意,這里的“rocommunity”表示這是一個只讀的訪問權限,從你的服務器上獲取信息,而不能對服務器進行任何設置。
緊接着的“nmap”是團體名,相當於密碼,很多平台喜歡使用“public”這個默認字符串。這里的“nmap”只是一個例子,你可以設置其它字符串作為密碼。
最右邊的“192.168.58.11”代表指定的監控點IP,這個IP地址意味着只有192.168.58.11這個地址的機器有權限來訪問你的SNMP代理程序。
在zabbix server上使用snmp添加服務器的時候,需要提供這個“snmp”字符串。

  

啟動服務,查看監聽,它默認監聽udp的161端口

[root@linux-node1 ~]# systemctl start snmpd
[root@linux-node1 ~]# netstat -lunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1345/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1345/dnsmasq        
udp        0      0 0.0.0.0:123             0.0.0.0:*                           863/chronyd         
udp        0      0 0.0.0.0:161             0.0.0.0:*                           4402/snmpd          
udp        0      0 127.0.0.1:323           0.0.0.0:*                           863/chronyd         
udp6       0      0 ::1:323                 :::*                                863/chronyd         
[root@linux-node1 ~]# 

  

下面工具是安裝net-snmp-utils之后出現的,server端-也就是取數據的需要用它向運行snmp協議的機器取數據

[root@linux-node1 ~]# snmp
snmpbulkget    snmpdf         snmpset        snmptranslate  snmpwalk
snmpbulkwalk   snmpget        snmpstatus     snmptrap       
snmpconf       snmpgetnext    snmptable      snmptrapd      
snmpd          snmpinform     snmptest       snmpusm        
snmpdelta      snmpnetstat    snmptls        snmpvacm       
[root@linux-node1 ~]# snmp

 

 

 學snmp得知道mib,它里面存的是linux所有性能指標

SNMP的技術術語
SNMP:Simple Network Management Protocol(簡單網絡管理協議),是一個標准的用於管理基於IP網絡上設備的協議。
MIB:Management Information Base(管理信息庫),定義代理進程中所有可被查詢和修改的參數。
SMI:Structure of Management Information(管理信息結構),SMI定義了SNMP中使用到的ASN.1類型、語法,並定義了SNMP中使用到的類型、宏、符號等。SMI用於后續協議的描述和MIB的定義。每個版本的SNMP都可能定義自己的SMI。

OID(對象標識符),是SNMP代理提供的具有唯一標識的鍵值。MIB(管理信息基)提供數字化OID到可讀文本的映射。每個對象都有一個oid

 

可以使用OID獲取服務器一些當前性能指標

[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.1
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.2
UCD-SNMP-MIB::laLoad.2 = STRING: 0.01
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.3
UCD-SNMP-MIB::laLoad.3 = STRING: 0.05
[root@linux-node1 ~]# uptime
 13:50:02 up  1:17,  1 user,  load average: 0.00, 0.01, 0.05
[root@linux-node1 ~]# 

比如還可以獲取內存

[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.2.1.25.2.2.0
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 4033636 KBytes
[root@linux-node1 ~]# free -k
              total        used        free      shared  buff/cache   available
Mem:        4033636      128248     3150580        8688      754808     3670732
Swap:       3905532           0     3905532
[root@linux-node1 ~]# 

  

 其余一些服務器指標可以搜索snmp的常用OID

http://blog.csdn.net/buster2014/article/details/46925633

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM