首页
/ Kuvasz 监控服务 API 接口详解

Kuvasz 监控服务 API 接口详解

2025-07-09 14:20:26作者:温玫谨Lighthearted

项目概述

Kuvasz(发音为"koovas")是一款开源的在线状态和SSL证书监控服务,提供全面的API接口用于管理监控任务、获取监控数据以及配置系统设置。本文将详细介绍Kuvasz的API功能和使用方法。

API 基础信息

Kuvasz API遵循OpenAPI 3.0.1规范,所有接口都需要API密钥进行认证。API主要分为三大类操作:

  1. 管理操作(Management operations)
  2. 监控操作(Monitor operations)
  3. 设置操作(Settings operations)

监控操作 API

获取监控列表

端点GET /api/v1/monitors

此接口返回所有监控任务的详细信息,支持以下查询参数进行筛选:

  • enabled:布尔值,筛选启用/禁用的监控
  • uptimeStatus:数组,按在线状态筛选
  • sslStatus:数组,按SSL状态筛选
  • sslCheckEnabled:布尔值,筛选启用/禁用SSL检查的监控

响应:返回MonitorDetailsDto数组,包含每个监控任务的完整信息。

创建监控任务

端点POST /api/v1/monitors

创建新的监控任务需要提供以下必填字段:

  • name:监控名称(最小长度1)
  • url:监控URL(需符合URL格式)
  • uptimeCheckInterval:检查间隔(秒,最小5)

可选字段包括:

  • enabled:是否启用(默认true)
  • sslCheckEnabled:是否启用SSL检查(默认false)
  • requestMethod:HTTP方法(默认GET)
  • 以及其他监控配置选项

注意:如果系统配置为从YAML文件加载监控任务,此接口将返回405错误。

导出监控配置

端点GET /api/v1/monitors/export/yaml

以YAML格式导出所有监控任务的配置,便于备份或迁移。

获取监控统计

端点GET /api/v1/monitors/stats

获取所有监控任务的累计统计数据,支持period参数指定统计周期(默认为7天)。

单个监控操作

端点/api/v1/monitors/{monitorId}

支持以下操作:

  • GET:获取指定监控的详细信息
  • DELETE:删除指定监控
  • PATCH:更新监控配置(仅更新请求中包含的字段)

监控事件查询

Kuvasz提供以下事件查询接口:

  • GET /api/v1/monitors/{monitorId}/ssl-events:获取SSL相关事件
  • GET /api/v1/monitors/{monitorId}/uptime-events:获取在线状态事件
  • GET /api/v1/monitors/{monitorId}/stats:获取单个监控的统计数据

系统管理 API

健康检查

端点GET /api/v1/health

返回服务健康状态:

  • 200:服务正常运行
  • 503:服务不可用

系统设置

端点GET /api/v1/settings

获取当前系统设置信息。

数据模型说明

MonitorDetailsDto

监控任务详细信息,包含:

  • 基本信息(ID、名称、URL等)
  • 状态信息(在线状态、SSL状态)
  • 时间信息(创建时间、最后检查时间等)
  • 配置信息(检查间隔、HTTP方法等)
  • 集成信息(通知集成配置)

MonitorCreateDto/MonitorUpdateDto

用于创建/更新监控任务的数据传输对象,包含可配置的所有监控参数。

状态枚举

  • UptimeStatus:在线状态(UP/DOWN/UNKNOWN)
  • SslStatus:SSL状态(VALID/INVALID/EXPIRING/EXPIRED)
  • HttpMethod:HTTP方法(GET/HEAD)

最佳实践

  1. 监控创建:创建监控时建议先设置较长的检查间隔(如60秒),确认无误后再调整为实际需要的频率。

  2. 错误处理:所有API都可能返回400/404/405等错误,客户端应妥善处理这些响应。

  3. 批量操作:获取监控列表时可以使用筛选参数减少数据传输量。

  4. 监控更新:使用PATCH方法更新监控时,只需发送需要修改的字段,未包含的字段将保持不变。

总结

Kuvasz提供了一套完整的API接口,使开发者能够轻松集成监控功能到自己的系统中。通过合理使用这些API,可以实现监控任务的自动化管理、实时状态查询以及历史数据分析等功能。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
136
187
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
881
521
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
361
381
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
181
264
kernelkernel
deepin linux kernel
C
22
5
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
613
60
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
118
78