[发布]Pulse Monitor 一款极度简约的探针搭建教程

趁圣诞节顺带发布一个ai赋能的自制探针,主打一个极度简约的风格 之前的 xhh.one 由于azure 2000美金突然到期的原因源码丢了 这次重做赶紧存了下

演示站点

首页截图

后台截图

项目的github地址是 https://github.com/xhhcn/Pulse/ 这个探针的主要功能有

  • docker镜像大小25.7MB(轻量化)
  • 私有化模式设置和分享链接(含有效时长)
  • 自定义logo和探针名称
  • 多tcping目标延迟切换
  • 首页搜索对应小鸡关键词
  • 中英文翻译切换
  • 小鸡名称可重复
  • 为小鸡添加tag
  • 主控鸡和agent通过secret密钥验证后通讯

主要基于astro和golang 感觉用astro的探针好少

搭建流程

最简单的搭建方式,直接运行如下几行即可通过docker-compose搭建完成

mkdir pulse && cd pulse
curl -sSL https://raw.githubusercontent.com/xhhcn/Pulse/main/docker-compose.yaml -o docker-compose.yaml
docker compose up -d

由于该项目已经容器化,因此对于一些免费的容器网站如claw runZeabur 同样可以通过容器直接搭建,对于默认情况下并没有开启docker的ipv4因此适用于大多数没有纯ipv6小鸡的情况

同样也可以通过服务端的二进制文件直接运行

curl -fsSL https://raw.githubusercontent.com/xhhcn/Pulse/main/install-pulse-server.sh | sudo bash

客户端的一键搭建命令已经在后台给出,直接点击下方logo处就可以复制命令

同样也可以通过脚本命令直接连接

curl -sSL https://raw.githubusercontent.com/xhhcn/Pulse/main/client/install.sh | sudo bash -s -- \
  --id  --server  --secret 

或者用windows命令

powershell -ExecutionPolicy Bypass -Command "& { $env:AgentId=''; $env:ServerBase=''; $env:Secret=''; irm https://raw.githubusercontent.com/xhhcn/Pulse/main/client/install.ps1 | iex }"

客户端开放的端口默认为9090,如需更改可以进入/etc/systemd/system/pulse-client.service修改其环境变量的端口再重新加载后启动就可以啦,客户端采用按需采集,避免持续后台运行,且运行单一HTTP服务,资源占用<20MB

纯ipv6监控需求

对于有纯ipv6监控需求的友友们需要先打开docker的ipv6,具体操作如下

  1. 开启docker的ipv6转发
# 检查 IPv6 是否启用
ip -6 addr show

# 检查 IPv6 转发是否启用
sysctl net.ipv6.conf.all.forwarding
# 如果输出为 0,需要启用:
sudo sysctl -w net.ipv6.conf.all.forwarding=1

# 永久启用(编辑 /etc/sysctl.conf)
echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
  1. 配置 Docker Daemon 启用 IPv6
    编辑或创建/etc/docker/daemon.json文件
{
  "ipv6": true,
  "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
  "experimental": true,
  "ip6tables": true
}
  1. 重启docker完成设置
sudo systemctl restart docker
  1. 最后通过如下docker compose配置完成搭建
services:
  pulse:
    image: xhh1128/pulse:latest
    container_name: pulse-monitor
    ports:
      - 8008:8008
    volumes:
      - pulse-data:/app/data
    restart: unless-stopped
    networks:
      - pulse-network

volumes:
  pulse-data:

networks:
  pulse-network:
    enable_ipv6: true
    ipam:
      driver: default

具体参数和映射端口都可以通过配置文件调整,搭建完成后可以把对应的服务端口反代到域名并开启cdn

结语

对于该小探针的开发感谢

@AR-Louxs 对于UI设计的建议
@aessy 对于细节和移动端优化的建议
@福尔摩斯 对于私有化功能和分享链接的建议

欢迎大家自由fork进行二次开发!

更新2025.12.26凌晨

晚上友友们太热情了,原先并发加载tcping数据带来的cpu过载造成了今晚探针小鸡多次失联,刚才修复了一下确保一次只能加载一个小鸡tcping数据 保证每次加载的cpu占用最多在30%左右,另外添加了服务端二进制文件搭建脚本

点赞
  1. 良子本人胃袋这一块说道:

    好看的

  2. dyxmo说道:

    我超 Astro

  3. AlterEgo说道:

    太棒了大佬

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮