Zabbix 8.0 使用 SNMP 监控 Cisco IOS 设备:三模板体系完整解析
指标监控可观测性告警运维【免费下载链接】zabbixReal-time monitoring of IT components and services, such as networks, servers, VMs, applications and the cloud.项目地址https://gitcode.com/gh_mirrors/zabbix2/zabbix点击查看免费下载本指南以仓库内 Cisco IOS 官方模板 及配套 YAML 定义文件为事实依据系统讲解如何用 Zabbix 8.0 通过 SNMP 对 Cisco IOS 设备进行开箱即用的监控涵盖三个按 IOS 版本划分的模板、全部宏与触发器的配置方法以及内存、CPU、温度、电源、风扇、接口等监控项的底层采集机制。读完本文你将掌握从导入模板、配置主机到调优告警阈值的完整实战路径。一、模板总览与适用范围本模板由 Zabbix 官方模板工具 Templator 生成存放于 templates/net/cisco/cisco_snmp/ 目录其中 README.md 是使用说明template_net_cisco_snmp.yaml 是完整可导入定义。目录下不包含任何外部脚本——所有数据均通过标准 SNMP 协议采集属于 Zabbix 内置的 SNMP agent 与依赖型Dependent监控项组合。模板按 IOS 版本拆分为三个独立模板从 YAML 定义 中可见三个模板实体8、2515、3634模板名称适用 IOS 版本特点Cisco IOS by SNMP12.2(3.5) 及更新功能最全含 EtherLike-MIB 双工监控与 64 位接口计数Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP12.0(3)T 之后、12.2(3.5) 之前接口监控使用 64 位计数CPU 使用 cpmCPUTotal5minCisco IOS prior to 12.0_3_T by SNMP12.0(3)T 之前的早期版本CPU 使用 OLD-CISCO-CPU-MIB 的 avgBusy5无接口流量监控三个模板均要求Zabbix 8.0 及以上版本。官方测试覆盖的 IOS 版本以 README 中 Tested versions 一节为准如 Cisco IOS Software 12.2(3.5)。已知问题Known Issues模板官方在 README 中声明了一个已知限制VLAN 接口无错误/丢弃计数当接口 ifType 为 VLAN 时ifInErrors、ifOutErrors、ifInDiscards、ifOutDiscards不可用。受影响的 IOS 版本示例包括 12.1(22)EA11、15.4(3)M2设备示例为 C2911、C7600。在实际使用中遇到 VLAN 接口告警数据缺失时应首先确认是否属于该已知问题而非误判为采集故障。二、配置前提与 Setup官方 README 提示Zabbix 应按 Templates out of the box 的规范配置。设备侧需要在 IOS 上启用 SNMP这一步骤以厂商官方文档为准README 中 Setup 一节即明确 Refer to the vendor documentation。建议在导入模板前确认设备已配置 SNMP communityv1/v2c或 SNMPv3 凭据Zabbix 服务器与设备之间 UDP 161 端口可达设备能响应 ICMP模板内附带 ICMP ping 可用性检查。三、宏Macros体系与阈值调优模板通过宏集中管理告警阈值无需修改触发器表达式即可调参。以下是完整宏清单来自 README Macros used 一节按功能分组整理并补充取值范围说明3.1 基础阈值宏宏说明默认值{$MEMORY.UTIL.MAX}内存利用率告警阈值%90{$CPU.UTIL.CRIT}CPU 利用率告警阈值%90{$SNMP.TIMEOUT}SNMP 可用性触发器判定窗口5m{$SNMP.UPTIME.WARN}重启问题自动恢复的 Uptime 阈值10m{$ICMP_LOSS_WARN}ICMP 丢包率告警阈值%20{$ICMP_RESPONSE_TIME_WARN}ICMP 平均响应时间告警阈值秒0.153.2 温度监控宏宏说明默认值{$TEMP_CRIT_LOW}低温临界阈值5{$TEMP_WARN}温度告警阈值50{$TEMP_CRIT}温度临界阈值60{$TEMP_WARN:CPU}CPU 温度告警阈值带上下文70{$TEMP_CRIT:CPU}CPU 温度临界阈值带上下文75{$TEMP_WARN_STATUS}温度处于 warning 状态的取值2{$TEMP_CRIT_STATUS}温度处于 critical 状态的取值3{$TEMP_DISASTER_STATUS}温度处于 disaster 状态的取值4其中 {$TEMP_WARN_STATUS}、{$TEMP_CRIT_STATUS}、{$TEMP_DISASTER_STATUS} 对应 CISCO-ENVMON-MIB 中 ciscoEnvMonState 的状态枚举值1normal、2warning、3critical、4shutdown、5notPresent、6notFunctioning该映射定义在 YAML 的 valuemaps 部分。3.3 电源与风扇监控宏宏说明默认值{$PSU_WARN_STATUS:warning}PSU 处于 warning 状态的取值2{$PSU_CRIT_STATUS:critical}PSU 处于 critical 状态的取值3{$PSU_CRIT_STATUS:shutdown}PSU 处于 shutdown 状态的取值4{$PSU_WARN_STATUS:notFunctioning}PSU 处于 notFunctioning 状态的取值6{$FAN_WARN_STATUS:warning}风扇 warning 状态取值2{$FAN_CRIT_STATUS:critical}风扇 critical 状态取值3{$FAN_CRIT_STATUS:shutdown}风扇 shutdown 状态取值4{$FAN_WARN_STATUS:notFunctioning}风扇 notFunctioning 状态取值63.4 接口监控宏仅 Cisco IOS by SNMP 与 12.0_3_T-12.2_3.5 两个模板宏说明默认值{$IFCONTROL}接口链路状态触发器开关上下文宏等于 1 才触发1{$IF.UTIL.MAX}接口利用率阈值%90{$IF.ERRORS.WARN}错误包速率告警阈值可用接口名作上下文2{$NET.IF.IFNAME.MATCHES}接口名匹配正则发现过滤^.*${$NET.IF.IFNAME.NOT_MATCHES}接口名排除正则默认排除 loopback、null、docker veth 与 docker0 桥见模板内容过长{$NET.IF.IFOPERSTATUS.MATCHES}操作状态匹配正则^.*${$NET.IF.IFOPERSTATUS.NOT_MATCHES}操作状态排除正则默认忽略notPresent(6)^6${$NET.IF.IFADMINSTATUS.MATCHES}管理状态匹配正则^.*{$NET.IF.IFADMINSTATUS.NOT_MATCHES}管理状态排除正则默认忽略down(2)^2${$NET.IF.IFDESCR.MATCHES} / NOT_MATCHES接口描述匹配 / 排除正则.*/CHANGE_IF_NEEDED{$NET.IF.IFALIAS.MATCHES} / NOT_MATCHES接口别名匹配 / 排除正则.*/CHANGE_IF_NEEDED{$NET.IF.IFTYPE.MATCHES} / NOT_MATCHES接口类型匹配 / 排除正则.*/CHANGE_IF_NEEDED调优建议带上下文context的宏如{$IF.UTIL.MAX:{#IFNAME}}、{$TEMP_CRIT:{#SNMPVALUE}}可在主机或模板层级为单个接口、单个温度传感器设置独立阈值适合差异化监控场景。宏配置的可编辑属性如范围校验正则、分组Thresholds/Other同样定义在 YAML 的 macros 部分。四、监控项Items设计从 SNMP 采集到依赖项4.1 整体架构walk 主控 依赖项模板采用 Zabbix 8.0 的SNMP walk 到 JSON 依赖项Dependent item模式这也是 README 表格中大量SNMP walk ...条目与Dependent item类型共存的根本原因。工作链路为主控 walk 项类型 SNMP agent如vm.memory.walk、system.cpu.walk、net.if.walk、sensor.temp.walk、sensor.psu.walk、sensor.fans.walk、system.hw.serialnumber.walk一次性抓取整张 MIB 表的原始文本不保留历史history: 0仅作为数据源。以 YAML 定义 为例vm.memory.walk的 OID 为walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]即一次遍历 CISCO-MEMORY-POOL-MIB 的名称、已用、空闲三列。LLD 规则如 Memory Discovery对 walk 结果执行SNMP walk to JSON预处理将其转换为结构化 JSON并配合 Discard unchanged with heartbeat: 1h 减少无效数据处理从而动态发现表内的每个实例用{#SNMPINDEX}、{#SNMPVALUE}、{#IFNAME}、{#SENSOR_INFO}、{#ENT_NAME}等宏标识。原型项item prototypes通过 SNMP walk value 预处理从 JSON 中按OID.{#SNMPINDEX}精确取值并设置合理的心跳去重策略温度/电源/风扇3m、CPU5m、接口速率1h、序列号1d。以 CPU 为例主控项system.cpu.walk遍历1.3.6.1.4.1.9.9.109.1.1.1.1.5cpmCPUTotal5min与1.3.6.1.4.1.9.9.109.1.1.1.1.8cpmCPUTotal5minRev两列见 YAML L210-L224Cisco IOS by SNMP 模板的原型项取cpmCPUTotal5minRevOID 后缀.8见 L496-L514而 12.0_3_T-12.2_3.5 模板取cpmCPUTotal5min后缀.5。README 特别说明多 CPU 设备必须依赖 CISCO-PROCESS-MIB 的cpmCPUTotalTable该表按cpmCPUTotalIndex索引可为不同物理实体CPU 芯片、CPU 组、模块/板卡上的 CPU分别保留统计单 CPU 设备表中仅一条记录。4.2 系统基本信息类监控项三个模板共用以下 SNMP 直采项README Items 表监控项MIB键Key预处理Hardware model nameENTITY-MIBsystem.hw.model1d 心跳去重Hardware serial numberENTITY-MIBsystem.hw.serialnumber1d 心跳去重Operating systemSNMPv2-MIBsystem.sw.os[sysDescr.0]正则提取Version (.), RELEASE组 11d 心跳去重Uptime (network)SNMPv2-MIBsystem.net.uptime[sysUpTime.0]自定义倍数 0.01百分之一秒→秒Uptime (hardware)HOST-RESOURCES-MIBsystem.hw.uptime[hrSystemUptime.0]出错置 0倍数 0.01System location / contact / object ID / name / descriptionSNMPv2-MIBsystem.location[sysLocation.0] 等12h 心跳去重SNMP agent availabilityZabbix 内部zabbix[host,snmp,available]0/1/2 对应不可用/可用/未知SNMP traps (fallback)—snmptrap.fallback收集未被其他 trap 项匹配的 SNMP trapICMP ping / loss / response timeSimple checkicmpping / icmppingloss / icmppingsec—从 YAML 定义 可以看到细节system.contact[sysContact.0]取1.3.6.1.2.1.1.4.0且delay: 15msystem.hw.model取1.3.6.1.2.1.47.1.1.1.1.13.1entPhysicalDescr、delay: 1h这些项还通过inventory_linkCONTACT/MODEL/SERIALNO_A/OS/NAME/LOCATION自动回填资产清单。4.3 三大版本模板的差异点CPU 采集差异早期版本prior to 12.0_3_T无 LLD直接使用 OLD-CISCO-CPU-MIB 的avgBusy5system.cpu.util[avgBusy5]并配有一个静态 High CPU utilization 触发器较新版本则通过 CPU Discovery 动态生成每 CPU 利用率。接口监控差异Cisco IOS by SNMP独有 EtherLike-MIB Discovery双工状态net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]12.0_3_T-12.2_3.5 模板无双工监控且无net.if.duplex.walk主控项prior to 12.0_3_T 模板不包含接口监控与{$IFCONTROL}等接口宏。五、LLD 自动发现规则详解LLD低级别发现是模板动态适配设备硬件差异的核心机制。以 Cisco IOS by SNMP 模板为准共 8 条发现规则README 逐条列出LLD 规则数据来源发现宏产出原型项Memory DiscoveryCISCO-MEMORY-POOL-MIB ciscoMemoryPoolTable{#SNMPVALUE}、{#SNMPINDEX}已用/空闲/利用率CPU DiscoveryCISCO-PROCESS-MIB cpmCPUTotalTable{#SNMPINDEX}每 CPU 利用率Entity Serial Numbers DiscoveryENTITY-MIB entPhysicalTable{#ENT_NAME}、{#SNMPINDEX}组件序列号Temperature DiscoveryCISCO-ENVMON-MIB ciscoEnvMonTemperatureTable{#SNMPVALUE}温度值 温度状态PSU DiscoveryCISCO-ENVMON-MIB 电源状态表{#SENSOR_INFO}电源状态FAN DiscoveryCISCO-ENVMON-MIB 风扇状态表{#SENSOR_INFO}风扇状态Network interfaces discoveryIF-MIB ifTable/ifXTable{#IFNAME}、{#IFALIAS} 等状态/流量/错误/丢弃/类型/速率EtherLike-MIB Discovery仅最新模板IF-MIB EtherLike-MIB{#IFNAME}、{#IFALIAS}双工状态5.1 内存监控Memory Discovery 的主控链为vm.memory.walk→memory.discovery预处理 SNMP walk to JSON 1h 心跳→ 三个原型项vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]取1.3.6.1.4.1.9.9.48.1.1.1.5.{#SNMPINDEX}单位 Bvm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]取1.3.6.1.4.1.9.9.48.1.1.1.6.{#SNMPINDEX}单位 Bvm.memory.util[vm.memory.util.{#SNMPINDEX}]计算型项公式为last(//vm.memory.used[...])/(last(//vm.memory.free[...])last(//vm.memory.used[...]))*100定义见 YAML L722-L728即已用 / 池总量。对应触发器min(/Cisco IOS by SNMP/vm.memory.util[vm.memory.util.{#SNMPINDEX}],5m){$MEMORY.UTIL.MAX}级别 Average描述为 The system is running out of free memory.。模板还附带{#SNMPVALUE}: Memory utilization图形原型。5.2 CPU 监控CPU Discovery 产出system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}]最新模板预处理依次为 SNMP walk value: 1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX} 与 Discard unchanged with heartbeat: 5m。README 引述了 Cisco 官方说明cpmCPUTotal5minRev相比 1min/5sec 对象更精确可支撑趋势与容量规划且推荐的基线上升阈值为 90%。触发器为min(...5m){$CPU.UTIL.CRIT}默认 90级别 Warning同时有#{#SNMPINDEX}: CPU utilization图形原型固定 Y 轴 0-100。5.3 实体序列号发现防盗换Entity Serial Numbers Discovery 由system.hw.serialnumber.walk遍历1.3.6.1.2.1.47.1.1.1.1.5entPhysicalClass、.7entPhysicalName、.11entPhysicalSerialNum驱动。LLD 规则带过滤器{#ENT_CLASS}匹配^3$class 3 即 chassis且{#ENT_SN}匹配.非空见 YAML L556-L562。原型项system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]取1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}。其触发器利用相邻两次取值比较last(#1)last(#2) and length(...)0任何序列号变化都会触发 Info 级 Device has been replaced需手动确认关闭。5.4 温度、电源与风扇监控三条发现规则均基于 CISCO-ENVMON-MIB预处理含 SNMP walk to JSON 且带Custom on fail: Discard value温度/电源/风扇发现失败时丢弃整条数据避免误发现。温度原型项sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]与sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]分别取.3.1.3与.3.1.6OID。三个触发器Warningavg(5m){$TEMP_WARN:{#SNMPVALUE}} or status{$TEMP_WARN_STATUS}HighCriticalavg(5m){$TEMP_CRIT:{#SNMPVALUE}} or (avg{#SNMP.TEMP.THRESHOLD} and {#SNMP.TEMP.THRESHOLD}0) or status{$TEMP_CRIT_STATUS} or status{$TEMP_DISASTER_STATUS}——同时支持设备自身上报的阈值ciscoEnvMonTemperatureThreshold设备上报 0 表示该测点无阈值自动跳过该项判断Average过低avg(5m){$TEMP_CRIT_LOW:{#SNMPVALUE}}。电源sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]OID.5.1.3。触发器用count(...,#1,eq,{$PSU_CRIT_STATUS:\critical\})1 or ...shutdown1判断 criticalwarning或notFunctioning判断 warning。风扇sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]OID.4.1.3触发器结构与电源完全对称。温度/电源/风扇状态原型项均挂接CISCO-ENVMON-MIB::CiscoEnvMonState值映射YAML L1883-L1898把数值 1-6 翻译为 normal / warning / critical / shutdown / notPresent / notFunctioning方便界面阅读与告警判断。5.5 网络接口监控Network interfaces discovery 由net.if.walk主控其 OID 列表YAML L138-L141一次遍历 13 列操作状态.2.1.8、管理状态.2.1.7、名称.31.1.1.1.1、描述.2.1.2、类型.2.1.3、入方向 64 位字节.31.1.1.1.6、出方向 64 位字节.31.1.1.1.10、入错误.2.1.14、出错误.2.1.20、出丢弃.2.1.19、入丢弃.2.1.13、高速率.31.1.1.1.15。LLD 规则过滤条件非常灵活YAML L771-L803支持通过宏覆盖{#IFNAME}、{#IFALIAS}、{#IFDESCR}、{#IFTYPE}、{#IFOPERSTATUS}、{#IFADMINSTATUS}的包含/排除正则——这正是 3.4 节宏的落点。原型项及其预处理要点原型项取数 OID预处理Operational status1.3.6.1.2.1.2.2.1.8值映射 ifOperStatusBits received1.3.6.1.2.1.31.1.1.1.6Change per second → ×8字节→比特Bits sent1.3.6.1.2.1.31.1.1.1.10Change per second → ×8Inbound/Outbound packets with errors.14 / .20Change per second 3m 心跳Inbound/Outbound packets discarded.13 / .19Change per second 3m 心跳Interface type1.3.6.1.2.1.2.2.1.3值映射 ifType 1d 心跳Speed1.3.6.1.2.1.31.1.1.1.15×1000000Mbps→bps 1h 心跳EtherLike-MIB Discovery 取1.3.6.1.2.1.10.7.2.1.19dot3StatsDuplexStatus值映射EtherLike-MIB::dot3StatsDuplexStatus1unknown、2halfDuplex、3fullDuplex触发器last(...)2即 In half-duplex mode提示检查自动协商与线缆。六、触发器Triggers与依赖关系设计6.1 设备级触发器触发器表达式核心逻辑级别说明Device has been replacedlast(serial,#1)last(serial,#2) and length(...)0Info手动关闭Operating system description has changedlast(os,#1)last(os,#2) and length(...)0Info依赖 System name has changedHost has been restarteduptime 计数器下降且排除 32 位计数器回绕2^32 百分之一秒≈497 天Warning依赖 No SNMP data collectionuptime 超过 {$SNMP.UPTIME.WARN} 自动恢复System name has changedlast(name,#1)last(name,#2) and length(...)0Info手动关闭No SNMP data collectionmax(/.../zabbix[host,snmp,available],{$SNMP.TIMEOUT})0Warning依赖 ICMP 不可达Unavailable by ICMP pingmax(/.../icmpping,#3)0High—High ICMP ping lossmin(icmppingloss,5m){$ICMP_LOSS_WARN} and min(...)100Warning依赖 ICMP 不可达High ICMP ping response timeavg(icmppingsec,5m){$ICMP_RESPONSE_TIME_WARN}Warning依赖丢包与不可达6.2 接口级触发器Link downAverage手动关闭{$IFCONTROL:{#IFNAME}}1 and last(status)2 and (last(#1)last(#2))。README 明确解释三段逻辑操作状态为 down、上下文宏为 1可对单个接口置 0 忽略、且之前曾是 up避免对从未 up的接口告警。注意手动关闭后不会在下一次轮询重新触发diff 机制限制。High bandwidth usageWarning手动关闭(avg(in,15m)({$IF.UTIL.MAX:{#IFNAME}}/100)*last(speed) or avg(out,15m)(...)) and last(speed)0。带恢复表达式低于阈值-3% 时恢复见 YAML L1106-L1114。High error rateWarning手动关闭min(in.errors,5m){$IF.ERRORS.WARN:{#IFNAME}} or min(out.errors,5m){...}恢复条件为低于阈值的 80%。Ethernet lower speedInfo手动关闭change(speed)0 and last(speed)0且 ifType 属于以太网类型6/7/11/62/69/117且操作状态非 down——用于捕捉自协商降速。所有接口级触发器均依赖 Link down从而避免链路已断时的级联噪音。6.3 依赖设计的意义依赖Depends on形成告警分级ICMP 不可达High→ SNMP 无数据Warning→ 重启/丢包/响应慢Warning→ 具体硬件与接口问题。当上层问题存在时下层触发器自动抑制减少告警风暴。七、从 YAML 定义看模板的运维细节版本元数据三个模板的vendor: Zabbix, version 8.0-xwizard_ready: YES表明可通过 Zabbix 8.0 的模板导入向导一键部署YAML L29-L41。轮询频率系统信息类 15m/1huptime 30swalk 类与发现规则默认轮询并按需心跳去重兼顾实时性与设备负载。趋势与历史流量、温度等趋势项正常保留history: 0仅用于 walk 主控原始文本避免大文本冗余存储。图形原型模板自带 CPU、内存利用率与接口网络流量含错误/丢弃叠加图形原型如 YAML L1150-L1188导入后即可出图无需手工配置。八、快速部署三步走导入模板在 Zabbix 8.0 Web 前端进入Configuration → Templates点击 Import选择 template_net_cisco_snmp.yaml按向导完成导入。创建主机为设备创建 Host按设备实际 IOS 版本链接对应模板12.2(3.5) 用 Cisco IOS by SNMP配置 SNMP 接口的 IP、端口与 community/v3 凭据确认 ICMP 可用。调参上线在主机或模板层级按需覆盖 3.1-3.4 节的宏如单接口阈值{$IF.UTIL.MAX:Gi0/1}观察 LLD 发现结果与图形数据确认无已知问题场景如 VLAN 接口错误计数后再开启告警动作。九、总结这套 Cisco IOS 模板覆盖了网络设备监控的核心维度可用性ICMP SNMP 自检、资源CPU/内存、硬件健康温度/电源/风扇、身份审计序列号/系统信息防盗换与接口性能流量/错误/丢弃/双工。其设计精髓在于用 walk 主控 LLD 依赖项的组合把 MIB 表扫描开销限制在单次轮询内同时让阈值、过滤规则全部宏化、可覆盖、可上下文定制。无论是运维团队直接采用还是以 README 与 YAML 为范本二次开发都能获得完整的参考依据。赞分享指标监控可观测性告警运维【免费下载链接】zabbixReal-time monitoring of IT components and services, such as networks, servers, VMs, applications and the cloud.项目地址https://gitcode.com/gh_mirrors/zabbix2/zabbix点击查看免费下载相关推荐Zabbix 8.0 监控 Cisco Catalyst 3750V2-24FS官方 SNMP 模板完整部署指南与底层解析Zabbix 8.0 监控 Cisco Catalyst 3750V2 24FS官方 SNMP 模板完整部署指南与底层解析 Cisco Catalyst 37指标监控可观测性告警运维Zabbix Arista by SNMP 模板全解析8.0 开箱即用的 Arista 网络设备监控方案Zabbix Arista by SNMP 模板全解析8.0 开箱即用的 Arista 网络设备监控方案 导读 本文围绕 Zabbix 8.0 官方模板「Ar指标监控可观测性告警运维jQuery countTo插件完全指南打造动态数字计数效果的终极工具jQuery countTo插件完全指南打造动态数字计数效果的终极工具 jQuery countTo是一款功能强大的jQuery插件能够帮助开发者轻松实现数指标监控可观测性告警运维上一篇Gate One 配置完全指南从 10server.conf 到命令行参数的逐项详解下一篇TinyLlama-1.1B-Chat-v1.0技术解析3万亿tokens预训练背后的10个优化策略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

游戏引擎对象与资源管理:从组件化到对象池实战解析

游戏引擎对象与资源管理:从组件化到对象池实战解析

做引擎底层这几年,我越来越觉得“对象管理”和“资源管理”这两件事,基本决定了你项目能撑多大、优化能走多远。很多团队早期 Demo 跑得很顺,一到整合大关卡或者多人联调就频繁卡死、闪退、内存暴涨,根子往往不在渲染和物理&#…

2026/10/8 7:50:09 阅读更多 →
Android 事件分发机制总结与实战:从 Activity 到 View 的传递链路、处理优先级与滑动实现(YCBlogs)

Android 事件分发机制总结与实战:从 Activity 到 View 的传递链路、处理优先级与滑动实现(YCBlogs)

教程技术博客文档 【免费下载链接】YCBlogs 技术博客笔记大汇总,包括Java基础,线程,并发,数据结构;Android技术博客等等;常用设计模式;常见的算法;网络协议知识点;部分fl…

2026/10/8 7:50:08 阅读更多 →
FlashInfer 归一化算子库全解:RMSNorm/LayerNorm 到训练级 Cake RMSNorm 的完整实战指南

FlashInfer 归一化算子库全解:RMSNorm/LayerNorm 到训练级 Cake RMSNorm 的完整实战指南

大模型深度学习算子库后端高性能计算 【免费下载链接】flashinfer FlashInfer: Kernel Library for LLM Serving 项目地址: https://gitcode.com/gh_mirrors/fl/flashinfer 点击查看 免费下载 导读 本文基于 FlashInfer 官方 API 文档 docs/api/norm.rst&#xff…

2026/10/8 7:50:06 阅读更多 →

最新新闻

毕设别再来回切换工具了!一站式 AI 论文工具 Paperxie 真心推荐

毕设别再来回切换工具了!一站式 AI 论文工具 Paperxie 真心推荐

前言 马上到毕设攻坚期,很多同学是不是每天都在软件之间反复横跳? 找一个网站写开题,换一个软件翻译外文文献,再打开另一个工具画技术路线图,参考文献还要手动复制到生成器里,论文写完又要单独找查重、排版…

2026/10/8 8:25:09 阅读更多 →
ThreadLocal系列(二):内存泄漏与remove

ThreadLocal系列(二):内存泄漏与remove

ThreadLocal内存泄漏上个文章说到为什么最开始有用到remove方法,是为了防范ThreadLocal内存泄漏。 从这段代码可以看到,map的key和value的引用关系不同,GC回收的时候并不会回收value,导致key是null,但value指的对象却没…

2026/10/8 8:25:09 阅读更多 →
用 Pitchfork 做一次撞库:两次实验教会我的事

用 Pitchfork 做一次撞库:两次实验教会我的事

靶场:本地虚拟机 Metasploitable2 Kali,仅主机网络,全程在自有环境内操作。 一、先纠正一个误解:撞库不是"随机组合密码" 我刚开始学的时候,以为撞库就是把账号和密码随机排列组合去试。做过一遍之后才发现…

2026/10/8 8:25:09 阅读更多 →
Unsloth 微调 构建自己的大模型 没有GPU也能微调

Unsloth 微调 构建自己的大模型 没有GPU也能微调

这次我们使用unsloth框架来微调模型,将模型微调成一个垂直领域的模型先说问题This environment is externally managed ╰─> To install Python packages system-wide, try apt installpython3-xyz, where xyz is the package you are trying toinstall.从 Pyth…

2026/10/8 8:25:07 阅读更多 →
模拟赛车驾驶舱DIY:openrig开源铝型材方案从选材到调校

模拟赛车驾驶舱DIY:openrig开源铝型材方案从选材到调校

模拟赛车圈里,rig 是一个绕不开的词。它指的不是电脑主机,而是那套把方向盘、踏板、座椅和屏幕全部整合成一个固定驾驶环境的支架系统。openrig 就是奔着这件事来的一套方案:全开放的图纸,所有结构件用标准铝型材搭建,…

2026/10/8 8:25:04 阅读更多 →
逆向 BootMetro Pivot 插件:150 行 jQuery 复刻 WP8 风格 Pivot 控件的完整原理

逆向 BootMetro Pivot 插件:150 行 jQuery 复刻 WP8 风格 Pivot 控件的完整原理

逆向 BootMetro Pivot 插件:150 行 jQuery 复刻 WP8 风格 Pivot 控件的完整原理 【免费下载链接】bootmetro Simple and complete web UI framework to create web apps with Windows 8 Metro user interface, based on Bootstrap 2. 项目地址: https://gitcode.c…

2026/10/8 8:24:03 阅读更多 →

日新闻

抖音用户主页视频数据爬虫详解:点赞、收藏、分享字段抓取与 TaoToken 统一 Key 配置

抖音用户主页视频数据爬虫详解:点赞、收藏、分享字段抓取与 TaoToken 统一 Key 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:00:03 阅读更多 →
AI 编程 Trae 国内版与国际版一篇讲透:TaoToken 统一 Key 接入实测

AI 编程 Trae 国内版与国际版一篇讲透:TaoToken 统一 Key 接入实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:00:06 阅读更多 →
Claude Desktop 配置第三方推理接口教程:用 TaoToken 统一 Key 打通 API 调用

Claude Desktop 配置第三方推理接口教程:用 TaoToken 统一 Key 打通 API 调用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:00:07 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:13 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →