快速入门
概述
1Duty 是一站式智能告警与值班管理平台。它可以将来自 Prometheus、Grafana、Zabbix、Datadog、CloudWatch、Elasticsearch 等 20+ 监控平台的告警统一汇聚,通过五重智能降噪引擎(聚合、排除、静默、抖动检测、超时自动关闭)减少 90% 以上的告警噪音,再结合灵活排班和多渠道通知(短信、电话、邮件、钉钉、飞书、企业微信),确保每一条关键告警都被正确的人及时处理。
本文将引导您完成以下操作:
- 注册并登录 1Duty
- 创建集成并获取 Webhook URL
- 配置监控系统将告警发送到 1Duty
- 创建值班团队
- 配置排班规则
- 设置分派策略
- 发送测试告警验证流程
注册与登录
- 访问 1Duty 注册页面,输入邮箱和密码完成账号注册。
- 注册成功后,系统将引导您创建企业。输入企业名称即可完成创建。
- 创建企业后,您将自动成为该企业的管理员,拥有完整的管理权限。
免费版支持最多 5 个 License,无需绑定信用卡,注册即可使用。
步骤一:创建集成与 Webhook
集成是 1Duty 接收外部监控系统告警的入口。每个集成会生成一个唯一的 Webhook URL,监控系统通过该 URL 将告警推送到 1Duty。
- 登录后进入控制台,在左侧导航栏点击 告警接入。
- 点击 创建集成 按钮。
- 选择集成类型。1Duty 支持 20+ 种集成类型,包括:
- Prometheus -- AlertManager Webhook
- Grafana -- Grafana Alerting Webhook
- Zabbix -- Zabbix Webhook Media Type
- Datadog -- Datadog Webhook Integration
- CloudWatch -- SNS 订阅
- Elasticsearch -- Watcher Webhook
- 以及 Nightingale、Open Falcon、PagerDuty、自定义 Webhook 等
- 填写集成名称(例如 "生产环境 Prometheus"),点击 确认。
- 系统将生成一个 Webhook URL,格式类似:
https://api.1duty.com/webhook/{integration_id}/{webhook_key} - 复制该 URL,后续步骤中将配置到您的监控系统。
步骤二:配置监控系统
以 Prometheus AlertManager 为例,演示如何将告警发送到 1Duty。
配置 AlertManager
编辑 AlertManager 的配置文件 alertmanager.yml,添加 1Duty 作为 Webhook 接收器:
global:
resolve_timeout: 5m
route:
receiver: '1duty'
group_by: ['alertname', 'instance']
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
receivers:
- name: '1duty'
webhook_configs:
- url: 'https://api.1duty.com/webhook/{integration_id}/{webhook_key}'
send_resolved: true
配置说明:
url-- 替换为上一步获取的 Webhook URL。send_resolved-- 设置为true,确保告警恢复时 1Duty 能自动关闭对应事件。group_by-- 建议按alertname和instance分组,与 1Duty 的聚合降噪配合使用效果更佳。
保存配置后,重新加载 AlertManager:
# 发送 SIGHUP 信号重新加载配置
kill -HUP $(pidof alertmanager)
# 或通过 HTTP API 重新加载
curl -X POST http://localhost:9093/-/reload
其他监控系统的接入方式请参考 告警接入 文档,其中包含每种集成类型的详细配置指南。
步骤三:创建值班团队
值班团队是 1Duty 中告警分派的基本单位。告警通过分派策略路由到团队,再由团队的排班规则决定通知哪位值班人。
- 在左侧导航栏点击 团队管理,然后点击 创建团队。
- 输入团队名称(例如 "SRE 值班组")。
- 添加团队成员。您可以:
- 从企业已有成员中选择添加
- 通过邮箱邀请新成员加入企业
- 点击 确认 完成团队创建。
建议每个团队至少添加 2 名成员,以便配置轮换排班,避免单点值班。
步骤四:配置排班规则
排班规则决定了团队中的成员如何轮换值班。
- 进入已创建的团队详情页,切换到 排班管理 标签。
- 点击 创建排班。
- 配置排班参数:
- 轮换周期 -- 支持按小时、天、周、月四种周期轮换。例如选择"按天",每位成员值班一天后自动轮换到下一位。
- 生效时间 -- 设置排班的起止日期。
- 时间限制(可选)-- 可限定每日或每周的值班时段,例如仅在工作日 09:00-18:00 生效。
- 值班人员顺序 -- 拖拽调整成员的轮换顺序。
- 点击 确认 保存排班规则。
配置完成后,系统会根据排班规则自动计算每个时间段的值班人。您可以在排班日历视图中查看排班结果。
步骤五:设置分派策略
分派策略定义了告警如何路由到值班团队。您可以根据告警的来源、级别、标签等条件,将告警分派到不同的团队。
- 在左侧导航栏点击 分派策略,然后点击 创建策略。
- 配置分派规则:
- 匹配条件 -- 设置告警需要满足的条件,例如集成来源、告警级别(严重/警告/信息)、标签匹配等。
- 目标团队 -- 选择告警要分派到的值班团队。
- 通知方式 -- 选择通知渠道,如短信、电话、邮件、钉钉、飞书、企业微信等。
- 升级策略(可选)-- 配置超时未认领时的升级规则,例如 5 分钟未认领自动升级通知团队负责人。
- 点击 确认 保存分派策略。
分派策略按优先级从高到低匹配。告警将被分派到第一个匹配的策略对应的团队。建议将范围更小、条件更精确的策略放在前面。
验证
完成以上配置后,您可以发送一条测试告警来验证整个流程是否正常工作。
方式一:通过监控系统触发
在 Prometheus 中创建一条测试告警规则:
groups:
- name: test
rules:
- alert: TestAlert
expr: vector(1)
for: 1m
labels:
severity: warning
annotations:
summary: "1Duty 测试告警"
description: "这是一条用于验证 1Duty 接入的测试告警"
等待约 1 分钟后,AlertManager 会将该告警通过 Webhook 发送到 1Duty。
方式二:通过 curl 直接调用
使用 curl 命令直接向 Webhook URL 发送一条模拟告警:
curl -X POST 'https://api.1duty.com/webhook/{integration_id}/{webhook_key}' \
-H 'Content-Type: application/json' \
-d '{
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "TestAlert",
"severity": "warning",
"instance": "test-server-01"
},
"annotations": {
"summary": "1Duty 测试告警",
"description": "验证告警接入流程"
}
}
]
}'
验证结果
发送测试告警后,请检查以下内容:
- 在 1Duty 控制台的 事件管理 页面中,应能看到新创建的事件,状态为"待处理"。
- 当前排班的值班人应收到告警通知(通过您配置的通知渠道)。
- 值班人可以在控制台中认领事件,状态变为"处理中"。
- 处理完毕后关闭事件,状态变为"已关闭"。
如果一切正常,恭喜您已成功完成 1Duty 的基础配置!
下一步
完成快速入门后,您可以继续探索 1Duty 的更多功能: