服务商概述

Sensu 成立于 2011 年,总部位于美国俄勒冈州波特兰,是一款开源的事件驱动监控框架。Sensu 最初以 Ruby 编写,2018 年发布的 Sensu Go 使用 Go 语言完全重写,在性能、部署简易性和资源占用上大幅提升——单节点可处理 10,000+ 事件/秒,二进制文件仅 40MB,无需依赖 Ruby 运行时环境。

Sensu 的核心架构基于 Pipeline 管道机制:监控事件从 Agent 采集后,依次经过过滤器(Filters)→处理器(Handlers)→告警路由,每个阶段可通过插件灵活扩展。这种设计让 Sensu 适合作为"监控事件路由器",将来自不同源的事件统一处理后路由到告警、工单系统、时间序列数据库或自动化工具。社区提供 300+ 插件覆盖基础设施、应用、云服务和网络设备的监控需求。

核心优势

  • 事件驱动 Pipeline 架构:Sensu 的核心是事件处理管道—过滤器决定哪些事件需要处理,处理器决定如何处理(告警/写入 InfluxDB/触发自动化),路由决定发送到哪里。各阶段可独立替换和组合,监控工作流高度可定制。
  • Sensu Go 高性能:Go 语言重写后性能卓越,单节点 10,000+ 事件/秒吞吐,内存占用低至 50MB。无需 Ruby/JVM 依赖,静态二进制部署,5 分钟即可完成单节点安装。
  • 云原生和容器友好:轻量级 Agent(约 20MB)可 Sidecar 模式部署在 Kubernetes Pod 中。支持自动发现 Kubernetes 节点和服务,与 Prometheus Operator 可互补使用。
  • 300+ 插件生态:社区维护的插件覆盖 Ping/HTTP/TCP 检查、Docker/Kubernetes 监控、Elasticsearch/MySQL/Redis 等中间件健康检测、PagerDuty/Slack/Opsgenie 告警集成。

产品生态

  • Sensu Agent:安装在监控目标上的轻量级代理,执行检查脚本并将结果以事件形式发送到 Backend。支持自动注册和去注册。
  • Sensu Backend:核心服务,接收 Agent 事件、执行 Pipeline 处理、维护状态和资产管理。内嵌 BoltDB 数据库,可选 Etcd 做高可用集群。
  • Pipeline(管道):由 Filters、Handlers 和 Mutators 组成的事件处理链。过滤器可基于事件严重性、来源、时间窗等条件过滤;处理器支持多种输出(告警、度量存储、Webhook 等);转换器用于格式化事件数据。
  • Assets(资源包):Sensu Go 引入的资源管理机制——插件以容器镜像或归档形式分发,Backend 自动下载并缓存到 Agent,无需在每台机器上手动安装。

不足之处

  • 学习曲线中等偏高:Pipeline 概念(Filter/Handler/Mutator/Asset)和配置方式需要一定时间理解。从 Prometheus/Nagios 迁移的团队通常需要 1-2 周才能熟练使用。
  • 社区规模较小:相比 Prometheus(GitHub 60,000+ Stars),Sensu 社区小约一个数量级。第三方集成、博客教程和 Stack Overflow 问答资源较少。
  • 内置可视化薄弱:Sensu 本身不提供丰富的仪表盘能力,指标可视化需搭配 Grafana,事件仪表盘功能基础。
  • 开源更新频率放缓:母公司 Catage 近年推进 Sensu Cloud 商业化,开源版本 Sensu Go 的重大更新频率有所下降,社区 Fork 和自建插件需求增加。

适用场景

  • Kubernetes / 容器环境(★★★★★):Sidecar Agent 部署,自动发现 Pod 和服务,事件驱动告警。
  • 云原生监控管道(★★★★):将来自 Prometheus、CloudWatch、日志系统的告警统一路由到 PagerDuty/Slack。
  • DevOps 自动化团队(★★★★):需要灵活的监控事件处理和自动化响应的运维团队。
  • 自建监控平台(★★★★):以 Sensu 作为事件路由核心,搭配 Prometheus(指标)+ Grafana(仪表盘)构建自有监控栈。

价格参考

版本 定价 核心功能
Sensu Go(开源) 免费 全部核心功能,社区支持
Sensu Cloud - 入门版 按节点计费 托管 Backend,自动升级,SLA
Sensu Cloud - 企业版 定制报价 SSO,审计日志,专属支持

常见问题

  • Sensu 和 Prometheus 的区别是什么? Sensu 是事件驱动监控框架,侧重监控事件的处理和路由;Prometheus 是基于拉模型的时间序列监控系统,侧重指标采集和查询。两者可互补——Prometheus 采集指标,Sensu 处理告警事件路由。详见 Prometheus 监控搭建指南。
  • Sensu Go 需要数据库吗? Sensu Go 内嵌 BoltDB 作为单节点存储,集群模式使用 Etcd,无需额外部署数据库。参见 云监控服务对比。
  • Sensu 支持告警吗? 支持。通过 Pipeline 的 Handler 机制,事件可路由到 PagerDuty、Slack、Opsgenie、邮件和自定义 Webhook。参见 告警疲劳与值班实践。
  • Sensu 社区版和 Cloud 版功能差距大吗? 社区版(Sensu Go)功能完整,可独立运行。Cloud 版提供托管的 Backend 和自动升级,适合不想自运维 Sensu 基础设施的团队。参见 云监控服务对比。