大家好,我是小斐呀。
经过我的持续分享,我发现越来越多的小伙伴把网络设备的监控从 Zabbix
转为 Prometheus
体系了,这其中就不乏高校场景、大企业场景,这是一个比较好的消息,也从侧面证明了大家对这块的接受以及可行性。
星球小伙伴多次和我说公司使用的是华三品牌的无线 AC
现在需要对华三 AC
做基本的监控告警,前面我是把华三无线 AC
基于 Categraf
采集器做了一遍,适配了有 WX2500
、 WX3500
、 WX5500
系列,但是自从 SNMP Exporter
更新到 0.28.0
版本后,我觉得它反而更加好用了,所以这篇我将补全一下华三无线在这个 SNMP Exporter
的配套采集和监控措施。
如果需要使用最新版本,请直接拉取我仓库下修复的源代码构建即可,不要使用官方,官方使用的依赖库还是旧版本,没有修复。
# 进入一个指定目录,我习惯 /opt 目录下cd /opt# 拉我 Fork 修复后的的项目git clone https://github.com/robotneo/snmp_exporter.git# 进入项目/opt/snmp_exporter# 强制同步依赖树并更新 go.sumgo mod tidy# 清除旧缓存(解决缓存损坏问题)go clean -modcache# 执行构建go build
构建好了后就不会出现 Web
前缀的问题,可以无缝使用新版本特性,主要有三个新特性:
添加了健康检查 endpoint
:/-/healthy
配置生成器中可以使用 IF-MIB::ifName
格式配置生成器中可以使用覆写修改指标名称 name
配置生成
这里都是直接使用 SNMP Exporter
的下的配置生成器构建采集配置文件的,这种配置文件构建成功后,就不再依赖 mib
文件,可直接迁移任何环境下开箱即用,只需要修改一下认证模块信息即可。
在使用配置生成器生成采集配置之前需要了解下我针对华三无线 AC
都做了哪些指标的采集,我这里以模块的方式包含需要的指标信息:
无线的指标相对来说比较多,我重点关注核心指标,无用指标我们不需要采集,免得采集过多指标占用 AC
的 CPU
和 内存
资源。
如果你的 AC
关联的 AP
设备数量庞大,那么做采集的过程中你需要针对性的分模块采集,同时根据你的实际情况设置多模块,并设置合理的模块并发参数, AC
设备的 SNMP
单次最大报文响应字节做调整,精简无用 oid
特别忌讳直接 walk
整个 Table
实际情况下很多 Table
中有很多无用无效数据,故实际情况还是需要优化采集指标模块。
如何生成
实际生产可用的采集配置文件( snmp_exporter
二进制执行文件加载的 yml
配置文件)是通过编写合理的生成器配置文件这个中间文件来生成最终可用采集配置文件,如下图所示:
根据上面的图其实可以看出源头就是编写生成器配置文件,如何编写配置文件呢,这里就不展开,有需要的可以直接去星球拿现成的生成即可,下面我说下如何使用 SNMP Exporter
下生成器,具体步骤如下:
第一步:
我网盘中修复好的华三 V7
固件的 mib
文件导入固定目录下:
# private 目录下是华三 V7 的私有 mib 文件# public 目录下是华三 V7 的公有 mib 文件root@demo:/opt/snmp_exporter/generator/mibs/h3c# lsprivate public
第二步:
使用 SNMP Exporter
源码构建生成器二进制文件:
# 前提安装好 go 环境wget https://gitee.com/robotneo/script/raw/master/install-go.sh# 源码编译cd /optgit clone https://github.com/robotneo/snmp_exporter.gitcd /opt/snmp_exporter/generator# 构建生成器二进制执行文件 generatormake generator
第三步:
使用 VS Code
或者 Trae
编写生成器配置文件,比如我这里针对华三无线 AC
新建文件 generator_h3cac.yml
如下:
auths:h3cac_auth:version:2community:publicmodules:# 华三无线控制器系统指标模块# 适配型号系列 WX2500 WX3500 WX5500 系列# h3cac_ 的前缀是指 H:H3C(华三)A:Access(访问)Control:(控制器)h3cac_system:walk:-1.3.6.1.2.1.1.5-1.3.6.1.2.1.1.3-1.3.6.1.2.1.47.1.1.1.1.7-1.3.6.1.2.1.47.1.1.1.1.10-1.3.6.1.2.1.47.1.1.1.1.11-1.3.6.1.4.1.25506.2.6.1.1.1.1.19-1.3.6.1.4.1.25506.2.6.1.1.1.1.11-1.3.6.1.4.1.25506.2.6.1.1.1.1.12-1.3.6.1.4.1.25506.2.6.1.1.1.1.6-1.3.6.1.4.1.25506.2.6.1.1.1.1.8-1.3.6.1.4.1.25506.8.35.9.1.1.1.2-1.3.6.1.4.1.25506.8.35.9.1.2.1.2-1.3.6.1.4.1.25506.2.5.1.1.4.1.1.8-1.3.6.1.4.1.25506.2.5.1.1.4.1.1.4-1.3.6.1.4.1.25506.2.5.1.1.4.1.1.5-1.3.6.1.4.1.25506.2.5.1.1.4.1.1.10-1.3.6.1.4.1.25506.8.35.5.1.12-1.3.6.1.4.1.25506.2.6.1.2.1.1.5max_repetitions:25retries:3timeout:5sallow_nonincreasing_oids:falseuse_unconnected_udp_socket:falselookups:-source_indexes:[entPhysicalIndex]lookup:entPhysicalName-source_indexes:[hh3cEntityExtPhysicalIndex]lookup:entPhysicalName-source_indexes:[hh3cEntityExtManuPhysicalIndex]lookup:entPhysicalName-source_indexes:[hh3cFlhIndex,hh3cFlhPartIndex]lookup:hh3cFlhPartNameoverrides:entPhysicalSoftwareRev:ignore:falsetype:DisplayStringentPhysicalSerialNum:ignore:falsetype:DisplayStringentPhysicalName:ignore:truetype:DisplayStringhh3cFlhPartName:ignore:truetype:DisplayStringsysUpTime:type:counterignore:falsescale:0.01......
第四步:
使用生成器 generator
以及对应的参数和生成器配置文件生成最终的采集配置文件,如下所示:
我把华三 V7
版本所有的 mib
文件放入对应的目录下 /opt/snmp_exporter/generator/mibs/h3c/public
和 /opt/snmp_exporter/generator/mibs/h3c/private
,把 generator_h3cac.yml
放入 /opt/snmp_exporter/generator/conf/h3c/wireless
目录下,执行如下命令生成即可:
/opt/snmp_exporter/generator/generator --fail-on-parse-errors generate -m /opt/snmp_exporter/generator/mibs/h3c/public -m /opt/snmp_exporter/generator/mibs/h3c/private -g /opt/snmp_exporter/generator/conf/h3c/wireless/generator_h3cac.yml -o /opt/snmp_exporter/generator/conf/h3c/wireless/snmp_h3cac.yml
仔细看上面的这段执行命令,不要漏掉关键信息,成功生成是有日志打印输出的,如下所示:
通过上面命令生成得到的 snmp_h3cac.yml
文件就是最终的采集配置文件,可直接放在 SNMP Exporter
下运行加载即可。
运行采集
把上面生成好的采集配置文件 snmp_h3cac.yml
放入指定的加载配置文件夹中,如下所示:
将 snmp_exporter
的作为服务运行,新建服务启动文件 /etc/systemd/system/snmp_exporter.service
[Unit]Description=snmp_exporterAfter=network.target[Service]ExecStart=/opt/snmp_exporter/snmp_exporter --config.file=/opt/snmp_exporter/conf/snmp_*.yml --snmp.module-concurrency=3Restart=on-failure[Install]WantedBy=multi-user.target
这里的 --config.file
使用了通配符 *
匹配加载 /opt/snmp_exporter/conf
目录下的所有 snmp_
为前缀的采集配置文件,主要是为了加载多品牌配置文件。
把 snmp_h3cac.yml
放入 /opt/snmp_exporter/conf/
目录下,启动并运行测试如下:
sudo systemctl restart snmp_exporter.servicesudo systemctl status snmp_exporter.service
启动成功后,浏览器打开 SNMP Exporter
的 9116
端口:
认证模块名称为 h3cac_auth
指标模块名称为 h3cac_system,h3cap_info,h3cac_interface,h3cap_radio
提交 Submit
后会得到 Prometheus
时序数据格式的样本数据,可以验证一下对应模块下的指标数据是否采集到,如下样本所示:
# HELP hh3cEntityExtCpuUsage The CPU usage for this entity - 1.3.6.1.4.1.25506.2.6.1.1.1.1.6# TYPE hh3cEntityExtCpuUsage gaugehh3cEntityExtCpuUsage{entPhysicalName="Level1Moduleslot1#1",hh3cEntityExtPhysicalIndex="97"}14# HELP hh3cEntityExtMemUsage The memory usage for the entity - 1.3.6.1.4.1.25506.2.6.1.1.1.1.8# TYPE hh3cEntityExtMemUsage gaugehh3cEntityExtMemUsage{entPhysicalName="Level1Moduleslot1#1",hh3cEntityExtPhysicalIndex="97"}75
抓取配置
当以上步骤完成后,我们就要把指标数据采集并保存到时序库中,由于 SNMP Exporter
是基于 pull
模式,所以接下来就需要在抓取配置 scrape_configs
下配置 job_name
以固定的频率抓取指标数据存入时序库中,这里使用文件服务发现获取 AC
设备目标信息。
下面以 VictoriaMetrics
下的 vmagent
组件为例:
job_name
配置如下所示:
scrape_configs:-job_name:"h3c_wireless"scrape_interval:30sscrape_timeout:25sfile_sd_configs:-files:-/etc/victoriametrics/vmagent/h3c_ac.ymlmetrics_path:/snmprelabel_configs:-source_labels:["__address__"]target_label:__param_target-source_labels:["__param_target"]target_label:instance-target_label:__address__replacement:172.16.10.5:9116-source_labels:["module"]target_label:__param_module-source_labels:["auth"]target_label:__param_auth
由于上面使用了文件服务发现,我们需要在目录 /etc/victoriametrics/vmagent
下添加定义华为交换机的信息 h3c_sw.yml
文件模版内容如下:
-labels:module:h3cac_system,h3cac_interface,h3cap_info,h3cap_radio,h3cap_staauth:h3cac_authbrand:H3Crole:wirelessregion:beijingtargets:-192.168.100.110# AC 管理地址
针对大量设备的监控对象管理,可等我适配基于 Web
管理监控对象的 SNMP Exporter
的 Consul
服务发现。
面板展示
经过以上的步骤,我们成功的把华三无线相关的指标都采集存储到 VictoriaMetrics
时序库下,下面通过 Grafana
并在 Grafana
下安装 VictoriaMetrics
数据源插件,最后成功实现对华三无线数据的监控呈现,下面是华三无线对应仪表板几个样例:
到此就完成基于 SNMP Exporter
对华三无线控制器在 Prometheus
体系下的监控和数据可视化。
加群
由于群无法直接扫码添加了,需要入群的可以加我,我拉你进群,上面的配置文件、仪表板、详细教程都需要加入知识星球获取,因为适配起来真的挺费时间的,主要是可以构建一个良性的沟通社区,而不是简单的获取套用,目前已完成适配的品牌类型有 安恒
、 奇安信
、 深信服
、 华为
、 华三
、 飞塔
、 天融信
、 山石网科
、 Aruba
、 戴尔
、 瞻博
等等。
近期热文:
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...