首页
运维部署
苹果MAC系统
nginx、frp
Kubernetes(K8S)
nginx 使用geo模块识别ip归属地做跳转
Docker
Docker部署Uptime Kuma
多媒体类
NGINX + OBS = 网页直播服务搭建
CentOS 7部署DNS服务器BIND
监控告警
prometheus(一、基础使用)
Prometheus(二、用snmp监控)
Grafana(1、部署+使用)
Grafana(2、snmp交换机仪表盘自定义)
prometheus_Alertmanager(三、报警配置_邮件)
prometheus_Alertmanager(四、企微 钉钉 告警)
prometheus_blackbox(五、黑盒监测 )
Pushgateway-客户端主动推送告警
snmp_exporter快速监控交换机
多个Prometheus实例互联
exporter自定义监控项
PC
服务器
Dell 服务器R540做raid
服务器电源供电
更换raid阵列卡
企业微信
企业微信api使用
centos7中yum安装dnsmasq内网dns
centos7部署ntopng
Syslog 日志存储
IT-数据恢复
OpenVPN
JumpServer分布式部署
Gitlab
ansible常用命令
将pem证书转换为crt和key
CentOS 7 中搭建ocserv
ocserv相关收藏
ocserv服务器配置实例
ocserv客户端无法将网络共享给其它终端
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
Prometheus(二、用snmp监控)
## 使用snmp监控网络设备 参考:https://zhuanlan.zhihu.com/p/574786375 SNMP Exporter 是 Prometheus 开源的一个支持 SNMP 协议的采集器,如果使用二进制文件部署 ,下载地址如下: https://github.com/prometheus/snmp_exporter/releases https://github.com/prometheus/snmp_exporter/releases/download/v0.20.0/snmp_exporter-0.20.0.linux-amd64.tar.gz https://github.com/prometheus/snmp_exporter/releases/download/v0.20.0/snmp_exporter-0.20.0.windows-amd64.tar.gz ### 在 Linux 系统部署snmp_exporter二进制文件 ``` #解压文件 [root@localhost monitor]# pwd /opt/monitor [root@localhost monitor]# tar -zxvf snmp_exporter-0.20.0.linux-amd64.tar.gz [root@localhost monitor]# mv snmp_exporter-0.20.0.linux-amd64 snmp_exporter [root@localhost monitor]# ls prometheus snmp_exporter ``` ### 编写snmp_exporter的systemd服务脚本 使用系统的 Systemd 来控制服务启停,系统服务文件可以这么写, 该脚本源自官方提供的脚本,相比于官方脚本增加了SNMP Exporter 运行端口的指定。文件 snmp_exporter.service 的内容如下: ``` vim /usr/lib/systemd/system/snmp_exporter.service [Unit] Description=snmp_exporter After=network.target [Service] ExecStart=/opt/monitor/snmp_exporter/snmp_exporter --config.file=/opt/monitor/snmp_exporter/snmp.yml Restart=on-failure [Install] WantedBy=multi-user.target ``` snmp_exporter运行可以加入哪些参数,可以执行snmp_exporte --help查看。 ``` #启动服务 systemctl daemon-reload systemctl start snmp_exporter systemctl enable snmp_exporter #放通防火墙 firewall-cmd --zone=public --add-port=9116/tcp --permanent firewall-cmd --reload ``` 启动好以后,我们可以访问 http://localhost:9116 来查看启动的 SNMP Exporter ,页面上会显示 Target、Module、Submit、Config 这几个选项和按钮。 在 Target 中填写交换机的地址,Module 里选择对应的模块,然后点击 Submit 这样可以查到对应的监控指标,来验证采集是否成功。 点击 Config 会显示当前 snmp.yml 的配置内容。 ![](/media/202302/snmp_exporter1_1675234248.png) 示例:交换机已开启snmp,默认团体名 public Target 中填写 192.168.1.1,点击 Submit ![](/media/202302/snmp_exporter2_1675234323.png) **在Linux命令行中可以curl来验证:** snmp_exporter服务器的ip: 192.168.1.2 开启SNMP的交换机ip: 192.168.1.1 curl "http://192.168.1.2:9116/snmp?module=if_mib&target=192.168.1.1" 对于 SNMP Exporter 的使用来说, 配置文件比较重要,配置文件中根据硬件的 MIB 文件生成了 OID 的映射关系。以 Cisco 交换机为例,在官方 GitHub 上下载最新的 snmp.yml 文件,由于 Cisco 交换机使用的是 if_mib 模块,在 if_mib 下新增 auth ,用来在请求交换机的时候做验证使用,这个值是提前配置在交换机上的。 snmp.yml 文件中关于采集的监控项是在 walk 字段下,如果要新增监控项,写在 walk 项下。我新增了交换机的 CPU 和内存信息。 ``` ...... if_mib: auth: community: xxxx walk: - 1.3.6.1.2.1.2 - 1.3.6.1.2.1.31.1.1 - 1.3.6.1.4.1.9.2.1 # 交换机 CPU 相关信息 - 1.3.6.1.4.1.9.9.48 # 交换机内存相关信息 get: - 1.3.6.1.2.1.1.3.0 metrics: - name: busyPer oid: 1.3.6.1.4.1.9.2.1.56.0 type: gauge help: CPU utilization - name: avgBusy1 oid: 1.3.6.1.4.1.9.2.1.57.0 type: gauge help: CPU utilization in the past 1 minute - name: avgBusy2 oid: 1.3.6.1.4.1.9.2.1.58.0 type: gauge help: CPU utilization in the past 5 minute - name: MemoryPoolFree oid: 1.3.6.1.4.1.9.9.48.1.1.1.6.1 type: gauge help: ciscoMemoryPoolFree - name: MemoryPoolUsed oid: 1.3.6.1.4.1.9.9.48.1.1.1.5.1 type: gauge help: ciscoMemoryPoolUsed ...... ``` 如果上边验证没有问题,那么我们就可以配置 Prometheus 进行采集了。 ``` - job_name: "SNMP" scrape_interval: 1m # 默认抓取周期,可用单位m s、smhdwy #全局默认1分钟 scrape_timeout: 30s # 默认抓取超时,全局默认10s static_configs: - targets: - 192.168.1.1 # 思科交换机的 IP 地址 metrics_path: /snmp params: module: - if_mib # 如果是其他设备,请更换其他模块。 community: - public # 指定 community团体名为public,当 snmp_exporter snmp.yml 配置文件没有指定 community,此处定义的 community 生效。 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: "localhost:9116" # SNMP Exporter 的地址和端口 ``` 如果snmp抓取数据报错,提示`GET "http://192.168.1.2:9116/snmp?module=if_mib&target=192.168.1.1":context deadline exceeded` , 那么可能是Scrape Duration超时,修改延长 scrape_timeout: 30s 参数即可。 配置好 Prometheus 以后启动 Prometheus 服务 ,就可以查到 Cisco 交换机的监控信息了。 接下来就 Prometheus 配置告警规则,Grafana 进行画图了。这些操作和其他组件并无区别,就不再赘述。 ## 手动生成snmp.yml配置文件(可选操作) 上边在配置 SNMP Exporter 的配置文件的时候,使用了官方提供的默认的 snmp.yml ,有些设备官方的配置里并没有支持,这个时候就需要通过 MIB 文件来自己生成了,接下来我们看看这个配置文件怎么生成。 官方当前的 snmp.yml 支持 如下这些模块[2022.10.19] ``` apcups : 一般用于 UPS 监控 arista_sw cisco_wlc : 一般用于 ap 监控 ddwrt : 一般用于软路由 if_mib : 一般用于网络设备。该MIB描述了网络接口子层的通用表项。是MIB-II中ifTable的升级版本,也是对RFC1573扩展定义的具体说明。IF-MIB包含了一组与网络设备的通用接口相关的管理对象。这些管理对象适用于所有的网络接口,与接口上使用的通信介质合协议的类型无关。IF-MIB也定义了用于特殊介质和低层协议栈(子网层或更低层)的管理对象。 infrapower_pdu keepalived kemp_loadmaster liebert_pdu mikrotik nec_ix paloalto_fw printer_mib raritan servertech_sentry3 servertech_sentry4 synology ubiquiti_airfiber ubiquiti_airmax ubiquiti_unifi wienner_mpod ``` 这里我以华为交换机为例子展开说明: 在单独的CentOS7.9的一台虚拟机中部署snmp_exporter,在这里我以源码编译部署。 ``` # 系统依赖下载 yum install -y epel-release.noarch yum install -y wget tree net-snmp net-snmp-utils net-snmp-libs net-snmp-devel golang p7zip* # 测试机器获取OID信息 snmpwalk -v 2c -c 123456 172.18.48.5 1.3.6.1.4.1.2011.5.25.19.1.1.1 # git 下载snmp_exporter 如系统没有git,直接yum安装 cd /opt git clone https://github.com/prometheus/snmp_exporter.git # 设置go国内代理 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct # go编译生成snmp_exporter go build ls -al | grep snmp_exporter # 查看目录树 tree # 至此,可以看到 /snmp_exporter路径下有一个generator的目录,该目录下在编译前是没有generator文件和mibs文件夹的,编译,生成mibs文件夹后 cd opt/snmp_exporter/generator/ go build make mibs ls -al # 可以看到/opt/snmp_exporter/generator目录下多了一个generator文件和mibs文件夹,然后我们可以去华为官网,把需要的对应版本交换机的mib文件全部下载下来,然后放到mibs文件夹里 export MIBDIRS=/opt/snmp_exporter/generator/mibs:/opt/snmp_exporter/generator/mibs/MIB-V200R019C10SPC500/MIBs:/opt/snmp_exporter/generator/mibs/MIB-V200R021C00SPC100/MIBs # 生成snmp.yml文件,前提是需要编辑generator.yml文件,然后使用generator生成器根据generator.yml文件生成snmp.yml配置文件 ./generator generate ``` ### H3C交换机 #### MIB文件下载 华三V7系统版本MIB文件下载 https://www.h3c.com/cn/Products_And_Solution/InterConnect/Products/Comware/ComwareV7/MIB/ #### mib常用清单 首页>支持>文档与软件>技术资料>知识库>交换机>日常维护>常用mib清单 https://www.h3c.com/cn/Service/Document_Software/TechnicalInfo/PorductMaintanInfo/Switches/DailyMainten/MIBList/ H3C S7500E V7系列交换机常用MIB清单.pdf https://download.h3c.com/app/cn/download.do?id=2461109 H3C S5500HI常见MIB使用指导.pdf https://download.h3c.com/app/cn/download.do?id=2483105 创建新的 generator.yml 文件 ``` cat generator.yml modules: H3C: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.2.1.47.1.1.1.1.2 #entPhysicalDescr - 1.3.6.1.2.1.47.1.1.1.1.5 #entPhysicalClass - 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName - 1.3.6.1.4.1.25506.2.6.1.1.1.1.6 #hh3cEntityExtCpuUsage - 1.3.6.1.4.1.25506.2.6.1.1.1.1.8 #hh3cEntityExtMemUsage - 1.3.6.1.4.1.25506.2.6.1.1.1.1.12 #hh3cEntityExtTemperature - 1.3.6.1.4.1.25506.2.149.1.1.1.4 #hh3cSessionStatCount FW - 1.3.6.1.4.1.25506.8.35.9.1.1.1.2 #hh3cDevMFanStatus - 1.3.6.1.4.1.25506.8.35.9.1.2.1.2 #hh3cDevMPowerStatus max_repetitions: 3 retries: 3 timeout: 25s version: auth: community: public lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [hh3cEntityExtPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.2 #entPhysicalDescr - source_indexes: [hh3cEntityExtPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.5 #entPhysicalClass - source_indexes: [hh3cEntityExtPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric entPhysicalDescr: ignore: true # Lookup metric entPhysicalName: ignore: true # Lookup metric entPhysicalClass: ignore: true # Lookup metric ``` 用generator.yml 生成 snmp.yml 文件 ``` [root@localhost generator]# ./generator generate ts=2023-02-03T03:05:38.507Z caller=net_snmp.go:161 level=info msg="Loading MIBs" from=/root/snmp_exporter/generator/mibs ts=2023-02-03T03:05:40.082Z caller=main.go:119 level=warn msg="NetSNMP reported parse error(s)" errors=8093 ts=2023-02-03T03:05:40.678Z caller=main.go:51 level=info msg="Generating config for module" module=H3C ts=2023-02-03T03:05:40.798Z caller=main.go:66 level=info msg="Generated metrics" module=H3C metrics=20 ts=2023-02-03T03:05:40.806Z caller=main.go:91 level=info msg="Config written" file=/root/snmp_exporter/generator/snmp.yml ``` [【附件snmp.yml】snmp.zip](/media/attachment/2023/02/snmp.zip) 如果mib库文件、自己写的generator.yml文件也没问题正常,会生成一个snmp.yml文件 ``` #使用新的snmp.yml [root@localhost generator]# mv /opt/monitor/snmp_exporter/snmp.yml /opt/monitor/snmp_exporter/snmp.yml.bak [root@localhost generator]# cp snmp.yml /opt/monitor/snmp_exporter/snmp.yml [root@localhost generator]# systemctl restart snmp_exporter #修改 prometheus.yml 中的模块为 H3C [root@localhost generator]# cd /opt/monitor/prometheus/ [root@localhost prometheus]# vim prometheus.yml [root@localhost prometheus]# systemctl restart prometheus ``` 打开snmp_exporter网页端,查看其中注释含义 ![](/media/202302/Grafana_H3C_SNMP_1675396832.png) 可知 ifSpeed 为接口速率值,接口当前带宽的估计值(单位:比特/秒) 红框中标出的odi为: 1.3.6.1.2.1.2.2.1.5 #ifSpeed,写道 ![](/media/202302/Grafana_H3C_SNMP2_1675397269.png) ### 华为交换机 华为官网MIB参考 https://support.huawei.com/enterprise/zh/switches/s5700-pid-6691579?category=reference-guides&subcategory=mib-reference ![](/media/202302/HuaWei_mib_1675240826.png) 在此我贴出generator.yml文件的模版:模块中,if_mib是指思科模块提供公共模块 HZHUAWEI模块是我自定义的模块名,根据walk下的OID和变量下的mib库文件路径生成snmp.yml配置文件,然后根据snmp.yml配置文件采集交换机信息。需要什么交换机信息就填入对应的OID,OID信息查询请到华为官网MIB参考查询对应的意义。 ``` modules: if_mib: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets #max_repetitions: 3 #retries: 3 #timeout: 25s version: 2 auth: community: zZPBPtYcIZ1tM lookups: - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric HZHUAWEI: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.47.1.1.1.1.1 #entPhysicalIndex - 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5 #hwEntityCpuUsage huawei - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7 #hwEntityMemUsage huawei - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11 #hwEntityTemperature - 1.3.6.1.4.1.2011.5.25.31.1.1.10.1.7 #hwEntityFanState - 1.3.6.1.4.1.2011.5.25.31.1.1.14.1.3 #hwSystemPowerUsedPower - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.9 #hwEntityMemSize - 1.3.6.1.4.1.2011.6.9.1.4.2.1.3 #hwStorageSpace - 1.3.6.1.4.1.2011.6.9.1.4.2.1.4 #hwStorageSpaceFree #max_repetitions: 3 #retries: 3 #timeout: 25s version: 2 auth: community: zZPBPtYcIZ1tM lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [entPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric entPhysicalIndex: ignore: true # Lookup metric entPhysicalName: ignore: true # Lookup metric ``` ### 通用版snmp,兼容锐捷 自带的if_mib模块,兼容锐捷交换机 Grafana仪表盘用(AKA SNMP Network),通用的仪表盘,h3c也可以 安装id:15473 https://grafana.com/grafana/dashboards/15473-aka-snmp-network/ ### generator.yml文件格式说明 参考 https://github.com/prometheus/snmp_exporter/tree/58b902ede4f6bee7a150566ac7fae05ef0a4b1fb/generator ``` modules: module_name: # #模块名称。您可以拥有任意数量的模块。 walk: # #要行走的OID列表。也可以是SNMP对象名称或特定实例。 - 1.3.6.1.2.1.2 # Same as "interfaces" - sysUpTime # Same as "1.3.6.1.2.1.1.3" - 1.3.6.1.2.1.31.1.1.1.6.40 # Instance of "ifHCInOctets" with index "40" #索引为“40”的“ifHCInOctets”实例 version: 2 # SNMP version to use. Defaults to 2. #版本:要使用的2#SNMP版本。默认值为2。 # 1 will use GETNEXT, 2 and 3 use GETBULK. #1将使用GETNEXT,2和3将使用GETBULK。 max_repetitions: 25 # #使用GET/GETBULK请求多少个对象,默认为25。 # #对于有问题的设备,可能需要减少。 retries: 3 # #重试失败请求的次数,默认为3。 timeout: 5s # #每个SNMP请求的超时,默认为5s。 auth: # #团体字符串用于SNMP v1和v2。默认为“public”。 community: public # #v3具有不同且更复杂的设置。 # #需要哪些取决于安全级别。 # The equivalent options on NetSNMP commands like snmpbulkwalk # and snmpget are also listed. See snmpcmd(1). username: user # Required, no default. -u option to NetSNMP. security_level: noAuthNoPriv # Defaults to noAuthNoPriv. -l option to NetSNMP. # Can be noAuthNoPriv, authNoPriv or authPriv. password: pass # Has no default. Also known as authKey, -A option to NetSNMP. # Required if security_level is authNoPriv or authPriv. auth_protocol: MD5 # MD5, SHA, SHA224, SHA256, SHA384, or SHA512. Defaults to MD5. -a option to NetSNMP. # Used if security_level is authNoPriv or authPriv. priv_protocol: DES # DES, AES, AES192, or AES256. Defaults to DES. -x option to NetSNMP. # Used if security_level is authPriv. priv_password: otherPass # Has no default. Also known as privKey, -X option to NetSNMP. # Required if security_level is authPriv. context_name: context # Has no default. -n option to NetSNMP. # Required if context is configured on the device. lookups: # Optional list of lookups to perform.查找:#要执行的查找的可选列表。 # #“keep_source_indexes”的默认值为false。要使用此选项,索引必须是唯一的。 # #如果一个表的索引是bsnDot11EssIndex,通常这是该表的结果度量的标签。相反,使用索引来查找bsndot1EssSsid表条目并创建bsnDot11EssSsid标签 - source_indexes: [bsnDot11EssIndex] lookup: bsnDot11EssSsid drop_source_indexes: false # If true, delete source index labels for this lookup. # This avoids label clutter when the new index is unique. # #还可以链接查找或使用多个标签来收集标签值。这可能有助于将多个索引标签解析为适当的人类可读标签。请注意这里的订货很重要。 # 在本例中,我们首先进行查找以获取“cbQosConfigIndex”作为另一个标签。 - source_indexes: [cbQosPolicyIndex, cbQosObjectsIndex] lookup: cbQosConfigIndex # Using the newly added label, we have another lookup to fetch the `cbQosCMName` based on `cbQosConfigIndex`. - source_indexes: [cbQosConfigIndex] lookup: cbQosCMName overrides: # Allows for per-module overrides of bits of MIBs metricName: ignore: true # Drops the metric from the output. regex_extracts: Temp: # A new metric will be created appending this to the metricName to become metricNameTemp. - regex: '(.*)' # Regex to extract a value from the returned SNMP walks's value. value: '$1' # The result will be parsed as a float64, defaults to $1. Status: - regex: '.*Example' value: '1' # The first entry whose regex matches and whose value parses wins. - regex: '.*' value: '0' type: DisplayString # 覆盖度量类型,可能的类型有: # gauge: 带类型规的整数. # counter: 带类型计数器的整数. # OctetString: A bit string, rendered as 0xff34. # DateAndTime: An RFC 2579 DateAndTime byte sequence. If the device has no time zone data, UTC is used. # DisplayString: An ASCII or UTF-8 string. # PhysAddress48: A 48 bit MAC address, rendered as 00:01:02:03:04:ff. # Float: A 32 bit floating-point value with type gauge. # Double: A 64 bit floating-point value with type gauge. # InetAddressIPv4: An IPv4 address, rendered as 1.2.3.4. # InetAddressIPv6: An IPv6 address, rendered as 0102:0304:0506:0708:090A:0B0C:0D0E:0F10. # InetAddress: An InetAddress per RFC 4001. Must be preceded by an InetAddressType. # InetAddressMissingSize: An InetAddress that violates section 4.1 of RFC 4001 by # not having the size in the index. Must be preceded by an InetAddressType. # EnumAsInfo: An enum for which a single timeseries is created. Good for constant values. # EnumAsStateSet: An enum with a time series per state. Good for variable low-cardinality enums. # Bits: An RFC 2578 BITS construct, which produces a StateSet with a time series per bit. ``` ### generator.yml文件参考: 这次我贴一份比较完整的snmpv3版本的模版:参考网络上,后续我内部的完整模版贴出来,形成最佳实践。 ``` modules: H3C: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.2.1.47.1.1.1.1.2 #entPhysicalDescr - 1.3.6.1.2.1.47.1.1.1.1.5 #entPhysicalClass - 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName - 1.3.6.1.4.1.25506.2.6.1.1.1.1.6 #hh3cEntityExtCpuUsage - 1.3.6.1.4.1.25506.2.6.1.1.1.1.8 #hh3cEntityExtMemUsage - 1.3.6.1.4.1.25506.2.6.1.1.1.1.12 #hh3cEntityExtTemperature - 1.3.6.1.4.1.25506.2.149.1.1.1.4 #hh3cSessionStatCount FW - 1.3.6.1.4.1.25506.8.35.9.1.1.1.2 #hh3cDevMFanStatus - 1.3.6.1.4.1.25506.8.35.9.1.2.1.2 #hh3cDevMPowerStatus max_repetitions: 3 retries: 3 timeout: 25s version: 3 auth: username: 5gmec password: 此处填写自己的密码 auth_protocol: MD5 priv_protocol: AES priv_password: 此处填写自己的密码 security_level: authPriv lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [hh3cEntityExtPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.2 #entPhysicalDescr - source_indexes: [hh3cEntityExtPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.5 #entPhysicalClass - source_indexes: [hh3cEntityExtPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric entPhysicalDescr: ignore: true # Lookup metric entPhysicalName: ignore: true # Lookup metric entPhysicalClass: ignore: true # Lookup metric HUAWEI: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.2.1.47.1.1.1.1.1 #entPhysicalIndex - 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5 #hwEntityCpuUsage - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7 #hwEntityMemUsage - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11 #hwEntityTemperature - 1.3.6.1.4.1.2011.6.122.15.1.2.1.4 #hwSecStatMonTotalSess FW - 1.3.6.1.4.1.2011.5.25.31.1.1.10.1.7 #hwEntityFanState max_repetitions: 3 retries: 3 timeout: 25s version: 3 auth: username: 5gmec password: 此处填写自己的密码 auth_protocol: MD5 priv_protocol: AES priv_password: 此处填写自己的密码 security_level: authPriv lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [entPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric entPhysicalIndex: ignore: true # Lookup metric entPhysicalName: ignore: true # Lookup metric if_mib: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets max_repetitions: 3 retries: 3 timeout: 25s version: 3 auth: username: 5gmec password: 此处填写自己的密码 auth_protocol: MD5 priv_protocol: AES priv_password: 此处填写自己的密码 security_level: authPriv lookups: - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric HILLSTONE: walk: - 1.3.6.1.4.1.28557.2.2.1.7 - 1.3.6.1.4.1.28557.2.2.1.3 #sysCPU HILLSTONE - 1.3.6.1.4.1.28557.2.2.1.17 #sysMemRatio HILLSTONE - 1.3.6.1.4.1.28557.2.28.1.2.1.1 #hillstoneTemperatureIndex - 1.3.6.1.4.1.28557.2.28.1.2.1.2 #hillstoneTemperatureDescr - 1.3.6.1.4.1.28557.2.28.1.2.1.3 #hillstoneTemperatureValue - 1.3.6.1.4.1.28557.2.30.1.1.1.6 #hillstoneVsysCurSession FW max_repetitions: 3 retries: 3 timeout: 10s version: 3 auth: username: 5gmec1 password: 此处填写自己的密码 auth_protocol: MD5 priv_protocol: AES priv_password: 此处填写自己的密码 security_level: authPriv lookups: - source_indexes: [hillstoneTemperatureIndex] lookup: 1.3.6.1.4.1.28557.2.28.1.2.1.2 #hillstoneTemperatureDescr - source_indexes: [hillstoneTemperatureIndex] lookup: 1.3.6.1.4.1.28557.2.28.1.2.1.3 #hillstoneTemperatureValue overrides: hillstoneTemperatureIndex: ignore: true hillstoneTemperatureDescr: ignore: true HILLSTONE_new: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.4.1.28557.2.2.1.7 - 1.3.6.1.4.1.28557.2.2.1.3 #sysCPU HILLSTONE - 1.3.6.1.4.1.28557.2.2.1.17 #sysMemRatio HILLSTONE - 1.3.6.1.4.1.28557.2.28.1.2.1.1 #hillstoneTemperatureIndex - 1.3.6.1.4.1.28557.2.28.1.2.1.2 #hillstoneTemperatureDescr - 1.3.6.1.4.1.28557.2.28.1.2.1.3 #hillstoneTemperatureValue - 1.3.6.1.4.1.28557.2.30.1.1.1.6 #hillstoneVsysCurSession FW max_repetitions: 3 retries: 3 timeout: 25s version: 3 auth: username: 5gmec password: 此处填写自己的密码 auth_protocol: MD5 priv_protocol: AES priv_password: 此处填写自己的密码 security_level: authPriv lookups: - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [hillstoneTemperatureIndex] lookup: 1.3.6.1.4.1.28557.2.28.1.2.1.2 #hillstoneTemperatureDescr - source_indexes: [hillstoneTemperatureIndex] lookup: 1.3.6.1.4.1.28557.2.28.1.2.1.3 #hillstoneTemperatureValue overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric hillstoneTemperatureIndex: ignore: true hillstoneTemperatureDescr: ignore: true SHHUAWEI: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.47.1.1.1.1.1 #entPhysicalIndex - 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5 #hwEntityCpuUsage huawei - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7 #hwEntityMemUsage huawei - 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11 #hwEntityTemperature - 1.3.6.1.4.1.2011.6.122.15.1.2.1.4 #hwSecStatMonTotalSess FW - 1.3.6.1.4.1.2011.5.25.31.1.1.10.1.7 #hwEntityFanState max_repetitions: 3 retries: 3 timeout: 25s version: 2 auth: community: 此处填写自己的community lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [entPhysicalIndex] lookup: 1.3.6.1.2.1.47.1.1.1.1.7 #entPhysicalName overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric entPhysicalIndex: ignore: true # Lookup metric entPhysicalName: ignore: true # Lookup metric dp: walk: - 1.3.6.1.2.1.1.1 #sysDescr - 1.3.6.1.2.1.1.3 #sysUpTimeInstance - 1.3.6.1.2.1.1.5 #sysName - 1.3.6.1.2.1.2.1 #ifNumber - 1.3.6.1.2.1.2.2.1.1 #ifIndex - 1.3.6.1.2.1.2.2.1.2 #IfDescr - 1.3.6.1.2.1.2.2.1.3 #ifType - 1.3.6.1.2.1.2.2.1.5 #ifSpeed - 1.3.6.1.2.1.31.1.1.1.15 #ifHighSpeed - 1.3.6.1.2.1.31.1.1.1.18 #ifAlias - 1.3.6.1.2.1.2.2.1.8 #ifOperStatus - 1.3.6.1.2.1.2.2.1.13 #ifInDiscards - 1.3.6.1.2.1.2.2.1.14 #ifInErrors - 1.3.6.1.2.1.2.2.1.19 #ifOutDiscards - 1.3.6.1.2.1.2.2.1.20 #ifOutErrors - 1.3.6.1.2.1.31.1.1.1.1 #ifName - 1.3.6.1.2.1.2.2.1.10 #ifInOctets - 1.3.6.1.2.1.2.2.1.16 #ifOutOctets - 1.3.6.1.2.1.31.1.1.1.6 #ifHCInOctets - 1.3.6.1.2.1.31.1.1.1.10 #ifHCOutOctets - 1.3.6.1.4.1.31648.3.15.3 #dpCpuRatio - 1.3.6.1.4.1.31648.3.15.5 #dpMemRatio - 1.3.6.1.4.1.31648.3.15.4 #dpCpuTemperature - 1.3.6.1.4.1.31648.3.15.9 #dpSession - 1.3.6.1.4.1.31648.3.15.11.1.3 #dpPowerStatus - 1.3.6.1.4.1.31648.3.15.12.1.3 #dpFanStatus max_repetitions: 3 retries: 3 timeout: 25s version: 3 auth: username: 5gmec password: 此处填写自己的密码 auth_protocol: MD5 priv_protocol: AES priv_password: 此处填写自己的密码 security_level: authPriv lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr - source_indexes: [ifIndex] lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName - source_indexes: [dpPowerStatusIndex] lookup: 1.3.6.1.4.1.31648.3.15.11.1.1 #dpPowerStatusVsmId - source_indexes: [dpFanrStatusIndex] lookup: 1.3.6.1.4.1.31648.3.15.12.1.1 #entPhysicalClass overrides: ifAlias: ignore: true # Lookup metric ifDescr: ignore: true # Lookup metric ifName: ignore: true # Lookup metric ifType: ignore: true # Lookup metric entPhysicalDescr: ignore: true # Lookup metric entPhysicalName: ignore: true # Lookup metric entPhysicalClass: ignore: true # Lookup metric ``` 主要的消耗时间就是想清楚需要采集的交换机监控指标信息,并到官网找到OID,贴到generator.yml文件中,最后执行./generator generate命令遍历OID形成snmp.yml配置文件,启动snmp_exporter时指定新形成的snmp.yml文件路径。 启动后打开浏览器 ![](/media/202302/snmp_exporter3_1675244374.png) grafana的话就是根据上图中查询到的HELP后查到的参数信息,进行图形化显示。大家可以根据自己的需要去查相应的参数信息,如果想查更多的信息,基本上的流程就是:将需要查询的交换机信息oid加入到generator.yml文件----重新编译generator.yml文件生成snmp.yml文件替换原来的snmp.yml文件----重启snmp_exporter。 如果你是使用的Dashboards模板,有的模板参数可能你没有查到,所以会显示No data 参考:https://blog.csdn.net/YI_XNH/article/details/111267502 ### 手工修改snmp.yml添加监控项 有时snmp.yml文件中没有需要的监控项,手工在walk、get、metrics下,增加如下oid和name ``` cat ./snmp_exporter/snmp.yml #警告:此文件是使用snmp_exporter生成器自动生成的,手动更改将丢失。 H3C: walk: - 1.3.6.1.2.1.1.3 - 1.3.6.1.2.1.1.5 get: - 1.3.6.1.2.1.1.3 - 1.3.6.1.2.1.1.5 metrics: - name: sysUpTime2 oid: 1.3.6.1.2.1.1.3 type: gauge - name : sysName oid: 1.3.6.1.2.1.1.5 type: DisplayString - name: gauge ``` 重启 snmp_exporter 使snmp.yml生效 systemctl restart snmp_exporter Grafana仪表盘 ![](/media/202302/Grafana_snmp_h3c_uptime2_1675680012.png) ## 多机器不同模块采集,基于文件服务发现 一般情况下,交换机都是有多台,甚至几百上千台,在如此多的设备需要监控采集数据,需要指定不同模块和不同配置文件进行加载采集的,下面简单介绍下多机器部署采集。 编辑prometheus.yml文件,增加如下内容: ``` - job_name: "SNMP" scrape_interval: 1m # 覆盖全局默认值 scrape_timeout: 30s # 覆盖全局默认值 file_sd_configs: # 基于文件服务发现 - files: - "snmp_device.yml" # 指定 snmp 服务发现配置文件路径 refresh_interval: 5s # 每隔5秒检查一次 metrics_path: /snmp params: module: - H3C # 指定默认采集 MIB 模块的名称,如果是其他设备,请更换其他模块。 # community: - public # 指定 community,当 snmp_exporter snmp.yml 配置文件没有指定 community,此处定义的 community 生效。 缺省值一般是 public 。 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: "localhost:9116" # SNMP Exporter 的地址和端口 ``` 如多型号设备,需多个mib,可新建独立的- job_name项目 snmp_device.yml 的内容参照如下格式即可。我在下面的示例中添加了architecture与model等变量,这些变量prometheus获取目标信息是,会作为目标的标签与目标绑定。 ``` - labels: mib: HZHUAWEI # 这里的名字只是个标签,无实际功能 brand: Huawei hostname: HZ-NL-HW5720STACK model: HWS5720EI targets: - 192.168.100.1 - labels: mib: HZHUAWEI brand: Huawei hostname: SH-HJ-HW5720STACK model: HWS5720EI targets: - 192.168.100.2 - labels: mib: if_mib brand: Huawei hostname: HZ-HX-HW12704CSS model: HW12704-E targets: - 192.168.100.3 - labels: mib: if_mib brand: Huawei hostname: HZ-BL-H5720STACK model: HWS5720EI targets: - 192.168.100.4 ``` 重启服务器或重加载配置文件即可 ``` curl -X POST http://localhost:9090/-/reload ```
local
2023年2月27日 19:09
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码