如何使用Cacti为连接到路由器/交换机的设备创建(上传/下载)图表?

时间:2016-03-03 11:47:49

标签: snmp net-snmp cacti

我正在尝试为连接到光线路终端(OLT)的ONU(客户端)设备创建图形。可以创建OLT(上游)的图形,但我坚持为连接到OLT的每个设备创建图形。

1 个答案:

答案 0 :(得分:1)

让它工作:DataInputMethod应该是脚本/命令。用于获取OLT snmp数据并将其输出到文件的脚本[我每隔2分钟使用cron运行此脚本]数据将保存到/ tmp目录中的相应OLT文件中。

稍后我使用另一个脚本来提取ONU(连接到每个OLT的客户端设备以提取下载和上传数据)

# get_olt_snmp.sh

#!/bin/bash
echo ` date`
# PTS-OLT1.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area1-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area1-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area1-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area1-olt1.example.com_upload_data 

#CBL-OLT1.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area2-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area2-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area2-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area2-olt1.example.com_upload_data

#area3-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area3-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area3-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area3-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area3-olt1.example.com_upload_data

#area4-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area4-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area4-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area4-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area4-olt1.example.com_upload_data

#area5-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area5-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area5-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area5-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area5-olt1.example.com_upload_data

#area6-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area6-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area6-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area6-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area6-olt1.example.com_upload_data

#area7-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area7-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area7-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area7-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area7-olt1.example.com_upload_data

#area8-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area8-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area8-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area8-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area8-olt1.example.com_upload_data

#area9-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area9-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area9-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area9-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area9-olt1.example.com_upload_data

#area10-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area10-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area10-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area10-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area10-olt1.example.com_upload_data

#area11-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area11-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area11-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area11-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area11-olt1.example.com_upload_data

#area12-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area12-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area12-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area12-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area12-olt1.example.com_upload_data

#area13-olt1.example.com.example.com
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area13-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.4 > /tmp/area13-olt1.example.com_download_data
/usr/bin/snmpwalk -v2c -c SnmpS3cretpass area13-olt1.example.com .1.3.6.1.4.1.2011.6.128.1.1.4.23.1.3 > /tmp/area13-olt1.example.com_upload_data

读取onu脚本为每个客户端设备创建图形。在cacti datainputtype字段中添加此脚本

# read_onu_snmp.sh

#!/bin/sh
#
# Find a user's in/out traffic by username.
# Syntax:
# olt_snmp <olt> <ontid>

OLT=$1
ONTID=$2

UPLOAD=`/bin/grep ${ONTID} /tmp/${OLT}_upload_data | cut -d':' -f4 | sed 's/ *//g'`
DOWNLOAD=`/bin/grep ${ONTID} /tmp/${OLT}_download_data | cut -d':' -f4 | sed 's/ *//g'`

echo "in_traffic:${UPLOAD} out_traffic:${DOWNLOAD}"