監控,利用snmp來獲取交換機的狀態,監控流程:
- 交換機配置snmp,指定community
- 配置監控模板
- 添加交換機,鏈接模板
主要監控指標:
- CPU
- MEM
- FAN,風扇
- 溫度
- 電源狀態
- 端口狀態
- 端口流量
我們環境中使用了華為交換機,CE58及68.以下主要介紹58交換機的模板設置。
模板包括
- 監控項
- 觸發器
- 自動發現規則
- 圖形
在我們的監控指標中:
- CPU/MEM/FAN/TEMP/POWER,利用從華為官網獲取oid設置監控項
- 端口監控,由于端口較多,采用自動發現及注冊的方式
部分監控項配置如下:
ce58_items
CE58_cpu
觸發器的配置如下:
ce58_trigger_cpu
設置宏:
set_macro
端口自動發現的規則配置:
ce58_disc
自動發現原理說明,客戶端類型選擇為SNMPv2類型;
SNMP OID:
ifAlias: 鍵值,自定義
discovery[{#IFALIAS},IF-MIB::ifAlias]:獲取網絡設備所有接口名稱。獲取到名稱后,自動發現規則就能夠產生兩個JSON格式的數據,一個是{#IFALIAS}:對應的里面的數據是接口名稱;還有一個是{#SNMPINDEX}:對應的里面的數據是接口的id。
{$SNMP_COMMUNITY}:SNMP的community的名稱,需要在網絡設備端配置snmp,并設置此community至少具有讀權限
數據更新間隔:實施自動發現的頻率
示例如下:
discovery[{#IFALIAS},IF-MIB::ifAlias]
IF-MIB::ifAlias.12 = STRING: Test01
IF-MIB::ifAlias.13 = STRING: Test02
針對以上的數據解析如下:
SNMPVALUE: Test01
SNMPINDEX: 12
多pairs數據發現:
discovery[]:可以設置多個pairs of macro and oid;
如下:
discovery[{#IFALIAS},IF-MIB::ifAlias, {#IFPHYSADDRESS}, ifPhysAddress]
//利用snmpwalk檢索數據如下
snmpwalk -v 2c -c **** {ip} IF-MIB::ifDescr
IF-MIB::ifAlias.12 = STRING: Test01
IF-MIB::ifAlias.13 = STRING: Test02
snmpwalk -v 2c -c **** {ip} IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.12 = STRING: 2c:97:b1:e7:be:11
IF-MIB::ifPhysAddress.13 = STRING: 2c:97:b1:e7:be:11
自動發現策略返回的json格式的數據如下:
{
"data": [
{
"{#SNMPINDEX}": "12",
"{#IFALIAS}": "Test01",
"{#IFPHYSADDRESS}": "2c:97:b1:e7:be:11"
},
{
"{#SNMPINDEX}": "13",
"{#IFALIAS}": "Test01",
"{#IFPHYSADDRESS}": "2c:97:b1:e7:be:11"
}
]
}
以上內容設置了自動發現的基礎信息,設置過濾規則:
ce58_filter
設置自動發現中的監控項:
ce58_dis_items.png
ce58_dis_item.png
其中注意:單位bps,所以需要乘以8;更新間隔為30s,{$SNMP_COMMUNITY}是宏。
添加觸發器及圖形,可以手動按步驟添加。
最后添加交換機,如下圖:
sw_add
鏈接模板:
link_template.png