系统监控
奥科sbc监控简易说明-v9
Prometheus与SNMP对接监控
zabbix5.2批量监控laihu3.0指定端口
prometheus监控说明
prometheus监控服务端口状态
Prometheus监控运维实战十: 主机监控指标
prometheus 使用 ipmi exporter 增加硬件级别监控
jvm监控指标 - 求其在我 - 博客园
nginx_exporter的安装
Nginx Exporter 接入
CentOS 7下Nginx安装配置nginx-module-exporter 数据采集器 - 灰信网(软件开发博客聚合)
Zabbix统一监控系统
奥科sbc监控说明-v6
AlertManager告警服务
Prometheus AlertManager讲解
CentOS安装snmp-exporter部署来监控cisco交换机端口
prometheus监控之Domain域名过期监控
监控群晖NAS
linux下docker搭建Prometheus +SNMP Exporter +Grafana进行核心路由器交换机监控
ES8生产实践——数据查询与数据可视化(Grafana)
本文档使用 MrDoc 发布
-
+
首页
linux下docker搭建Prometheus +SNMP Exporter +Grafana进行核心路由器交换机监控
## 一、安装 Docker 和 Docker Compose https://docs.docker.com/get-docker/ ```bash sudo apt-get update sudo apt-get install -y docker.io sudo apt-get install -y docker-compose ``` ## 二、创建配置文件及测试平台是否正常 - 1、选个文件夹作为自建Prometheus +SNMP Exporter +Grafana的储存目录,如/plmxs,在plmxs文件夹下创建一个 docker-compose.yml 文件 创建一个 docker-compose.yml 文件,定义 Prometheus、SNMP Exporter 和 Grafana 的容器配置。以下是一个简单的示例: ```bash version: '3' services: prometheus: image: prom/prometheus ports: - "9090:9090" volumes: - /home/kali/docker/plmxs/prometheus:/etc/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' snmp-exporter: image: prom/snmp-exporter ports: - "9116:9116" environment: - SNMP_EXPORTER_TARGETS=192.168.1.1:161,192.168.1.2:161 grafana: image: grafana/grafana ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_PASSWORD=admin depends_on: - prometheus ``` 这个示例配置文件中包括了 Prometheus、SNMP Exporter 和 Grafana 的基本设置。请根据实际情况修改 IP 地址、端口和其他参数。 先创建文件 ```bash mkdir -pv /home/kali/docker/plmxs/prometheus/{data,conf,rules,targets} mkdir -pv /home/kali/docker/plmxs/grafana/data mkdir -pv /home/kali/docker/plmxs/alertmanager/{data,conf} ```  - 2、创建 Prometheus 配置文件 在/home/kali/docker/plmxs/prometheus目录下创建 prometheus.yml 文件,配置 Prometheus 的监控目标。以下是一个示例,配置里面的snmp-exporter写你搭建平台的IP地址: ```bash global: scrape_interval: 15s scrape_configs: - job_name: 'snmp-exporter' static_configs: - targets: ['snmp-exporter:9116'] ```   - 3、启动容器 在包含 docker-compose.yml 文件的目录下运行以下命令启动容器: ```bash docker-compose up -d ``` 这会启动 Prometheus、SNMP Exporter 和 Grafana 容器。  查看下运行状态 `sudo docker-compose ps -a` 三个端口都正常运行了。  - 4、访问 Grafana 打开浏览器访问 Grafana 控制台(默认地址:http://localhost:3000/)。使用默认的用户名 admin 和密码 admin 登录。在 Grafana 中配置 Prometheus 数据源,然后创建仪表板并添加 SNMP Exporter 提供的指标。请注意,如果你的 Docker 主机不在本地,替换配置中的 IP 地址为你的 Docker 主机 IP。  添加Prometheus数据源 Configuration -> Data Sources ->add data source -> Prometheus 找不到我们就直接搜索Data Sources   直接填入Prometheus的访问地址,搞定! ## 三、路由器交换机配置snmp 先试试 snmpv2c  使用linux的snmpwalk工具验证设置是否正常 `snmpwalk 设备IP -c 团体名 -v 2c` -c后面跟你设置的团体名 -v跟snmp版本  正常。结果发现SNMP Exporter不对,应该是需要配置snmp.yml 按照`https://github.com/prometheus/snmp_exporter/tree/main/generator`下载H3C的MIB自己生成snmp.yml H3C的MIB下载  就下载个ComwareV5 v7的MIB吧 下载地址: ComwareV5`https://www.h3c.com/cn/d_200905/635750_473262_0.htm` ComwareV7`https://www.h3c.com/cn/d_201806/1089291_473262_0.htm` 参考文章: `https://mp.weixin.qq.com/s/qUywfXoqAvm7brXyjLYA7A` SNMP Exporter手把手教学,自定义采集网络设备监控数据 `https://www.runoob.com/docker/docker-compose.html` docker-compose.yml 的配置 使用generator需要先把snmp\_exporter下载到本地然后编译generator Due to the dynamic dependency on NetSNMP, you must build the generator yourself. ```bash sudo apt-get install unzip build-essential libsnmp-dev sudo yum install gcc gcc-g++ make net-snmp net-snmp-utils net-snmp-libs net-snmp-devel git clone https://github.com/prometheus/snmp_exporter.git cd snmp_exporter/generator make generator mibs ```  编译好后的目录  我这里是新建了个mibsc文件夹(中文意思mib生成)把运行命令`git clone https://github.com/prometheus/snmp_exporter.git`下载的snmp\_exporter放在了这个用来生成h3c的snmp.yml文件。 这里我选择ComwareV7解压得到的MIB用编译后得到的generator进行生成snmp.yml ```bash ./generator --fail-on-parse-errors generate -m [你设备的mib解压后的路径] -g generator_h3c.yml[你写的规则] -o snmp_h3c.yml[生成的snmp.yml文件路径] ``` \============================ 前面我们下载了h3c的ComwareV7的MIB并且编译了generator,现在我们按照官方的File Format来写一个generator\_h3c.yml文件 `https://github.com/prometheus/snmp_exporter/tree/main/generator` 官方的File Format  正好群里的大佬告诉我H3C有在线的MIB查询,我们在上面选择好设备来边查询边写我们需要监控哪些东西   我这里用snmpwalk工具对设备发送OID去测试设备支不支持这个OID去查询信息,以免出现写的东西不起作用。WQ我这边的设备官网上的OID都不支持,干。还好有标杆的神器`https://www.h3c.com/cn/Service/Document_Software/Software_Download/Other_Product/H3C_Software/BG/BG/` 下载安装,用[everything](https://www.voidtools.com/zh-cn/)搜索`MIB exe`    欸,真香。用这个h3c路由器交换机的常用MIB节点OID都可以用!!! 文件名:`generator-h3c.yml` ```bash auths: public_v2: version: 2 community: public modules: H3C: walk: - 1.3.6.1.2.1.1.5 - 1.3.6.1.2.1.4.20.1.2 - 1.3.6.1.2.1.2.2.1.2 - 1.3.6.1.4.1.25506.8.35.18.4.3.1.4 - 1.3.6.1.4.1.25506.8.35.9.1.2.1.2 - 1.3.6.1.2.1.2.2.1.8 - 1.3.6.1.2.1.2.2.1.13 - 1.3.6.1.2.1.2.2.1.14 - 1.3.6.1.2.1.2.2.1.19 - 1.3.6.1.2.1.2.2.1.20 max_repetitions: 25 retries: 3 timeout: 5s ``` 试下试下 ```bash ./generator --fail-on-parse-errors generate -m /home/kali/docker/plmxs/h3cmib/h3cprmib -m /home/kali/docker/plmxs/h3cmib/h3cpublicmib -g /home/kali/docker/plmxs/h3cmib/generator-h3c.yml -o /home/kali/docker/plmxs/h3cmib/snmp.yml ```  ok,生成snmp.yml正常,扔到挂载挂载snmp.yml的位置上,重启容器试试   ok,访问http://IP:9116/ 写个H3C路由器IP试下   正常。 正在持续编写完善中。。。。。。 https://mp.weixin.qq.com/s/NnbZRGbbG\_HtH15N6MLdBg
adouk
2025年4月1日 20:38
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码