当前位置: 首页 > news >正文

使用 Datadog 和 Slack Alerts 监控 minikube

为什么要监控 minikube 集群?这是一个不错的练习,可以让你了解 DataDog 的设置过程并探索 K8s 指标产品。

本文将分享我的以下经验:

  • 设置最新的 minikube
  • 部署示例应用程序
  • 创建 DataDog(试用)帐户
  • 使用 Helm 安装 DataDog 代理
  • 安装 DataDog 集成并查看仪表板

设置最新的 minikube

我按照 minikube 文档安装了 minikube。文档根据我的机器生成了一些下载和安装 minikube 的命令,使整个过程快速而轻松。

对于我的 Mac,文档生成了以下内容:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube

从这里开始,我只需要执行 minikube start 就可以启动我的集群。我运行 kubectl config current-context 来验证上下文设置是否正确,结果返回了 minikube 。

ninjamac@ip-192-168-1-95 ~ % minikube start
😄  Darwin 15.3.1 (arm64) 上的 minikube v1.33.1
✨  根据现有的配置文件使用 docker 驱动程序
👍  Starting "minikube" primary control-plane node in "minikube" cluster
🚜  Pulling base image v0.0.44 ...
🔄  Restarting existing docker container for "minikube" ...
❗  此镜像不适用于当前的 minikube 版本。要解决此问题,您可以删除并重新创建您的 minikube 集群,使用最新的镜像。预期的 minikube 版本:v1.33.0 -> 实际的 minikube 版本:v1.33.1
🐳  正在 Docker 26.0.1 中准备 Kubernetes v1.30.0…
🔎  正在验证 Kubernetes 组件...▪ 正在使用镜像 docker.io/kubernetesui/dashboard:v2.7.0
💡  插件启用后,请运行 "minikube tunnel" 您的 ingress 资源将在 "127.0.0.1"▪ 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5▪ 正在使用镜像 registry.k8s.io/ingress-nginx/controller:v1.10.1▪ 正在使用镜像 registry.k8s.io/metrics-server/metrics-server:v0.7.1▪ 正在使用镜像 registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1▪ 正在使用镜像 docker.io/kubernetesui/metrics-scraper:v1.0.8▪ 正在使用镜像 registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1
🔎  正在验证 ingress 插件...
💡  Some dashboard features require the metrics-server addon. To enable all features please run:minikube addons enable metrics-server🌟  启用插件: metrics-server, storage-provisioner, default-storageclass, dashboard, ingress
🏄  完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间

部署示例应用程序


我创建了一些示例应用程序用于监控。运行单个 Nginx Pod 并将其公开为服务非常简单。我还保存了 Nginx 的配置作为部署。

kubectl run nginx --image=nginx
kubectl expose pod nginx --port 80
kubectl apply -f https://raw.githubusercontent.com/gsweene2/terraform-eks-nginx/master/k8s/nginx-deployment.yaml
kubectl apply -f https://raw.githubusercontent.com/gsweene2/terraform-eks-nginx/master/k8s/nginx-service.yaml

创建datadog 免费账号并和kubernetes集成

选择kubernetes nginx slack container

使用 Helm 安装 Datadog 代理

添加 Datadog Helm 存储库

helm repo add datadog https://helm.datadoghq.com
helm repo update
kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>

tips:用您自己的Datadog API key 替换<DATADOG_API_KEY>  

配置 datadog-values.yaml

创建 datadog-values.yaml 文件,其中包含:

datadog:apiKeyExistingSecret: datadog-secretsite: <DATADOG_SITE>

将 <DATADOG_SITE> 替换为您的 Datadog 站点。我把datadog的站点都放在下面的截图中。

使用上述配置文件部署Agent

helm install datadog-agent -f datadog-values.yaml datadog/datadog

确认代理安装

ninjamac@ip-192-168-1-95 datadog % kubectl get pod -l app=datadog-agent
NAME                  READY   STATUS    RESTARTS   AGE
datadog-agent-55qds   2/2     Running   0          54m

也可以登录datadog,验证代理 Pod(带有 app.kubernetes.io/component:agent 标签)是否出现在 Datadog 的“容器”页面上。代理 Pod 会在部署后几分钟内被检测到。

创建pod failling 告警规则

当 Pod 发生故障时,这意味着容器要么以非零状态退出,要么被系统终止。此监视器会跟踪给定 Kubernetes 集群中超过 2个 Pod 发生故障的情况。

设置通过slack - datadog-alert channel来告警

通过kubectl scale命令来将nginx deployment缩到0来模拟故障,生产环境千万不要这样做。

ninjamac@ip-192-168-1-95 datadog % kubectl scale deployment nginx-deployment --replicas=0
deployment.apps/nginx-deployment scaled

过几分钟后就slack就收到下面的告警

 

    结论

    通过这篇文章,我给您演示了如何在minikube中部署datadog agent,然后通过它来收集kubernetes集群状态和pod的信息,并通过与slack工具集成,创建告警规则,当pod fail时自动发送告警到slack channel。希望能对您的日后运维带来一些启示和帮助,如果您有问题,欢迎在评论区给我留言。

     

     

    相关文章:

    使用 Datadog 和 Slack Alerts 监控 minikube

    为什么要监控 minikube 集群&#xff1f;这是一个不错的练习&#xff0c;可以让你了解 DataDog 的设置过程并探索 K8s 指标产品。 本文将分享我的以下经验&#xff1a; 设置最新的 minikube部署示例应用程序创建 DataDog&#xff08;试用&#xff09;帐户使用 Helm 安装 Data…...

    深入 Redis 持久化:从原理到企业级应用的全景图

    &#x1f9e0; 什么是 Redis 持久化&#xff1f;为什么需要&#xff1f; Redis 是内存型数据库&#xff0c;默认所有数据都存在内存中&#xff0c;一旦断电&#xff0c;数据就会消失。为了避免重要数据丢失&#xff0c;Redis 提供了持久化机制&#xff0c;用于将内存中的数据保…...

    NET模式下如何配置虚拟机的IP地址为静态的

    1.查看网关&#xff1a; 2.找到虚拟机的网络配置文件 cd ./etc/sysconfig/network-scripts/ vim ifcfg-ens33 3.修改配置 BROWSER_ONLY"no" IPADDR192.168.122.120 NETMASK255.255.255.0 GATEWAY192.168.122.2 DNS18.8.8.8 4.重启网路服务 sudo systemctl rest…...

    VMWare Workstation Pro17.6最新版虚拟机详细安装教程(附安装包教程)

    目录 前言 一、VMWare虚拟机下载 二、VMWare虚拟机安装 三、运行虚拟机 前言 VMware 是全球领先的虚拟化技术与云计算解决方案提供商&#xff0c;通过软件模拟计算机硬件环境&#xff0c;允许用户在一台物理设备上运行多个独立的虚拟操作系统或应用。其核心技术可提升硬件…...

    磐石云智能语音客服系统——技术革新引领服务新体验

    在人工智能技术飞速发展的今天&#xff0c;企业对于智能化客户服务的需求日益增长。磐石云智能语音客服系统凭借其前沿技术架构与深度场景适配能力&#xff0c;正在重新定义人机交互的边界。本文将深入解析该系统如何通过技术创新实现服务效率与体验的双重突破。 一、意图识别…...

    什么是iPaaS?

    在当今数字化时代&#xff0c;企业面临着日益复杂的IT环境和不断增长的业务需求。随着云计算、微服务、物联网等技术的快速发展&#xff0c;企业需要更加高效、灵活且安全的方式来进行数据集成和应用集成。集成平台即服务&#xff08;iPaaS&#xff09;应运而生&#xff0c;成为…...

    Vue3 中 Pinia 持久化的全面解析和最佳实践

    Vue3 中 Pinia 持久化的全面解析 一、Pinia 简介​ Pinia 是 Vue 的新一代状态管理库&#xff0c;它提供了简洁的 API&#xff0c;支持 Composition API&#xff0c;并且拥有良好的代码拆分和热更新能力。相比于 Vuex&#xff0c;Pinia 的代码结构更加扁平&#xff0c;易于理…...

    蓝桥杯最后一天警告!!!

    1.万能头文件 #include <bits/stdc.h> 2.一道题实在一点都不会&#xff0c;直接碰运气骗分 #include <bits/stdc.h> using namespace std;int main() {srand(time(0));printf("%d",rand()%101);//生成一个1到10之间的随机整数&#xff0c;并输出print…...

    el-time-picker标签的使用

    需求&#xff1a; 实现培训日期&#xff0c;用户可以选择某一天的日期&#xff0c;这个比较简单 <el-form-item label"培训日期" prop"startTime"><el-date-picker clearablev-model"form.startTime"type"date"placeholder…...

    Mysql--基础知识点--85.1--Innodb自适应哈希索引

    1. 自适应哈希索引的用途 InnoDB 的自适应哈希索引&#xff08;Adaptive Hash Index, AHI&#xff09;是 MySQL 数据库引擎中一项智能优化查询性能的功能。其核心作用如下&#xff1a; 加速等值查询 哈希索引通过哈希函数将键映射到固定位置&#xff0c;实现 O(1) 时间复杂度的…...

    Matlab 考虑电机激励力的整车垂向七自由度的被动悬架和LQR控制

    1、内容简介 Matlab 200-考虑电机激励力的整车垂向七自由度的被动悬架和LQR控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

    统一功能处理

    SpringBoot统一功能处理 本节目表 1.掌握拦截器的使用&#xff0c;及其原理 2.学习统一数据返回格式和统一异常处理的操作 3.了解一些Spirng的源码 文章目录 SpringBoot统一功能处理前言一、拦截器是什么&#xff1f;二、使用步骤1.定义拦截器2.注册配置拦截器 三&#xff0c;适…...

    LibreOffice Writer使用01去除单词拼写判断的红色下划线

    这个软件还是非常有特色的&#xff0c;因为大家需要office的全部功能&#xff0c;常常忽略了这个软件的使用体验。 csdn不是特别稳定&#xff0c;linux也没有什么比较好的md编辑器&#xff0c;所以我选择这个软件来记录我的临时博客&#xff0c;原因无他&#xff0c;它可以保存…...

    JAVA基础 - 高效管理线程隔离数据结构ThreadLocalMap

    欢迎光临小站&#xff1a;致橡树 ThreadLocalMap 是 ThreadLocal 的核心底层数据结构&#xff0c;负责在每个线程中存储与 ThreadLocal 实例绑定的数据。它的设计目标是高效管理线程隔离数据&#xff0c;同时尽量减少内存泄漏风险。以下是其核心实现细节。 数据结构与设计目标…...

    每日一题(小白)暴力娱乐篇25

    由题意直知&#xff0c;要求将给定的字符串转为符合格式的字符串。首先我们来思考一下例如02/02/02这样的数字日月肯定不用进行修改&#xff0c;修改后需要加上对应的年份的前两位&#xff0c;题目要求1960年1月1日~2059年12年12月31日&#xff0c;&#xff08;对1960年至2059年…...

    地表水-地下水耦合建模全景解析暨SWAT-MODFLOW地表与地下协同模拟及多情景专题应用

    第一、模型原理与层次结构 1.1流域水循环与SWAT模型 1.2 地下水模拟与MODFLOW模型 1.3 SWAT-MODFLOW地表-地下耦合模型 1.4 QSWATMOD 插件与功能介绍 1.5 模型实现所需软件平台 第二、QGIS软件 2.1 QGIS平台 2.2 QGIS安装 2.3 QGIS界面认识 2.4 QGIS常见数据格式 2.…...

    在线论坛系统

    在线论坛 项目介绍项目使用技术介绍前端技术栈后端技术栈 项目运行步骤说明后端运行步骤前端运行步骤 项目使用说明用户端功能管理员端功能 部分功能说明运行截图用户端管理员端 系统源码 项目介绍 这是一个基于现代技术栈开发的在线论坛系统&#xff0c;提供用户交流、内容分享…...

    webrtc pacer模块(一) 平滑处理的实现

    Pacer起到平滑码率的作用&#xff0c;使发送到网络上的码率稳定。如下的这张创建Pacer的流程图&#xff0c;其中PacerSender就是Pacer&#xff0c;其中PacerSender就是Pacer。这篇文章介绍它的核心子类PacingController及Periodic模式下平滑处理的基本流程。平滑处理流程中还有…...

    新能源车「大三电」与「小三电」

    一、‌大三电系统‌ ‌动力电池‌ 作为整车的能量核心&#xff0c;目前主流类型包括三元锂电池&#xff08;NCM/NCA&#xff09;和磷酸铁锂电池&#xff08;LFP&#xff09;&#xff0c;前者能量密度高&#xff0c;后者安全性和成本优势显著‌。动力电池通过模组串联形成电池包…...

    xlinx GT传输器学习

    xlinx有2路refclk会输入到gtbank。此2路bank输入时钟是差分输入&#xff0c;经过IBUFDS_GTE2源语转换为单端。如下图。 从fpga外输入高速差分时钟。 差分时钟转换为单端。 单端时钟输入到gt_common模块 下图为gt内部结构图...

    C++笔记之父类引用是否可以访问到子类特有的属性?

    C++笔记之父类引用是否可以访问到子类特有的属性? code review! 参考笔记 1.C++笔记之在基类和派生类之间进行类型转换的所有方法 文章目录 C++笔记之父类引用是否可以访问到子类特有的属性?1.主要原因2.示例代码3.说明4.如何访问子类特有的属性5.注意事项6.总结在 C++ 中,…...

    基于SSM框架的房屋租赁小程序开发与实现

    概述 一个基于SSM框架开发的微信小程序房屋租赁管理系统&#xff0c;该项目实现了用户管理、中介管理、房源信息管理等核心功能。 主要内容 一、管理员模块功能实现 ​​用户管理​​ 管理员可对通过微信小程序注册的用户信息进行修改和删除操作&#xff0c;确保用户数据的准…...

    大模型评估论文粗读“AGIEval: A Human-Centric Benchmark for Evaluating Foundation Models“

    Zhong W, Cui R, Guo Y, et al. Agieval: A human-centric benchmark for evaluating foundation models[J]. arXiv preprint arXiv:2304.06364, 2023. 摘要翻译 评估大模型在处理人类层级的任务时的通用能力&#xff0c;是AGI发展和应用中至关重要的一环。传统的衡量标准通常依…...

    程序化广告行业(76/89):行业融资全景剖析与代码应用拓展

    程序化广告行业&#xff08;76/89&#xff09;&#xff1a;行业融资全景剖析与代码应用拓展 大家好&#xff01;在之前的文章里&#xff0c;咱们一起了解了程序化广告行业的发展趋势以及PC端和移动端投放的差异。今天&#xff0c;咱们接着深入学习&#xff0c;这次聚焦在程序化…...

    网工基础 | 常见英文术语注解

    原创&#xff1a;厦门微思网络 以下是一些网工专业常见的英文术语注解&#xff1a; IP Address&#xff08;Internet Protocol Address&#xff09; 互联网协议地址&#xff0c;是分配给连接到互联网的设备的唯一标识符&#xff0c;用于在网络中定位和通信。例如&#xff0c;“…...

    【FPGA开发技巧】Modelsim仿真中,显示状态机的名称,而非编码数字

    示例 被仿真的文件名为&#xff1a;cmd_handle.v&#xff0c;其中有r_st_current和r_st_next两个状态机变量。 该模块在tb文件中&#xff0c;被例化的名称为cmd_handle_u0 按照如下格式写&#xff1a;cmd_handle_u0.r_st_current 示例tb文件&#xff1a; timescale 1ns / 1…...

    二分答案----

    二分答案 - 题目详情 - HydroOJ 问题描述 给定一个由n个数构成的序列a&#xff0c;你可以进行k次操作&#xff0c;每次操作可以选择一个数字&#xff0c;将其1&#xff0c;问k次操作以后&#xff0c;希望序列里面的最小值最大。问这个值是多少。 输入格式 第一行输入两个正…...

    Nginx 命令大全:Linux 与 Windows 系统的全面解析

    Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;广泛应用于 Web 服务、负载均衡和反向代理等场景。本文将从 Linux 和 Windows 系统的角度出发&#xff0c;详细解析 Nginx 的常用命令&#xff0c;并区分两种系统之间的差异&#xff0c;帮助你高效地管理和维护 Nginx 服…...

    我的计算机网络(总览篇)

    总览--网络协议的角度 在一个庞大的网络中&#xff0c;该从哪里去了解呢&#xff1f;我先细细的讲一下我们访问一个网站的全部流程&#xff0c;当我们的电脑连上网络的时候&#xff0c;就会启动DHCP协议&#xff0c;来进行IP地址&#xff0c;MAC地址&#xff0c;DNS地址的分配…...

    开源CMS的模块化设计和API接口如何具体影响其扩展性?

    优秀的CMS系统都有自己主打的特点&#xff0c;开源CMS凭借其灵活性和低成本优势占据了市场主流地位&#xff0c;而模块化设计与API接口正是其扩展性的两大基石。本文将深入探讨这两大技术特性是如何影响cms的扩展性的。 一、模块化设计&#xff1a;功能解耦与生态繁荣的引擎 …...

    【网络原理】网络通信基础

    目录 一. 网络发展史 &#xff08;1&#xff09;局域网 &#xff08;2&#xff09;广域网 二. 网络基础知识 &#xff08;1&#xff09;IP地址 &#xff08;2&#xff09;端口号 &#xff08;3&#xff09;协议 &#xff08;4&#xff09;五元组 一. 网络发展史 网络的发…...

    Win11系统 VMware虚拟机 安装教程

    Win11系统 VMware虚拟机 安装教程 一、介绍 Windows 11是由微软公司&#xff08;Microsoft&#xff09;开发的操作系统&#xff0c;应用于计算机和平板电脑等设备 。于2021年6月24日发布 &#xff0c;2021年10月5日发行 。 Windows 11提供了许多创新功能&#xff0c;增加了新…...

    新手宝塔部署thinkphp一步到位

    目录 一、下载对应配置 二、加载数据库 三、添加FTP​ 四、上传项目到宝塔​ 五、添加站点​ 六、配置伪静态 七、其他配置 开启监控 八、常见错误 一、打开宝塔页面&#xff0c;下载对应配置。 二、加载数据库 从本地导入数据库文件 三、添加FTP 四、上传项目到宝塔…...

    MCU如何查看系统有没有卡死

    前言&#xff1a;在我们调试单片机的时候&#xff0c;经常会遇到系统非预期运行的状况。造成系统卡死的原因有很多&#xff0c;主要有&#xff1a;野指针&#xff0c;数组越界&#xff0c;死锁&#xff0c;还有一些while写入的一些逻辑错误。本文就如何排查这些问题&#xff0c…...

    有哪些反爬机制可能会影响Python爬取视频?如何应对这些机制?

    文章目录 前言常见反爬机制及影响1. IP 封禁2. 验证码3. 请求头验证4. 动态加载5. 加密与混淆6. 行为分析 应对方法1. 应对 IP 封禁2. 应对验证码3. 应对请求头验证4. 应对动态加载5. 应对加密与混淆6. 应对行为分析 前言 在使用 Python 爬取视频时&#xff0c;会遇到多种反爬…...

    【辰辉创聚生物】提供上万种单抗/多抗及其偶联物

    辰辉创聚生物致力于提供高质量的一抗&#xff08;Primary Antibodies&#xff09;、二抗&#xff08;Secondary Antibodies&#xff09;和对照抗体&#xff08;Control Antibodies&#xff09;&#xff0c;支持分子生物学、免疫学及生物医学科学领域的前沿研究。我们拥有超过40…...

    Google Chrome Canary版官方下载及安装教程【适用于开发者与进阶用户】

    谷歌浏览器&#xff08;Google Chrome&#xff09;以其高性能、强扩展性和良好的用户体验深受全球用户喜爱。在其多个版本中&#xff0c;Chrome Canary因具备最前沿的功能测试环境&#xff0c;成为开发者和技术探索者的首选。如果你希望第一时间体验Google Chrome最新功能&…...

    BERT - BERT 模型综述

    1. BERT的两个任务 &#xff08;1&#xff09;Pre-Training 预训练 Masked LM (MLM) - 让模型预测被隐藏&#xff08;Mask&#xff09;掉的token。 例如&#xff1a;输入“我喜欢吃[MASK]”&#xff0c;Label是“我喜欢吃苹果”&#xff0c; 模型需要预测出“苹果”。这种…...

    Vue 大文件分片上传组件实现解析

    Vue 大文件分片上传组件实现解析 一、功能概述 1.1本组件基于 Vue Element UI 实现&#xff0c;主要功能特点&#xff1a; 大文件分片上传&#xff1a;支持 2MB 分片切割上传实时进度显示&#xff1a;可视化展示每个文件上传进度智能格式校验&#xff1a;支持文件类型、大小…...

    Matlab 电机激励模型和仿真

    1、内容简介 Matlab 191-电机激励模型和仿真 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 clc close all clear Tn 165;%电机转矩 R 0.05;%定子半径 n0 1800;% 电机转速 i 2;%额定电流 Lmin 4.95;%最小电感 k 82.5; Nr 6;%转子级数 T 60/Nr/n0;%周期 b 0…...

    GPU算力优化

    GPU&#xff08;图形处理单元&#xff09;算力优化是提升计算性能的重要任务&#xff0c;在深度学习、科学计算等领域有重要意义。下面从硬件层面、软件层面和算法层面为你介绍一些优化方法&#xff1a; 硬件层面 选择合适的 GPU&#xff1a;不同的 GPU 在算力、显存、功耗等…...

    微服务拆分的原则、时机、方法以及常见问题

    前言# 在平常情况下&#xff0c;技术架构会随着业务规模大小、团队人数多少、技术债积累速度等动态变化。当然&#xff0c;引起架构变化最主要的因素还是业务发展速度。 在以前的单体架构到微服务架构演进历程 文章2 等文章中&#xff0c;有一张架构演进的图&#xff0c;如下…...

    第十八天 - ELK日志体系集成 - 自定义Logstash插件 - 练习:分布式日志分析平台

    前言 在分布式系统和微服务架构中&#xff0c;日志管理是监控系统健康、排查故障的核心环节。ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;作为业界领先的日志分析解决方案&#xff0c;能够实现日志采集、处理、存储与可视化的全链路管理。本文将手把手带你掌…...

    HBuilderX中uni-app打包Android(apk)全流程超详细打包

    一、Android生成打包证书 1、Android平台签名证书(.keystore)生成指南_android 签名生成-CSDN博客&#xff08;如果不上架应用商店可以跳过&#xff0c;可以使用云端证书&#xff09; 二、打开manifest.json配置基础设置 三、配置安卓应用图标 四、配置安卓启动页图片 五、…...

    CTF web入门之命令执行

    web29 文件名过滤 由于flag被过滤,需要进行文件名绕过,有以下几种方法: 1.通配符绕过 fla?.* 2.反斜杠绕过 fl\ag.php 3.双引号绕过 fl’‘ag’.php 还有特殊变量$1、内联执行等 此外 读取文件利用cat函数,输出利用system、passthru 、echo echo `nl flag.php`; ec…...

    安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量

    行业特点&#xff1a;产品客制化、依赖人工&#xff0c;工程量大、细节多&#xff0c;验收困难 户外通讯机房无疑是现代工业社会的“信息心脏”&#xff0c;承载着信息交换、传输与处理的重任。建设一座质量过关的户外通讯机房是保障通信稳定运行的基石。 通常建设一个户外通信…...

    学习MySQL的第八天

    海到无边天作岸 山登绝顶我为峰 一、数据库的创建、修改与删除 1.1 引言 在经过前面七天对于MySQL基本知识的学习之后&#xff0c;现在我们从基本的语句命令开始进入综合性的语句的编写来实现特定的需求&#xff0c;从这里开始需要我们有一个宏观的思想&…...

    ESP8266 采集 DHT11 和 DS18B20 温湿度数据 MQTT 上传至 Home Assistant

    ESP8266 采集 DHT11 和 DS18B20 温湿度数据 MQTT 上传至 Home Assistant DHT11 采集 DHT11 温湿度数据并通过 MQTT 联网上传至 Home Assistant 智能家居平台&#xff1b; Arduino 代码 #include <ESP8266WiFi.h> #include <PubSubClient.h> #include <Ardui…...

    三、TorchRec中的Optimizer

    TorchRec中的Optimizer 文章目录 TorchRec中的Optimizer前言一、嵌入后向传递与稀疏优化器融合如下图所示&#xff1a;二、上述图片的关键步骤讲解&#xff1a;三、优势四、与传统优化器对比总结 前言 TorchRec 模块提供了一个无缝 API&#xff0c;用于在训练中融合后向传递和…...

    操作系统 4.1-I/O与显示器

    外设工作起来 操作系统让外设工作的基本原理和过程&#xff0c;具体来说&#xff0c;它概括了以下几个关键步骤&#xff1a; 发出指令&#xff1a;操作系统通过向控制器中的寄存器发送指令来启动外设的工作。这些指令通常是通过I/O指令&#xff08;如out指令&#xff09;来实现…...