大家好,我是小斐呀。
关于网络设备指标监控这块好久没有更新了,之前立的 Flag
到现在还没做完,不过国内的网络设备主流品牌算是都完成了,今天就来分享下国外网络设备霸主思科交换机如何去实现指标采集和可视化监控告警,这个思科交换机很早之前就有粉丝在催我,今天我来交差了(轻点喷我哈)。
基于国内华三、华为、锐捷等等已经做好了,需要了解的朋友可以回顾往期内容,或者加入星球获取对应的最佳实践配置和模板。
还是老规矩,在做之前遵循四步闭环法 想清楚 → 捋清楚 → 定架构 → 动手执行
不断的循环这个闭环法,可以很快速的成长积累,更何况现在还有 AI
辅助,在侧面提高了我们学习或了解一门知识的效率。
接下来,就请跟随我的思路,一同踏入这片广阔的监控与告警海洋,深入探索其奥秘。
想清楚
在做之前我们一定要想清楚最终的目标是什么,目标定义清晰,明确核心需求以及要实现的最终效果。那这里以监控思科交换机为例,我们来拆解一下想法:
核心目标:交换机故障或流量出现异常可以及时通知 次要目标:交换机故障或流量可以清晰的展示并可回溯排查问题
那么需要想清楚评估交换机故障的指标有哪些,接口流量异常有哪些指标可以呈现出来,最好是把这些可以量化的指标都写出来,先写后面再看能不能都满足需求,比如监控思科交换机有如下指标:
CPU 使用率 内存使用率 电源、风扇健康状态 设备温度值 设备启动时长
评估交换机接口流量相关我们应该拿哪些指标:
接口当前速率 接口最大速率 接口当前状态 接口带宽利用率 接口丢包 接口错包
想清楚最核心的目标后,我们可以适当的通过当下的需求做一些扩展延申,比如还需要监控光模块的指标、动态路由指标、邻居关系指标等等。
捋清楚
想清楚的动作做完后,可以开始捋清楚,要实现的目标是通过采集这些需要的核心指标实现的,那通过什么样的方式去采集呢,就我们知道的方式有几种,基于交换机的指标采集:
通过 Python
脚本SSH
实现,这个需要定制开发,效率并不一定很高通过 SNMP
协议去采集实现,交换机基本上都支持SNMP
协议,适用性高通过 Telemetry
或gNMI
协议去采集,这个一般在高端交换机上支持,目前的兼容性差,但是性能好,数据中心中比较适用
从兼容性和快速实现,我这里主要是以 SNMP
协议去采集交换机的指标, SNMP
协议可以很充分的交换机这类设备的指标,采集效率和精确度层面也满足需求。
定架构
接下来就是确定使用什么样的工具去实现,在业界监控交换机 Zabbix
算是标准一样,经过多年的发展和演变 Zabbix
社区也积累了一堆国内外各种网络设备品牌的采集模板,方便了很多喜欢使用 Zabbix
产品的用户,我承认是很优秀的产品,但是到了如今这个局面 Zabbix
在指标监控或者说可观测性上越来越跟不上,只能算是上个时代的产品,我们要与时俱进了,现在越来越多的交换机,特别是一些 AI
计算集群使用的交换机都开始直接兼容 Prometheus
有一些甚至直接开始支持 OpenTelemetry
,比如英伟达交换机等等。
故我这里拥抱的是 Prometheus
体系或兼容的产品路线,通过标准化的指标实现我们的监控告警的目标:
采集器: SNMP Exporter
或Categraf
时序库: VictoriaMetrics
告警引擎: 夜莺
可视化: Grafana
如果使用 SNMP Exporter
可以使用 vmagent
作为抓取器辅助实现指标的抓取任务,如下架构所示:
这里我将以采集思科 Nexus
系列交换机为案例,展开说明思科交换机的一些指标采集。
执行
两个采集器同时使用的场景,往往是很复杂的场景,在日常最佳实践中建议是先熟悉这两者的其中一个采集器的使用,然后在平滑迁移,这里我将以 SNMP Exporter
作为思科 Nexus
系列交换机的采集器,思科交换机开启 SNMP
协议配置。
scrape_configs:
- job_name: "cisco_nexus"
scrape_interval: 30s
scrape_timeout: 20s
file_sd_configs:
- files:
- /etc/victoriametrics/vmagent/nexus_sw.yml
# refresh_interval: 2m # prometheu.yml 支持这个参数 vmagent 不要支持
metrics_path: /snmp
relabel_configs:
- source_labels: ["__address__"]
target_label: __param_target
- source_labels: ["__param_target"]
target_label: instance
- target_label: __address__
replacement: 172.16.30.230:9116
- source_labels: ["module"]
target_label: __param_module
- source_labels: ["auth"]
target_label: __param_auth
思科 Nexus
系列交换机通过文件服务的方式发现交换机对象:
- labels:
module: nexus_system,nexus_optical,nexus_interface,nexus_temp,nexus_lldp
auth: nexus_auth
brand: Cisco
role: switch
region: beijing
targets:
- 172.16.30.1 # 思科交换机管理IP
- 172.16.30.2 # 思科交换机管理IP
- 172.16.30.3 # 思科交换机管理IP
通过 Grafana
实现对指标的可视化,后面就是在夜莺中写告警规则,这些就不展开说明:
end
上面的采集配置和仪表板都是通过加入圈子获取的,这个模块适配是要耗费些心神,如果你能贡献相关配置我可以免费开放,这也是为了良性循环,打造一个友好并积极的圈子。
如果你对网络监控这块的有需求或者想沟通交流,可以加入之前建立的群,到群里咨询或交流即可,加群可公众号后台私信加我,我拉你进群。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...