基于SNMP协议发现网络中路由器、交换机和打印机的简单方法

在网络拓扑发现中,如何发现设备的类型。如果一个设备支持SNMP,就按照下面的步骤进行:

  路由器发现:

   决定一个设备是否是一个路由器,通过SNMP查询改设备中的MIB-II中的ipAddrEntry表,如果没有返回,就可以初步认定该设备不是路由器,继续通过其他操作,发现其是否其他设备。如果该设备有两个或者更多的接口,且ipForwarding节点被设置为1,就可以认定该设备是一个路由器。通过该路由器,而且可以发现其他的网段,就可通过该设备,继续查找其他网端的设备。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SNMP Exporter 是一种基于 SNMP 协议的 Exporter,可以采集 SNMP 设备的各种指标。要采集路由器交换机的内存利用率以及 cpu 利用率,需要先确定设备上对应的 OID(Object ID),然后在 SNMP Exporter 的配置文件进行相应的配置。以下是一个简单的示例配置文件: ``` global: scrape_interval: 1m scrape_timeout: 10s scrape_configs: - job_name: 'snmp' scrape_interval: 30s static_configs: - targets: - router1.example.com - switch1.example.com metrics_path: /snmp params: module: [system,cpu,memory] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 10.0.0.1:9116 # SNMP Exporter 的地址 ``` 在该配置文件,我们定义了一个名为 `snmp` 的监控任务,定期采集路由器交换机的指标。`targets` 指定了要监控的设备地址,`params` 则指定了要采集的模块,包括 `system`、`cpu` 和 `memory`。在 `relabel_configs` ,我们使用了几个重写规则,将设备地址和采集参数加入到指标的标签。 在正确配置了 SNMP Exporter 的情况下,Prometheus 就可以通过 `snmp` 任务来采集设备的 cpu 利用率和内存利用率等指标了。你可以使用类似以下的 PromQL 查询语句来查询这些指标: ``` 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) ``` 该语句可以计算出设备的 CPU 利用率。对于内存利用率,可以使用类似以下的语句: ``` (node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / node_memory_MemTotal_bytes * 100 ``` 该语句计算出设备的内存已使用的百分比。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值