snmp服務無故自動停止,人工不能及時的發現,造成系統無法被正常的監控
通過指令碼實現服務異常的情況下自動開啟服務,確保系統被正常的監控
#!/bin/basha=`service snmpd status |awk ''`
b=`netstat -puln | grep ":161 "`
c=`service snmpd status |awk ''|cut -c9-14`
if [ "$a = 停止" ];then
/etc/init.d/snmpd start
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>" >
> /var/log/check_snmpd.log
echo "snmpd start at [`date +"%y-%m-%d %h:%m:%s"`]" >
> /var/log/check_snmpd.log
elif [ "$b" = "" ];then
/etc/init.d/snmpd start
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>" >
> /var/log/check_snmpd.log
echo "snmpd start at [`date +"%y-%m-%d %h:%m:%s"`]" >
> /var/log/check_snmpd.log
elif [ "$c = unused" ];then
/etc/init.d/snmpd start
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>" >
> /var/log/check_snmpd.log
echo "snmpd start at [`date +"%y-%m-%d %h:%m:%s"`]" >
> /var/log/check_snmpd.log
fi exit 0
*/2 * * * * /home/snmpd.sh 把此指令碼加入定時任務
當然變數a,b和c會根據系統linux發行版本的不同而稍微有差異的,請大家根據實際的需要修改
2023年3月9號對此指令碼進行修正
#!/bin/bash[ -f /var/run/snmpd.pid ]
[ "$?" != 0 ] && service snmpd start
echo "snmpd start at [`date +"%y-%m-%d %h:%m:%s"`]"
>
>
/var/log/check_snmpd.log
一般埠流量分析
針對普通網路裝置的埠,mib的相關定義是inte***ce組,主要管理如下資訊:
ifindex 埠索引號
ifdescr 埠描述
iftype 埠型別
ifmtu 最大傳輸包位元組數
ifspeed 埠速度
ifphysaddress 實體地址
ifoperstatus 操作狀態
iflastchange 上次狀態更新時間
*ifinoctets 輸入位元組數
*ifinucastpkts 輸入非廣播包數
*ifinnucastpkts 輸入廣播包數
*ifindiscards 輸入包丟棄數
*ifinerrors 輸入包錯誤數
*ifinunknownprotos 輸入未知協議包數
*ifoutoctets 輸出位元組數
*ifoutucastpkts 輸出非廣播包數
*ifoutnucastpkts 輸出廣播包數
*ifoutdiscards 輸出包丟棄數
*ifouterrors 輸出包錯誤數
ifoutqlen 輸出隊長
其中,*號標識的是與網路流量有關的資訊。
例如看看網路介面:
輸入:#snmpwalk -v 1 222.90.47.169 -c public ifindex
輸出:if-mib::ifindex.1 = integer: 1
if-mib::ifindex.2 = integer: 2
if-mib::ifindex.3 = integer: 3
表示有三個網路介面
網路介面明成:
[root@localhost snmp]# snmpwalk -v 1 222.90.47.169 -c public ifdescr
if-mib::ifdescr.1 = string: lo
if-mib::ifdescr.2 = string: eth0
if-mib::ifdescr.3 = string: ppp0
表示;三個介面分別為
1 本地迴路
2 乙太網卡
3 adsl連線
SNMP 相關檢測分支
流量相關的主要採集引數有介面組 ifinoctets 介面傳送的位元組數,指該介面接收的總位元組數,在達到最大值時自動清零 ifoutoctets 介面接收的位元組數,指該介面傳送的總位元組數,在達到最大值時自動清零 ifinucastpkts 輸入的單播包數,是累計數目,指該介面接收的單播資料報數...
SNMP對nginx 狀態監控
snmp對nginx 狀態監控 通過nginx第三方模組,來實現對相關資料採集,通過對snmp進行指令碼擴充套件,來實現snmp傳送 nginx第三方模組 ngx req status master 模組說明 實現了對指定網域名稱執行過程中對其頻寬,所耗流量,請求數及連線數進行了統計 編譯安裝 sh...
檢測網路狀態
搞了一下午,什麼internetcheckconnection,internetconnect,internetqueryoption試了一堆,發現這些函式要不沒用,要不用起來很麻煩,根本檢測不了網路的狀態。因為機子上本來有wifi和本地網路,所以就用socket了 這是朋友給的乙個函式,方便以後使...