Prometheus-IDC环境网络设备监控

均采用docker-compose部署Prometheus基础环境

部署参考https://blog.csdn.net/ht9999i/article/details/134733793?spm=1001.2014.3001.5501 开头

一.部署Prometheus

# cat docker-compose.yml 
version: "3"
services:prometheus:#image: prom/prometheus:v2.0.0image: prom/prometheus:v2.18.1container_name: prometheuscommand: --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --storage.tsdb.retention=30duser: 0:0ports:- 9090:9090volumes:- /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml- /data/prometheus/alerts/:/etc/prometheus/rules.d/- /data/prometheus/data/:/prometheus- /etc/localtime:/etc/localtime:ro

准备数据目录

# cat /data/prometheus/prometheus.ymlglobal:scrape_interval:     120s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 120s # Evaluate rules every 15 seconds. The default is every 1 minute.scrape_timeout: 50s# scrape_timeout is set to the global default (10s).# Attach these labels to any time series or alerts when communicating with# external systems (federation, remote storage, Alertmanager).external_labels:monitor: 'tencent-prom-stack'# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:- 10.6.219.71:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:- 'rules.d/*'# - "second_rules.yml"scrape_configs:- job_name: 'prom-stack'static_configs:- targets:- prometheus:9090##Node设备- job_name: 'idc-node-linux'scrape_interval: 60smetrics_path: /metrics  #获取指标的urlstatic_configs:- targets: ["10.x.x.x:9100","10.x.x.x:9100","10.x.x.x:9100","10.x.x.x:9100"]##负载均衡- job_name: LB-NETWORKstatic_configs:- targets: - 10.x.x.x   ##网络设备地址metrics_path: /snmpparams:module: - if_mib  # 如果是其他设备,请更换其他模块。#community:#  - xxxxxx  #  指定 community,当 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: x.x.x.x:9116 ## 本机部署的snmp端口地址

告警规则文件

# cat /data/prometheus/alerts/node-rule.yml ###按照格式追加  ,instance!="10.x.xx.xx:9100" 即可,添加白名单
groups:
- name: noderules:# Alert for any instance that is unreachable for >5 minutes.- alert: NodeDownexpr: up * on(instance) group_left(nodename) (node_uname_info) == 0for: 5mlabels:serverity: deadlyannotations:summary: "Instance {{ $labels.instance }} down"description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."- alert: InstanceDownexpr: up == 0for: 5mlabels:serverity: deadlyannotations:summary: "Instance {{ $labels.instance }} down"description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."

启动

docker-compose up -d

二. 部署snmp_exporter

项目地址:https://github.com/prometheus/snmp_exporter/releases

下载项目文件

https://github.com/prometheus/snmp_exporter/releases

docker 部署

docker run -d --name snmp-exporter  --restart=always -m 1g \--volume /data/snmp_exporter/conf:/config \--network host prom/snmp-exporter:v0.20.0 \--web.listen-address :9116 \--config.file=/config/snmp.yml

二进制部署

# cat /etc/systemd/system/snmp_exporter.service 
[Unit]
Description=node_exporter
After=network.target[Service]
ExecStart=/data/snmp_exporter/snmp_exporter --config.file=/data/snmp_exporter/snmp.yml
Restart=on-failure[Install]
WantedBy=multi-user.target

三. 网络设备型号确定 snmp oid 表查询

上面的snmp.yml 需要自己适配设备品牌和oid号 才能采集到数据

if_mib:auth:community: <安全码>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.25506.2.6.1.1.1.1.6.122- 1.3.6.1.4.1.25506.2.6.1.1.1.1.10.122- 1.3.6.1.4.1.25506.2.6.1.1.1.1.8.122- 1.3.6.1.4.1.25506.2.5.1.1.4.1.1.5.7995393- 1.3.6.1.4.1.35047.1.5.1.6.1- 1.3.6.1.4.1.35047.1.6.2- 1.3.6.1.4.1.35047.1.4- 1.3.6.1.4.1.35047.2.2.19.0- 1.3.6.1.4.1.35047.2.10.8- 1.3.6.1.4.1.35047.2.10.9- 1.3.6.1.4.1.35047.2.10.5- 1.3.6.1.4.1.35047.1.9.1.4.1- 1.3.6.1.4.1.35047.2.2.5.0- 1.3.6.1.4.1.35047.2.2.6.0get:- 1.3.6.1.2.1.1.3.0metrics:##交换机cpu占用率百分比- name: ifswich_busyPeroid: 1.3.6.1.4.1.25506.2.6.1.1.1.1.6.122type: gaugehelp: swichCPU utilization##交换机内存总大小单位字节byte- name: ifswich_memsizeoid: 1.3.6.1.4.1.25506.2.6.1.1.1.1.10.122type: gaugehelp: swichMemoryPoolsize...

snmpwalk工具测试相关oid

snmpwalk -v 2c -c <安全码>  x.x.x.x 1.3.6.1.4.1.35047.1.5.1.6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET 8 发布!

作者&#xff1a;Gaurav Seth 排版&#xff1a;Alan Wang 请立即下载 .NET 8&#xff01; 我们很高兴地宣布从今天开始 .NET 8 正式发布&#xff0c;它是世界领先的开发平台之一的最新 LTS 版本。.NET 8 提供了数以千计的性能、稳定性和安全性改进&#xff0c;以及平台和工具增…

中学老师求职简历(精选9篇)

以下简历内容以中学老师招聘需求为背景&#xff0c;我们整理并修改了9篇全面、专业且具有参考价值的简历案例&#xff0c;大家可以灵活借鉴&#xff0c;希望能帮助大家在众多候选人中脱颖而出。 中学老师简历下载&#xff08;可在下制作下载&#xff09;&#xff1a;百度幻主简…

抓取微信好友列表信息

本文实现的是一种较为安全、简洁、高效的抓取微信好友信息的方法。 实现工具&#xff1a;微信pc端、影刀RPA 主要流程&#xff1a; 手动—前期准备&#xff0c;电脑登陆微信&#xff0c;打开联系人页&#xff0c;使得联系人分类“A”显现在微信窗口界面 自动—运行程序&#…

JDK21无法导入TimeUnit类

运行环境&#xff1a;windows11、IDEA2023.1.3、JDK21 问题描述&#xff1a;IDEA中无法导入java.util.concurrent.TimeUnit类。 以下截图是问题解决后的截图。有问题的时候未截图&#xff0c;说明一下&#xff0c;有问题的时候TimeUnit类是红色的&#xff0c;无法导入&#x…

vue3中的provide与inject跨层级组件(祖孙)间通信

provide和inject提供依赖注入&#xff0c;功能类似 vue2.x 的provide/inject 实现跨层级组件(祖孙)间通信 子或孙子组件接收到的数据可以用于读取显示&#xff0c;也可以进行修改&#xff0c;同步修改父&#xff08;祖&#xff09;组件的数据。 注意&#xff1a;无论子组件…

python 使用reportlab打造29页图文并茂pdf(全网reportlab最强pdf自动化生成代码)

python 使用reportlab打造29页图文并茂pdf(全网reportlab最强pdf自动化生成代码&#xff09; 这次项目所使用的代码如果同志们可以灵活使用&#xff0c;基本上可以解决百分之九十以上的pdf模板自动化生成。 最近博主&#xff0c;做了一个项目&#xff0c;使用reportlab制作pd…

程序包不存在

idea2020会有一个小bug&#xff0c;在idea的Settings设置中进行下面配置&#xff1a; 然后在maven项目下的pom.xml中加入如下代码&#xff1a; <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifact…

【Android面试|华为|锁相关】- synchronize(this) 和 synchronize(class)有什么区别

华为面试官问了其中一个问题 Q: synchronize(this) 和 synchronize(class)一样么&#xff1f; 是否可以用synchronize(this) 来锁 A: 当使用 synchronized 加锁 class 时&#xff0c;无论共享一个对象还是创建多个对象&#xff0c;它们用的都是同一把锁&#xff0c;而使用 sync…

【趣味JavaScript】一文让你读懂JavaScript原型对象与原型链的继承,探秘属性的查找机制! 《重置版》

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起学习和进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&a…

Oracle忘记所有密码怎么办

最近遇到一个Oracle的问题&#xff0c;密码要过期了&#xff0c;但是除了用户密码&#xff0c;其他密码都不知道了&#xff0c;修改不了密码怎么办呢&#xff1f; 试了各种方法&#xff0c;最终下面的方式生效了&#xff1a; 首先&#xff0c;使用orapwd生成新的密码文件&…

云计算如何创芯:“逆向工作法”的性感之处

在整个云计算领域&#xff0c;能让芯片规模化的用起来&#xff0c;是决定造芯是否成功的天花板。在拉斯维加斯的亚马逊云科技2023 re:Invent则是完美诠释了这一论调。 亚马逊云科技2023 re:Invent开幕前两个小时&#xff0c;有一场小型的欢迎晚宴&#xff0c;《星期日泰晤士报》…

BUUCTF [GXYCTF2019]SXMgdGhpcyBiYXNlPw== 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 得到的 flag 请包上 flag{} 提交。 密文&#xff1a; 下载附件&#xff0c;解压得到flag.txt文件。 解题思路&#xff1a; 1、打开flag.txt文件&#xff0c;内容如下。 Q2V0dGUgbnVpdCwK SW50ZW5hYmxlIGluc29tbm…

【如何用批处理文件实现自动编译Keil工程和C# Visual Studio工程】

如何用批处理文件实现自动编译Keil工程和C# Visual Studio工程 写个Bat 批处理文件&#xff0c;现自动编译Keil工程和C# Visual Studio工程。这样可以结合Python 实现复杂的操作。 编译Keil工程&#xff1a; echo off set UVC:\Keil_v5\UV4\UV4.exe set UV_PRO_PATHD:\worksp…

React有哪些优化性能的手段?

使用合成事件&#xff1a;React的合成事件系统能够提高性能&#xff0c;因为它使用事件委托&#xff0c;将事件监听器挂载在顶层容器上&#xff0c;而不是每个DOM元素上。减少了事件监听器的数量&#xff0c;从而减小了内存和性能开销。 使用组件级别的shouldComponentUpdate或…

Python编程题集(第三部容器操作 )

Demo61 指定等级 题目描述 读入学生成绩&#xff0c;获取最高分best&#xff0c;然后根据下面的规则赋等级值&#xff1a; &#xff08;1&#xff09;如果分数≥best-10&#xff0c;等级为A &#xff08;1&#xff09;如果分数≥best-20&#xff0c;等级为B &#xff08;1…

常见基础指令【Linux】

目录 一、Linux基本指令1. ls2. pwd3. cd4. touch5. mkdir6. rm和rmdir7. man8. cp9. mv10. cat11. tac12. more13. less14. head15. tail16. date17. cal18. find19. grep20. zip/unzip21. echo22. wc23. tree24. which25. alias26. whoami27. stat28. tar29. uname30. shutdo…

React实现登录授权功能

一、概述 本文将通过React Router & React Redux & Umi.js useModel 实现登录和授权路由功能。 二、技术实现 auth-action-reducer (redux配置) export const Login (username, password) > ({type: login,username: username,password: password }; export con…

vue3+element-plus之el-date-picker日期选择器清空无回调的解决方案

MENU 前言解决htmlJavaScrip 前言 在一个任务列表的搜索栏&#xff0c;添加一个日期区间搜索。使用到element-plus中的日期选择器el-date-picker&#xff1b;el-date-picker本身方法中有change事件&#xff0c;但是清空按钮没有对应回调方法。在任务列表的搜索需求中&#xff0…

如何自定义winform控件,并把它添加到工具箱,供拖动使用

首先&#xff0c;在想要用自定义控件的解决方案中新建一个项目&#xff0c;该项目用来存放所有的自定义控件。 解决方案-右键-添加-新建项目 添加新项目的界面选择Windows窗体控件库&#xff0c;点击确定。 此时&#xff0c;已经添加好了新的项目&#xff0c;默认会有一个自定…

记RocketMQ本地开发环境搭建始末

前言 最近工作中涉及到了RocketMQ的应用&#xff0c;为方便开发决定本地搭建一套RocketMQ的使用环境。 果然实践是个好东西... VMware虚拟环境搭建 这个网上有很多教程&#xff0c;只会比我写的详细有条理&#xff0c;这里就不在赘述了。 虚拟机搭建好之后每次重启电脑都无…