falcon-plus 主机维护重置 API 实战:通过 DELETE /api/v1/host/maintain 批量清除主机维护窗口
运维观测指标监控告警【免费下载链接】falcon-plusAn open-source and enterprise-level monitoring system.项目地址https://gitcode.com/gh_mirrors/fa/falcon-plus点击查看免费下载本文讲解 Open-Falconfalcon-plus监控平台中「重置主机维护」接口的完整使用方式。该接口用于在主机上线、故障恢复或维护计划提前结束时批量清除主机维护窗口使其重新纳入监控与告警体系。读完本文你将掌握该 DELETE 接口的认证方式、请求体格式、响应语义、异常处理并能从源码层面理解维护窗口是如何影响 hbs 下发的监控策略的。接口概览接口路径/api/v1/host/maintainHTTP 方法DELETE功能按主机 ID 列表或主机名列表将指定主机的维护起始时间与结束时间全部清零即「取消维护状态」认证要求需要有效的 Session登录会话详见 Session 认证文档路由位置该路由注册于 modules/api/app/controller/host/host_routes.go对应hostr.DELETE(/host/maintain, UnsetMaintain)与它配套的是「设置维护」接口POST /api/v1/host/maintain对应SetMaintain其文档见 docs/_posts/Host/2017-01-01-host_maintain.md。本接口负责将维护状态重置回默认值。认证说明Session 必选所有/api/v1前缀下的接口都会经过utils.AuthSessionMidd中间件做会话校验见 modules/api/app/controller/host/host_routes.go 的hostr.Use(utils.AuthSessionMidd)。中间件的实现位于 modules/api/app/utils/auth_middle.go默认情况下如果请求未携带有效的 Session Token接口直接返回401 Unauthorized并中断请求只有在配置文件中开启skip_auth时才跳过校验。因此调用本接口前必须先完成登录获取Apitoken请求头。请求体Request请求体为 JSON支持两种互斥的定位方式二选一方式一按主机 ID 列表{ids: [1,2,3,4]}方式二按主机名列表{hosts: [host.a,host.b]}注意两种方式不能同时生效。从源码逻辑看当hosts非空时优先走主机名匹配否则当ids非空时走 ID 匹配若两者都为空则直接报错详见下文「异常处理」。响应Response操作成功后返回 HTTP200消息体格式如下Status: 200{ message: Through: hosts, Affect row: 2 }响应字段含义字段含义message操作结果描述固定为Through: 方式, Affect row: 行数Through本次匹配采用的方式取值为hosts或idsAffect row实际被更新重置维护状态的主机记录条数即数据库中受影响的行数响应封装逻辑见 modules/api/app/helper/simple_reponse.go成功时以message字段返回字符串信息并返回200失败时以error字段返回错误原因并带上对应的 HTTP 状态码。异常处理请求体非法JSON 无法被解析时接口返回400 Bad Request源码中的badstatus http.StatusBadRequest定义于 host_routes.go。缺少定位条件hosts与ids均为空时返回400错误信息为hosts or ids is required。数据库更新失败底层 UPDATE 执行出错时返回400并携带数据库错误信息。源码实现重置维护到底做了什么本接口的后端处理函数是UnsetMaintain位于 modules/api/app/controller/host/maintain_controller.go。其核心逻辑分三步解析请求通过c.Bind(inputs)将请求体绑定到APIUnsetMaintainInput结构体Hosts []string与Ids []int64。构建 UPDATE 语句按主机名匹配db.Falcon.Table(host).Where(hostname IN (?), inputs.Hosts).Updates(map[string]interface{}{maintain_begin: 0, maintain_end: 0})按 ID 匹配db.Falcon.Table(host).Where(id IN (?), inputs.Ids).Updates(...)同样将maintain_begin、maintain_end置为0。返回结果以fmt.Sprintf(Through: %s, Affect row: %d, method, dt.RowsAffected)组装成功消息其中RowsAffected即受影响行数。也就是说「重置维护」在数据库层面的动作就是把host表中对应记录的maintain_begin与maintain_end两个字段清零。这两个字段的默认值本身就是0定义于建表脚本 scripts/mysql/db_schema/2_portal-db-schema.sqlmaintain_begin INT UNSIGNED NOT NULL DEFAULT 0, maintain_end INT UNSIGNED NOT NULL DEFAULT 0,对应的 ORM 模型Host含MaintainBegin、MaintainEnd字段见 modules/api/app/model/falcon_portal/host.go。维护窗口与监控下发的联动原理理解本接口的价值需要知道维护窗口如何影响监控链路。hbs 模块在启动后周期性从数据库拉取「当前处于监控状态的主机」相关 SQL 见 modules/hbs/db/host.goselect id, hostname from host where maintain_begin now or maintain_end now从源码结构可以推断当一台主机的maintain_begin大于当前时间或maintain_end小于当前时间即处于维护窗口内时它不会出现在「受监控主机」缓存中。在 hbs 的 RPC 服务GetStrategies见 modules/hbs/rpc/hbs.go中策略下发会从cache.MonitoredHosts里过滤掉处于维护状态的主机因而维护期间这些主机不再获得监控策略judge 也就不会对其产生告警。由此可以得出结论调用本 DELETE 接口将维护时间清零后主机立即在 hbs 下一个缓存刷新周期内重新进入受监控集合策略恢复下发、告警恢复生效。这也是「维护结束、恢复正常监控」的标准操作。配套接口设置维护窗口重置操作常与设置操作配合使用。设置维护窗口使用POST /api/v1/host/maintain请求体示例取自 host_maintain.md{ ids: [1,2,3,4], maintain_begin: 1497951907, maintain_end: 1497951907 }或{ hosts: [host.a,host.b], maintain_begin: 1497951907, maintain_end: 1497951907 }其中maintain_begin与maintain_end为 Unix 时间戳秒且均为必填字段源码结构体APISetMaintainInput中带binding:required校验。对应的后端实现是SetMaintain见 maintain_controller.go它与重置接口共用同一路由前缀、同样的 hosts/ids 匹配规则只是把两个时间字段更新为请求传入的值。典型使用场景维护计划提前结束原定维护窗口未到期但机器已恢复调用本接口提前清除维护状态让告警尽快恢复批量重置一次对多台主机执行上线操作通过ids数组批量清除维护标志避免逐台操作与设置接口配合实现定时维护先用POST设置维护窗口到期或故障恢复后再用DELETE重置形成完整的维护生命周期管理。相关文档设置主机维护POST /api/v1/host/maintainSession 认证说明响应状态码约定Host 数据表结构定义赞分享运维观测指标监控告警【免费下载链接】falcon-plusAn open-source and enterprise-level monitoring system.项目地址https://gitcode.com/gh_mirrors/fa/falcon-plus点击查看免费下载相关推荐Potpie Context Engine 契约详解单一发行版、上下文绑定的公共门面与显式宿主组合Potpie Context Engine 契约详解单一发行版、上下文绑定的公共门面与显式宿主组合 导读 本文以 Potpie 仓库的规格变更记录 SPEC运维观测指标监控告警falcon-plus 主机关联主机组查询 API 实战GET /api/v1/host/{host_id}/hostgroup 全解析falcon plus 主机关联主机组查询 API 实战GET /api/v1/host/{host_id}/hostgroup 全解析 本篇文章围绕 Ope运维观测指标监控告警scan4all 中的 h2cSmuggler利用 HTTP/2 明文升级h2c实现请求走私绕过边缘代理访问控制scan4all 中的 h2cSmuggler利用 HTTP/2 明文升级h2c实现请求走私绕过边缘代理访问控制 导读 h2cSmuggler 是集成在运维观测指标监控告警上一篇Catppuccin Cursors打造视觉舒适的GTK/Plasma/Hyprland鼠标指针主题完全指南下一篇LTX-2与ComfyUI集成可视化音视频生成工作流搭建创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

MoviePy批量添加固定和随机移动水印

MoviePy批量添加固定和随机移动水印

视频版权保护在当今数字内容领域变得尤为重要。通过水印添加技术,不仅可以有效标识原创,还能提高视频的安全性。MoviePy是一个强大而灵活的Python库,能够轻松实现视频编辑、特效添加等多种操作。 本文介绍如何通过MoviePy批量为视频添加水印,涵盖固定水印和随机移动水印的…

2026/9/29 2:20:12 阅读更多 →
Moivepy批量创建自定义字幕

Moivepy批量创建自定义字幕

在视频内容制作中,字幕不仅帮助观众理解视频内容,也增加了视频的专业性和可访问性。手动添加字幕往往费时费力,而借助Python的MoviePy库,可以实现自动化字幕处理,批量添加标准化、个性化的字幕,大大提升了视频后期制作的效率。 本文将详细介绍如何配置环境、操作字幕文件…

2026/9/30 4:07:15 阅读更多 →
比较两文件差异python实现

比较两文件差异python实现

比较1比较2,下面的是GUI方式,俩栏颜色对比(较适合前后有改动的同一文档)import sys from difflib import SequenceMatcher from PySide6.QtCore import Qt, QRegularExpression from PySide6.QtGui import (QFont, QColor, QSynta…

2026/9/29 2:20:12 阅读更多 →

最新新闻

Vidu视频原生生成:AI角色直播在场感实现指南

Vidu视频原生生成:AI角色直播在场感实现指南

1. 项目概述:当 AI 角色真正“坐进”直播间,不是播音员,而是“在场者”“当 AI 角色真的走进直播间,会发生什么?”——这句话最近在技术圈和内容创作圈反复被提起,不是作为科幻设定,而是作为正在…

2026/9/30 9:02:42 阅读更多 →
从零开始AI工程落地:数据、训练到部署的完整实操指南

从零开始AI工程落地:数据、训练到部署的完整实操指南

从零开始做 AI 工程,听起来像是一条又长又卷的路。我入行这几年,见过太多人把“跑通一个 Jupyter Notebook”当成“搞定了 AI”,结果一上生产环境就翻车:模型推理慢到超时、数据分布一变精度就崩、显卡 OOM 却不知道日志在哪看。这…

2026/9/30 9:02:42 阅读更多 →
哈希表原理、冲突处理与扩容:从手写实现到工程选型

哈希表原理、冲突处理与扩容:从手写实现到工程选型

哈希表这个词在数据结构这门课里出现的频率,大概仅次于数组和链表。但很多人对它的认识停留在"存key-value,查询快"这一层,真要问一句为什么快、快到什么程度、什么情况下会变慢,就答不上来了。我从大二第一次写课程设计…

2026/9/30 9:02:42 阅读更多 →
飞书PC端指定浏览器打开技术方案与落地实践

飞书PC端指定浏览器打开技术方案与落地实践

1. 项目概述:为什么飞书自建应用在PC端必须“指定浏览器打开”? 飞书自建应用在PC端默认走的是飞书客户端内嵌的WebView容器,这个容器底层基于Chromium,但版本固定、更新滞后、功能阉割严重——比如不支持WebRTC音视频通话、无法…

2026/9/30 9:02:42 阅读更多 →
PhyloSuite实战指南:从序列比对到分子定年的系统发育分析流程

PhyloSuite实战指南:从序列比对到分子定年的系统发育分析流程

刚看完张东老师的《从序列到进化树和时间:PhyloSuite在系统发育与分子定年分析中的应用》视频回放,趁着热乎劲把笔记整理成文。做分子系统学的同行应该都有体会:从测序仪下来的一堆峰图到最终稿子上那棵漂亮的进化树,中间隔着的是…

2026/9/30 9:02:42 阅读更多 →
Qwen Image 2.1结构化提示词与ComfyUI工作流实战指南

Qwen Image 2.1结构化提示词与ComfyUI工作流实战指南

1. 这不是“魔法”,是提示工程与工作流协同的精密控制——Qwen Image 2.1 在 ComfyUI 中逼近 GPT-4o 图像能力的真实路径你搜“Qwen Image 2.1 ComfyUI”时,看到的大多是零散截图、模糊描述,甚至有人直接说“不如GPT-4o图生图”,然…

2026/9/30 9:01:39 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 8:16:59 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/29 8:24:48 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →