快速开始

5 分钟完成接入,从此告别告警烦恼。


第一步:注册账号

访问管理后台 http://ops.sengyueplay.com:3000,使用邮箱注册账号。

系统会自动为你创建一个默认团队"运维团队",你也可以创建新的团队。


第二步:选择接入方式

根据你的监控环境,选择以下一种或多种方式接入:

方式 A:Prometheus Alertmanager(推荐)

适用于已部署 Prometheus 的团队。

在 Alertmanager 配置文件中添加 webhook:

# alertmanager.yml
receivers:
  - name: 'lingwang'
    webhook_configs:
      - url: 'http://ops.sengyueplay.com:8080/api/v1/alerts/alertmanager/{team_id}'
        send_resolved: true

{team_id} 替换为你的团队 ID(可在团队页面查看)。

验证接入:

curl -X POST http://ops.sengyueplay.com:8080/api/v1/alerts/alertmanager/{team_id} \
  -H "Content-Type: application/json" \
  -d '{
    "status": "firing",
    "alerts": [{
      "status": "firing",
      "labels": {"alertname": "HighCPU", "severity": "critical"},
      "annotations": {"summary": "CPU使用率超过90%"},
      "startsAt": "2026-04-12T10:00:00Z"
    }]
  }'

方式 B:Zabbix

适用于使用 Zabbix 进行监控的团队。

在 Zabbix 中创建媒体类型(Administration → Media types → Create media type):

  • 名称:灵王 OPS
  • 类型:Webhook
  • 脚本
var LingwangWebhook = {
    params: JSON.parse(value),
    req = new CurlHttpRequest(),
    data = JSON.stringify({
        event_id: params.event_id,
        severity: params.severity,
        host: params.host.host,
        key: params.key,
        value: params.value,
        time: params.clock
    });
    req.setHeader(["Content-Type: application/json"]);
    resp = req.post("http://ops.sengyueplay.com:8080/api/v1/alerts/zabbix/{team_id}", data);
    return JSON.parse(resp).result == "ok" ? "OK" : "ERROR";
}

{team_id} 替换为你的团队 ID。

配置用户媒体: Administration → Users → 选择用户 → Media → Add,选择"灵王 OPS"媒体类型。


方式 C:轻量级 Agent(零运维推荐)

适用于没有监控系统的服务器。Agent 二进制文件,约 5MB,无需额外依赖。

下载 Agent:

# Linux x86_64
curl -L https://ops.sengyueplay.com/agent/lingwang-agent-linux-amd64 -o /usr/local/bin/lingwang-agent
chmod +x /usr/local/bin/lingwang-agent

# macOS
curl -L https://ops.sengyueplay.com/agent/lingwang-agent-darwin-arm64 -o /usr/local/bin/lingwang-agent
chmod +x /usr/local/bin/lingwang-agent

创建采集配置(在平台"接入目标"页面添加),获取 target_idteam_id

启动 Agent:

lingwang-agent \
  --server http://ops.sengyueplay.com:8080 \
  --target-id {target_id} \
  --team-id {team_id}

或使用 Docker 运行:

docker run -d \
  --restart unless-stopped \
  --name lingwang-agent \
  -e LINGWANG_SERVER=http://ops.sengyueplay.com:8080 \
  -e LINGWANG_TARGET_ID={target_id} \
  -e LINGWANG_TEAM_ID={team_id} \
  lingwang/agent:latest

Agent 会自动采集: - HTTP 服务健康探测(GET 请求,检测响应码) - TCP 端口监听检测 - 系统指标:CPU、内存、磁盘使用率 - 进程存活检测


第三步:配置通知渠道

告警产生后,需要通知到值班人员。

添加邮件通知

  1. 进入 通知渠道添加渠道
  2. 类型选择 Email
  3. 填写 SMTP 配置(建议使用企业邮箱或 SendGrid)
参数 说明
SMTP 主机 如 smtp.gmail.com:587
用户名 你的邮箱地址
密码 邮箱密码或应用专用密码
发件人 显示在告警邮件中的发件人名称

添加钉钉/飞书/企业微信

进入 通知渠道添加渠道,选择对应类型,填写机器人 Webhook URL。

  • 钉钉:群设置 → 智能群助手 → 添加机器人 → 选择"自定义机器人"
  • 飞书:群设置 → 群机器人 → 添加机器人 → 自定义机器人
  • 企业微信:群应用 → 添加机器人 → 获取 Webhook 地址

第四步:设置 On-Call 排班

告警产生后谁来处理?通过排班管理指定值班人员。

  1. 进入 排班管理创建排班
  2. 添加值班成员和时间段
  3. 设置告警升级策略(超时未响应自动升级)

验证完整链路

全部配置完成后,模拟一次告警:

# 手动触发一条测试告警
curl -X POST "http://ops.sengyueplay.com:8080/api/v1/alerts/alertmanager/{team_id}" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "firing",
    "alerts": [{
      "status": "firing",
      "labels": {"alertname": "TestAlert", "severity": "critical"},
      "annotations": {"summary": "这是一条测试告警"},
      "startsAt": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
    }]
  }'

应该收到: 1. 平台 告警列表 中出现新告警(状态: firing) 2. 通知渠道 中配置的通知方式被触发(邮件/钉钉等)


下一步