返回博客

代理问题的Webhook通知:10分钟内设置自动监控

逐步指南:如何设置Webhook通知以监控代理,获取即时问题警报并自动化IP地址的可用性检查。

📅2026年2月16日
```html

想象一下:您在 20 个 Facebook Ads 账户上启动了广告活动,早上发现一半的代理在昨晚就停止工作了。结果是——预算被浪费,账户被封锁,时间被浪费。Webhook 通知解决了这个问题,能够立即将任何代理问题的通知发送到 Telegram、Slack 或 Discord。

在本指南中,我将展示如何为套利者、SMM 专家和电子商务卖家设置带有 webhook 通知的代理自动监控。您将学习如何获得有关 IP 崩溃、封锁和访问问题的即时通知——无需手动不断检查可用性。

什么是 webhook,为什么它对代理监控很重要

Webhook 是一种自动 HTTP 通知,当发生特定事件时会发送到指定的 URL。在代理监控的上下文中,这意味着系统会在检测到 IP 地址问题时自动向您发送 Telegram、Slack 或其他消息应用的消息。

对于企业来说,这至关重要。如果您是套利者,并且通过 30 个账户使用 Facebook Ads,每个账户都使用单独的代理,那么手动检查每个 IP 的可用性每天至少需要一个小时。Webhook 通知自动化了这个过程——您将在问题发生后 1-2 分钟内得知。

真实案例: SMM 代理机构通过 Dolphin Anty 管理 50 个客户的 Instagram 账户。在设置 webhook 监控后,他们将账户的停机时间从 4-6 小时缩短到 15 分钟——系统立即通知代理崩溃,经理立即将账户切换到备用 IP。

Webhook 通知用于代理监控的主要优势:

  • 即时反应: 在发现问题后 30-60 秒内收到通知
  • 节省时间: 无需手动检查每个代理的可用性
  • 防止损失: 快速发现问题 = 最小化广告活动的停机时间
  • 可扩展性: 可以同时监控 100+ 个代理
  • 灵活的设置: 选择要监控的事件以及发送通知的方式

可以通过 webhook 监控哪些代理问题

有效的监控系统应监控所有可能影响您账户或解析器工作的关键事件。以下是可以通过 webhook 通知监控的主要问题类型:

问题类型 监控内容 严重性
IP 不可用 代理未响应请求,连接超时
平台封锁 IP 被 Facebook、Instagram、TikTok 或市场封锁
速度慢 连接速度低于阈值
地理位置变化 IP 地址更改了国家或地区
身份验证错误 用户名/密码错误,已过期
超出限制 流量耗尽或订阅即将到期

对于使用 Facebook Ads 或 TikTok Ads 的套利者,平台封锁 IP 和地理位置变化的通知是最关键的。如果您将账户设置为美国,而代理突然开始显示来自其他国家的 IP——这将导致账户被封禁。

管理数十个 Instagram 或 TikTok 账户的 SMM 专家,首先应监控 IP 不可用和身份验证错误。如果代理停止工作,而自动发布仍在尝试连接——Instagram 可能会怀疑自动化并封锁账户。

对于从事竞争对手价格解析的市场卖家(Wildberries、Ozon、Avito),监控封锁和低速是最重要的。如果您使用 数据中心代理 进行解析,单个 IP 的封锁可能会停止数百种商品的数据收集。

在 Telegram 中设置通知:逐步指南

Telegram 是套利者和 SMM 专家获取 webhook 通知的最受欢迎的选择。设置只需 5-10 分钟,不需要技术技能。以下是逐步指南:

步骤 1:创建 Telegram 机器人

  1. 打开 Telegram 并找到机器人 @BotFather
  2. 发送命令 /newbot
  3. 为机器人命名(例如,“Proxy Monitor”)
  4. 为机器人创建用户名(必须以“bot”结尾,例如,“my_proxy_monitor_bot”)
  5. BotFather 会发送给您一个令牌——这是一个类似于 123456789:ABCdefGHIjklMNOpqrsTUVwxyz 的长字符串
  6. 保存此令牌——它将在设置 webhook 时需要

步骤 2:获取 Chat ID

Chat ID 是将接收通知的聊天的唯一标识符。要获取它:

  1. 通过用户名在 Telegram 中找到您的机器人并点击“开始”
  2. 向机器人发送任何消息(例如,“test”)
  3. 在浏览器中打开:https://api.telegram.org/bot[ВАШ_ТОКЕН]/getUpdates
  4. 在响应中找到字段 "chat":{"id":——这是您的 Chat ID(例如,123456789)

步骤 3:在监控服务中设置 webhook

大多数代理监控服务(UptimeRobot、Pingdom、StatusCake)都支持 webhook 通知。您需要指定用于发送通知的 URL,格式如下:

https://api.telegram.org/bot[ВАШ_ТОКЕН]/sendMessage?chat_id=[ВАШ_CHAT_ID]&text=通知内容

例如,如果您的令牌是 123456789:ABCdef,而 Chat ID 是 987654321,则 webhook URL 将是:

https://api.telegram.org/bot123456789:ABCdef/sendMessage?chat_id=987654321&text=代理%20不可用

重要: 在通知文本中(参数 text)需要将空格替换为 %20 或使用 URL 编码。大多数监控服务会自动处理此操作。

步骤 4:测试通知

要检查 webhook 是否正常工作,请在浏览器中打开您的 webhook URL。如果一切设置正确,机器人会向您发送测试消息到 Telegram。如果消息未发送——请检查令牌和 Chat ID 的正确性。

与 Slack 和 Discord 的团队协作集成

如果您在团队中工作或管理 SMM 代理机构,使用 Slack 或 Discord 接收通知会更方便。这使得所有员工能够实时查看代理问题并快速响应。

为 Slack 设置 webhook

  1. 打开您的 Slack 工作区设置
  2. 转到“应用”→“传入 Webhooks”部分
  3. 点击“添加到 Slack”,选择通知频道(例如,#proxy-monitoring)
  4. 复制 Webhook URL——它将类似于 https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX
  5. 在您的监控服务设置中使用此 URL

Slack webhook 的数据格式(如果监控服务支持自定义 payload):

{
  "text": "⚠️ 代理问题",
  "attachments": [
    {
      "color": "danger",
      "fields": [
        {
          "title": "IP 地址",
          "value": "185.123.45.67",
          "short": true
        },
        {
          "title": "问题",
          "value": "连接超时",
          "short": true
        }
      ]
    }
  ]
}

为 Discord 设置 webhook

  1. 打开需要发送通知的 Discord 频道设置
  2. 转到“集成”→“Webhooks”
  3. 点击“新建 Webhook”,并设置名称(例如,“Proxy Monitor”)
  4. 复制 Webhook URL
  5. 在 URL 末尾添加 /slack 以兼容 Slack 格式

Discord 支持通过嵌入格式化消息,这使得可以创建具有颜色编码的漂亮通知,按问题类型进行区分。

带有 webhook 的现成代理监控服务

如果您不想编写自己的监控脚本,可以使用现成的服务。以下是经过验证的解决方案,套利者和 SMM 专家都在使用:

服务 功能 价格
UptimeRobot 每 5 分钟检查可用性,Webhook 到 Telegram/Slack/Discord 免费,最多 50 个监控
Pingdom 来自不同位置的检查,详细统计,Webhook 从 $10/月
StatusCake 速度监控、SSL 证书、Webhook 通知 免费,最多 10 个监控
Freshping 简单界面,每 1-10 分钟检查,Webhook 免费,最多 50 个监控

在 UptimeRobot 中设置监控(示例)

UptimeRobot 是套利者的热门选择,因为它提供免费套餐和简单的设置。以下是设置代理监控的方法:

  1. 注册一个账号在 uptimerobot.com
  2. 点击“添加新监控”
  3. 选择“HTTP(s)”或“端口”类型(用于检查 SOCKS5 代理)
  4. 在 URL 字段中指定将通过代理检查的测试地址(例如,https://api.ipify.org)
  5. 设置检查间隔(建议免费套餐设置为 5 分钟)
  6. 在“警报联系人”部分添加 webhook:选择“Webhook”类型并粘贴您的 Telegram/Slack webhook URL
  7. 保存设置

现在每 5 分钟 UptimeRobot 将检查代理的可用性,并在发现问题时向 Telegram 发送通知。要监控多个代理,请为每个 IP 创建单独的监控。

建议: 如果您使用 住宅代理 进行 IP 轮换,请设置监控目标网站(例如,Facebook 或 Instagram),而不是代理本身。检查通过代理是否能够成功加载平台的主页。

创建自定义监控脚本

对于高级用户和处理大量代理(100+)的用户,创建自定义监控脚本更有效。这使您可以完全控制检查参数和通知格式。

Python 脚本示例

一个简单的脚本,用于检查代理列表并在发现问题时向 Telegram 发送通知:

import requests
import time

# Telegram 设置
TELEGRAM_TOKEN = "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
CHAT_ID = "987654321"

# 监控的代理列表
PROXIES = [
    {"ip": "185.123.45.67", "port": 8080, "user": "user1", "pass": "pass1"},
    {"ip": "185.123.45.68", "port": 8080, "user": "user2", "pass": "pass2"},
]

def check_proxy(proxy):
    """检查代理的可用性"""
    proxy_url = f"http://{proxy['user']}:{proxy['pass']}@{proxy['ip']}:{proxy['port']}"
    proxies = {"http": proxy_url, "https": proxy_url}
    
    try:
        response = requests.get("https://api.ipify.org?format=json", 
                              proxies=proxies, 
                              timeout=10)
        if response.status_code == 200:
            return True, response.json()['ip']
        return False, "HTTP 错误"
    except Exception as e:
        return False, str(e)

def send_telegram(message):
    """向 Telegram 发送通知"""
    url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
    data = {"chat_id": CHAT_ID, "text": message}
    requests.post(url, data=data)

# 监控主循环
while True:
    for proxy in PROXIES:
        is_working, result = check_proxy(proxy)
        
        if not is_working:
            message = f"⚠️ 代理不可用!\n"
            message += f"IP: {proxy['ip']}:{proxy['port']}\n"
            message += f"错误: {result}"
            send_telegram(message)
        else:
            print(f"✅ 代理 {proxy['ip']} 正在工作(外部 IP: {result})")
    
    time.sleep(300)  # 每 5 分钟检查一次

带地理位置检查的扩展版本

对于套利者来说,IP 不应更改国家是至关重要的。以下是带有地理位置检查的脚本的改进版本:

def check_proxy_geo(proxy, expected_country):
    """带地理位置控制的代理检查"""
    proxy_url = f"http://{proxy['user']}:{proxy['pass']}@{proxy['ip']}:{proxy['port']}"
    proxies = {"http": proxy_url, "https": proxy_url}
    
    try:
        # 检查 IP 和地理位置
        response = requests.get("http://ip-api.com/json/", 
                              proxies=proxies, 
                              timeout=10)
        
        if response.status_code == 200:
            data = response.json()
            current_country = data['countryCode']
            current_ip = data['query']
            
            if current_country != expected_country:
                return False, f"国家变化: {expected_country} → {current_country}"
            
            return True, f"IP: {current_ip}, 国家: {current_country}"
        
        return False, "HTTP 错误"
    except Exception as e:
        return False, str(e)

# 使用
PROXIES = [
    {"ip": "185.123.45.67", "port": 8080, "user": "user1", "pass": "pass1", "country": "US"},
    {"ip": "185.123.45.68", "port": 8080, "user": "user2", "pass": "pass2", "country": "GB"},
]

for proxy in PROXIES:
    is_working, result = check_proxy_geo(proxy, proxy['country'])
    if not is_working:
        send_telegram(f"⚠️ {proxy['ip']} 的问题: {result}")

通过 cron 自动启动

为了使脚本持续运行,请通过 cron(Linux/Mac)或任务调度程序(Windows)设置其启动。以下是每 5 分钟检查一次的 cron 任务示例:

*/5 * * * * /usr/bin/python3 /path/to/proxy_monitor.py

与反检测浏览器 Dolphin Anty 和 AdsPower 的集成

如果您使用反检测浏览器进行多账户管理,可以在发现问题时设置自动更换代理。Dolphin Anty 和 AdsPower 支持用于管理配置文件和代理的 API。

在 Dolphin Anty 中自动更换代理

Dolphin Anty 提供用于更改配置文件设置的 API。以下是设置自动更换不可用代理的方法:

  1. 在 Dolphin Anty 的设置中获取 API 密钥(设置 → API)
  2. 为每个配置文件准备备用代理列表
  3. 创建一个脚本,当收到关于问题的 webhook 通知时,自动通过 API 更换代理

以下是向 Dolphin Anty API 发送请求以更换代理的示例:

import requests

API_KEY = "your_dolphin_api_key"
PROFILE_ID = "12345"
NEW_PROXY = "http://user:pass@new-proxy-ip:port"

url = f"https://anty-api.com/browser_profiles/{PROFILE_ID}"
headers = {"Authorization": f"Bearer {API_KEY}"}
data = {
    "proxy": {
        "type": "http",
        "host": "new-proxy-ip",
        "port": "port",
        "login": "user",
        "password": "pass"
    }
}

response = requests.patch(url, headers=headers, json=data)
if response.status_code == 200:
    print(f"✅ 为配置文件 {PROFILE_ID} 更新了代理")
else:
    print(f"❌ 更新错误: {response.text}")

在 AdsPower 中设置

AdsPower 也支持 API 进行自动化。主要步骤:

  1. 在 AdsPower 的设置中启用本地 API(设置 → 本地 API → 启用)
  2. 使用端点 /api/v1/user/update 更新配置文件的代理
  3. 设置 webhook,当发现问题时调用此 API

实际案例: 一个套利团队在 Dolphin Anty 中设置了自动更换代理。当 webhook 检测到 IP 问题时,脚本会自动将配置文件切换到备用代理。这将广告活动的停机时间从 2-3 小时缩短到 5 分钟。

通知设置的最佳实践

为了使 webhook 通知系统有效运行并避免信息噪音,请遵循以下建议:

1. 设置通知优先级

并非所有问题都需要立即反应。将通知分为三个级别:

  • 关键(🔴): IP 不可用、平台封锁、地理位置变化——需要立即反应
  • 重要(🟡): 速度慢、高延迟——可以在一小时内解决
  • 信息(🟢): 流量接近限制、订阅将在 7 天内到期

对于关键通知,使用 Telegram 并启用声音通知。信息通知可以发送到单独的 Slack 频道或电子邮件。

2. 避免误报

在发送通知之前设置延迟。如果代理未响应一次——这可能是暂时故障。仅在问题通过连续 2-3 次检查确认后发送通知。

3. 在通知中添加上下文

一条好的通知应包含解决问题所需的所有信息:

  • 代理的 IP 地址和端口
  • 问题类型(超时、封锁、地理变化)
  • 发现问题的时间
  • 使用此代理的账户或配置文件
  • 建议的操作(例如,“切换到备用代理 #2”)

4. 对不同类型的代理使用不同的渠道

如果您使用不同类型的代理(移动代理、住宅代理、数据中心代理),为每种类型创建单独的通知渠道。这将简化问题诊断和团队任务分配。

5. 设置自动操作

进阶级别——不仅设置通知,还要在发现问题时设置自动操作:

  • 在反检测浏览器中自动更换代理
  • 在解决问题之前停止解析器或自动发布
  • 从备用池切换到备用代理
  • 自动创建支持提供商的工单

6. 记录问题日志

设置将所有通知保存到数据库或 Google Sheets。这将帮助:

  • 识别经常崩溃的问题 IP
  • 评估代理提供商的服务质量
  • 构建可用性图表以进行报告
  • 优化代理之间的负载分配

结论

有关代理问题的 webhook 通知不仅仅是便利,而是进行多账户管理、流量套利和解析的必要条件。正确设置的监控系统可以将停机时间从几个小时减少到 5-15 分钟,这在处理广告预算或管理客户账户时至关重要。

设置 webhook 通知后,您将获得的主要优势:即时发现问题(30-60 秒,而不是几小时的手动检查)、自动化日常检查(每天节省 1-2 小时)、防止广告活动停机造成的损失、能够在不增加团队负担的情况下扩展到 100+ 个代理。

从简单的 Telegram 机器人设置和免费的监控服务(如 UptimeRobot)开始——这将花费 10-15 分钟。随着代理数量的增加和任务的复杂性,转向使用自定义监控脚本,通过反检测浏览器的 API 自动更换问题 IP。

如果您计划认真从事多账户管理或流量套利,建议使用可靠的 住宅代理,以确保高可用性。这将最小化问题数量,使您能够专注于业务发展,而不是不断处理不可用的 IP 地址。

```