赞
踩
最近收到机房账单多出了将近70M下行带宽,多交了8K多的费用,很是蛋疼。IDC机房使用每月保底带宽模式, 例如保底100M带宽/月,如果利用955计费方式,没超出100M则只收机柜和保底带宽的费用,如果超出1M则按照额外进行收费。 这里比较蛋疼的是,上行和下行带宽默认不做限制,最高可以跑到1G。。。,之前没做好交换机流量监控,导致没能及时发现问题。Zabbix可以根据交换机开启的snmp服务,采集到交换机各个口的流量指标,但是由于现在已经全面转向Prometheus体系,所以只能通过一些方法将这个监控接入Prometheus。
简单网络管理协议(Simple Network Management Protocol, SNMP)原名叫做简单网关监控协议(Simple Gateway Monitoring Protocol, SGMP)。最早是IETF的研究小组提出来的,在SGMP协议的基础之上,加上新的管理信息结构和管理信息库,让SGMP更加全面。简单性和扩展性是SNMP所体现出来的,其中包含数据库类型(Database Schema),一个应用层协议(Application Layer Protocol)和一些资料文件。SNMP管理协议不光能够加强网络管理系统的效能,而且还可以用来对网络中的资源进行管理和实时监控。
正好官方prometheus项目就提供了这个关于snmp的exporter,按照对接方式将snmp指标采集即可。
运行命令测试snmp是否正常(默认community是public, 但是如果改过了记得改,要不然测试不通):
snmpwalk -v2c -c my_community 10.23.0.253 1.3.6.1.2.1.31.1.1
返回获取到交换机端口列表则表示正常。
snmp_exporter独立运行,并且要加载一个snmp.yml配置文件。 snmp.yml配置文件内容就是包含如下(默认指标):
- # WARNING: This file was auto-generated using snmp_exporter generator, manual changes will be lost.
- if_mib:
- version: 2
- auth:
- community: my_community #这个要根据情况定,默认是public,但是如果已经自定义,则填入自定义的community
- walk:
- - 1.3.6.1.2.1.2
- - 1.3.6.1.2.1.31.1.1
- get:
- - 1.3.6.1.2.1.1.1.0
- - 1.3.6.1.2.1.1.3.0
- - 1.3.6.1.2.1.1.5.0
- metrics:
- - name: sysDescr
- oid: 1.3.6.1.2.1.1.1
- type: DisplayString
- help: A textual description of the entity - 1.3.6.1.2.1.1.1
- - name: sysUpTime
- oid: 1.3.6.1.2.1.1.3
- type: gauge
- help: The time (in hundredths of a second) since the network management portion
- of the system was last re-initialized. - 1.3.6.1.2.1.1.3
- - name: sysName
- oid: 1.3.6.1.2.1.1.5
- type: DisplayString
- help: An administratively-assigned name for this managed node - 1.3.6.1.2.1.1.5
- - name: ifNumber
- oid: 1.3.6.1.2.1.2.1
- type: gauge
- help: The number of network interfaces (regardless of their current state) present
- on this system. - 1.3.6.1.2.1.2.1
- - name: ifIndex
- oid: 1.3.6.1.2.1.2.2.1.1
- type: gauge
- help: A unique value for each interface - 1.3.6.1.2.1.2.2.1.1
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifType
- oid: 1.3.6.1.2.1.2.2.1.3
- type: EnumAsInfo
- help: The type of interface, distinguished according to the physical/link protocol(s)
- immediately `below' the network layer in the protocol stack. - 1.3.6.1.2.1.2.2.1.3
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- enum_values:
- 1: other
- 2: regular1822
- 3: hdh1822
- 4: ddn-x25
- 5: rfc877-x25
- 6: ethernet-csmacd
- 7: iso88023-csmacd
- 8: iso88024-tokenBus
- 9: iso88025-tokenRing
- 10: iso88026-man
- 11: starLan
- 12: proteon-10Mbit
- 13: proteon-80Mbit
- 14: hyperchannel
- 15: fddi
- 16: lapb
- 17: sdlc
- 18: ds1
- 19: e1
- 20: basicISDN
- 21: primaryISDN
- 22: propPointToPointSerial
- 23: ppp
- 24: softwareLoopback
- 25: eon
- 26: ethernet-3Mbit
- 27: nsip
- 28: slip
- 29: ultra
- 30: ds3
- 31: sip
- 32: frame-relay
- - name: ifMtu
- oid: 1.3.6.1.2.1.2.2.1.4
- type: gauge
- help: The size of the largest datagram which can be sent/received on the interface,
- specified in octets - 1.3.6.1.2.1.2.2.1.4
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifSpeed
- oid: 1.3.6.1.2.1.2.2.1.5
- type: gauge
- help: An estimate of the interface's current bandwidth in bits per second - 1.3.6.1.2.1.2.2.1.5
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifPhysAddress
- oid: 1.3.6.1.2.1.2.2.1.6
- type: PhysAddress48
- help: The interface's address at the protocol layer immediately `below' the network
- layer in the protocol stack - 1.3.6.1.2.1.2.2.1.6
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifAdminStatus
- oid: 1.3.6.1.2.1.2.2.1.7
- type: gauge
- help: The desired state of the interface - 1.3.6.1.2.1.2.2.1.7
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- enum_values:
- 1: up
- 2: down
- 3: testing
- - name: ifOperStatus
- oid: 1.3.6.1.2.1.2.2.1.8
- type: gauge
- help: The current operational state of the interface - 1.3.6.1.2.1.2.2.1.8
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- enum_values:
- 1: up
- 2: down
- 3: testing
- - name: ifLastChange
- oid: 1.3.6.1.2.1.2.2.1.9
- type: gauge
- help: The value of sysUpTime at the time the interface entered its current operational
- state - 1.3.6.1.2.1.2.2.1.9
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInOctets
- oid: 1.3.6.1.2.1.2.2.1.10
- type: counter
- help: The total number of octets received on the interface, including framing
- characters. - 1.3.6.1.2.1.2.2.1.10
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInUcastPkts
- oid: 1.3.6.1.2.1.2.2.1.11
- type: counter
- help: The number of subnetwork-unicast packets delivered to a higher-layer protocol.
- - 1.3.6.1.2.1.2.2.1.11
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInNUcastPkts
- oid: 1.3.6.1.2.1.2.2.1.12
- type: counter
- help: The number of non-unicast (i.e., subnetwork- broadcast or subnetwork-multicast)
- packets delivered to a higher-layer protocol. - 1.3.6.1.2.1.2.2.1.12
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInDiscards
- oid: 1.3.6.1.2.1.2.2.1.13
- type: counter
- help: The number of inbound packets which were chosen to be discarded even though
- no errors had been detected to prevent their being deliverable to a higher-layer
- protocol - 1.3.6.1.2.1.2.2.1.13
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInErrors
- oid: 1.3.6.1.2.1.2.2.1.14
- type: counter
- help: The number of inbound packets that contained errors preventing them from
- being deliverable to a higher-layer protocol. - 1.3.6.1.2.1.2.2.1.14
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInUnknownProtos
- oid: 1.3.6.1.2.1.2.2.1.15
- type: counter
- help: The number of packets received via the interface which were discarded because
- of an unknown or unsupported protocol. - 1.3.6.1.2.1.2.2.1.15
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutOctets
- oid: 1.3.6.1.2.1.2.2.1.16
- type: counter
- help: The total number of octets transmitted out of the interface, including framing
- characters. - 1.3.6.1.2.1.2.2.1.16
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutUcastPkts
- oid: 1.3.6.1.2.1.2.2.1.17
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted
- to a subnetwork-unicast address, including those that were discarded or not
- sent. - 1.3.6.1.2.1.2.2.1.17
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutNUcastPkts
- oid: 1.3.6.1.2.1.2.2.1.18
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted
- to a non- unicast (i.e., a subnetwork-broadcast or subnetwork-multicast) address,
- including those that were discarded or not sent. - 1.3.6.1.2.1.2.2.1.18
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutDiscards
- oid: 1.3.6.1.2.1.2.2.1.19
- type: counter
- help: The number of outbound packets which were chosen to be discarded even though
- no errors had been detected to prevent their being transmitted - 1.3.6.1.2.1.2.2.1.19
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutErrors
- oid: 1.3.6.1.2.1.2.2.1.20
- type: counter
- help: The number of outbound packets that could not be transmitted because of
- errors. - 1.3.6.1.2.1.2.2.1.20
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutQLen
- oid: 1.3.6.1.2.1.2.2.1.21
- type: gauge
- help: The length of the output packet queue (in packets). - 1.3.6.1.2.1.2.2.1.21
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifSpecific
- oid: 1.3.6.1.2.1.2.2.1.22
- type: OctetString
- help: A reference to MIB definitions specific to the particular media being used
- to realize the interface - 1.3.6.1.2.1.2.2.1.22
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInMulticastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.2
- type: counter
- help: The number of packets, delivered by this sub-layer to a higher (sub-)layer,
- which were addressed to a multicast address at this sub-layer - 1.3.6.1.2.1.31.1.1.1.2
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifInBroadcastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.3
- type: counter
- help: The number of packets, delivered by this sub-layer to a higher (sub-)layer,
- which were addressed to a broadcast address at this sub-layer - 1.3.6.1.2.1.31.1.1.1.3
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutMulticastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.4
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted,
- and which were addressed to a multicast address at this sub-layer, including
- those that were discarded or not sent - 1.3.6.1.2.1.31.1.1.1.4
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifOutBroadcastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.5
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted,
- and which were addressed to a broadcast address at this sub-layer, including
- those that were discarded or not sent - 1.3.6.1.2.1.31.1.1.1.5
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCInOctets
- oid: 1.3.6.1.2.1.31.1.1.1.6
- type: counter
- help: The total number of octets received on the interface, including framing
- characters - 1.3.6.1.2.1.31.1.1.1.6
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCInUcastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.7
- type: counter
- help: The number of packets, delivered by this sub-layer to a higher (sub-)layer,
- which were not addressed to a multicast or broadcast address at this sub-layer
- - 1.3.6.1.2.1.31.1.1.1.7
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCInMulticastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.8
- type: counter
- help: The number of packets, delivered by this sub-layer to a higher (sub-)layer,
- which were addressed to a multicast address at this sub-layer - 1.3.6.1.2.1.31.1.1.1.8
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCInBroadcastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.9
- type: counter
- help: The number of packets, delivered by this sub-layer to a higher (sub-)layer,
- which were addressed to a broadcast address at this sub-layer - 1.3.6.1.2.1.31.1.1.1.9
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCOutOctets
- oid: 1.3.6.1.2.1.31.1.1.1.10
- type: counter
- help: The total number of octets transmitted out of the interface, including framing
- characters - 1.3.6.1.2.1.31.1.1.1.10
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCOutUcastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.11
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted,
- and which were not addressed to a multicast or broadcast address at this sub-layer,
- including those that were discarded or not sent - 1.3.6.1.2.1.31.1.1.1.11
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCOutMulticastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.12
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted,
- and which were addressed to a multicast address at this sub-layer, including
- those that were discarded or not sent - 1.3.6.1.2.1.31.1.1.1.12
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifHCOutBroadcastPkts
- oid: 1.3.6.1.2.1.31.1.1.1.13
- type: counter
- help: The total number of packets that higher-level protocols requested be transmitted,
- and which were addressed to a broadcast address at this sub-layer, including
- those that were discarded or not sent - 1.3.6.1.2.1.31.1.1.1.13
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifLinkUpDownTrapEnable
- oid: 1.3.6.1.2.1.31.1.1.1.14
- type: gauge
- help: Indicates whether linkUp/linkDown traps should be generated for this interface
- - 1.3.6.1.2.1.31.1.1.1.14
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- enum_values:
- 1: enabled
- 2: disabled
- - name: ifHighSpeed
- oid: 1.3.6.1.2.1.31.1.1.1.15
- type: gauge
- help: An estimate of the interface's current bandwidth in units of 1,000,000 bits
- per second - 1.3.6.1.2.1.31.1.1.1.15
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- - name: ifPromiscuousMode
- oid: 1.3.6.1.2.1.31.1.1.1.16
- type: gauge
- help: This object has a value of false(2) if this interface only accepts packets/frames
- that are addressed to this station - 1.3.6.1.2.1.31.1.1.1.16
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- enum_values:
- 1: "true"
- 2: "false"
- - name: ifConnectorPresent
- oid: 1.3.6.1.2.1.31.1.1.1.17
- type: gauge
- help: This object has the value 'true(1)' if the interface sublayer has a physical
- connector and the value 'false(2)' otherwise. - 1.3.6.1.2.1.31.1.1.1.17
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
- enum_values:
- 1: "true"
- 2: "false"
- - name: ifCounterDiscontinuityTime
- oid: 1.3.6.1.2.1.31.1.1.1.19
- type: gauge
- help: The value of sysUpTime on the most recent occasion at which any one or more
- of this interface's counters suffered a discontinuity - 1.3.6.1.2.1.31.1.1.1.19
- indexes:
- - labelname: ifIndex
- type: gauge
- lookups:
- - labels:
- - ifIndex
- labelname: ifAlias
- oid: 1.3.6.1.2.1.31.1.1.1.18
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifDescr
- oid: 1.3.6.1.2.1.2.2.1.2
- type: DisplayString
- - labels:
- - ifIndex
- labelname: ifName
- oid: 1.3.6.1.2.1.31.1.1.1.1
- type: DisplayString
我使用的是docker-compose的方式运行snmp_exporter, docker-compose.yml如下:
- version: "3"
- services:
- snmp-exporter:
- image: prom/snmp-exporter:latest
- restart: always
- ports:
- - "9116:9116"
- volumes:
- - ./docker/snmp/snmp.yml:/etc/snmp_exporter/snmp.yml
- healthcheck:
- test: [ "CMD-SHELL", "ps aux | grep 'snmp_exporter' || exit 1" ]
- interval: 10s
- timeout: 10s
- retries: 3
prometheus.yml配置文件如下:
我采用文件发现的形式,将配置写在switch.json中, 这样以后修改关于交换机的信息,更改后直接热加载,如果直接写死在promeths.yml每次都要重启prometheus.
- - job_name: 'snmp' #交换机SNMP监控
- file_sd_configs:
- - files:
- - /etc/prometheus/customer_conf/switch.json
- refresh_interval: 1m
- metrics_path: /snmp
- params:
- auth: [public_v2]
- module: [if_mib]
- relabel_configs:
- - source_labels: [__address__]
- target_label: __param_target
- - source_labels: [__param_target]
- target_label: instance
- - target_label: __address__
- replacement: 10.23.30.2:9116 #这个换成snmp_exporter的ip:port
switch.json内容如下: 默认填入交换机的IP地址
- [
- {
- "targets": ["10.23.0.253"],
- "labels": {}
- }
- ]
官方Grafana Dashbord面板: https://grafana.com/grafana/dashboards/11169-snmp-stats/
接入面板就可以看到交换机各个口的流量(上行/下行)都可以一览无余了,哈哈哈。再配置告警即可。
面板可以再自定义做一个监控连接防火墙/公网流量的出口即可监控整个机房的公网流量(上行和下行)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。