snmp狀態檢測

2021-09-04 06:13:33 字數 2483 閱讀 2973

snmp服務無故自動停止,人工不能及時的發現,造成系統無法被正常的監控

通過指令碼實現服務異常的情況下自動開啟服務,確保系統被正常的監控

#!/bin/bash 

a=`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了 這是朋友給的乙個函式,方便以後使...