工作中用到很多Linux與windows結合的環境,逐漸習慣在linux下用snmpwalk或隨snmpget來查詢或者管理一些windows服務器,但是今天又發現了個奇怪的現象:
windows機器衆所周知使用時間長了會出現很多莫名其妙的問題,所以趕在例行停機維護的時候重啓一下,重啓之後查詢系統啓動時間時原本一直用systeminfo,但是這樣太浪費時間,遂想到了這條命令snmpwalk -v1 -c community host sysUpTime.0,但使用中發現兩條問題如下:
1.sysUpTime與hrSystemUptime的區別
http://net-snmp.sourceforge.net/docs/FAQ.html#The_system_uptime__sysUpTime__returned_is_wrong_
官方的解釋如上,大意就是sysUpTime所顯示的時間是snmp服務最後一次啓動距現在多久,而hrSystemUptime顯示的時間纔是系統正常運行的時間,還好我的系統snmp服務是開機啓動,一般不會手動重啓這個服務,所以用sysUpTime也勉強能達到效果,但是用hrSystemUptime的時候發現它顯示的時間跟系統真正運行的時間systeminfo裏看到的,有很大區別,不知道爲什麼,難道是上一次系統有錯誤日誌的時間?
2.部分服務器snmpwalk報錯
之前一直用的是 snmpwalk -v1 -c community host | grep sysUpTime,但是這條命令在部分服務器上運行就會報錯,內容如下:
HOST-RESOURCES-MIB::hrSystemInitialLoadParameters.0 = ""
Error in packet.
Reason: (genError) A general failure occured
Failed object: HOST-RESOURCES-MIB::hrSystemInitialLoadParameters.0
上網搜了半天也沒有好的解決方法,跟其它服務器的配置也比較過,看不出異常,頭疼。。。。