V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ignor
V2EX  ›  Windows

家用 PC 上运行了一个自己写的监控类程序,人在外面如何得知程序是否正常运行?

  •  
  •   ignor · 2021-12-01 11:49:27 +08:00 · 4179 次点击
    这是一个创建于 1117 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写了个小脚本用来监控某种状态,触发了条件会给自己发邮件通知。

    但是如果程序 down 掉或者网断了自然就没办法收到通知了,所以有没有比较简单的办法在手机和 PC 之间实现一个心跳机制?

    利用第三方服务也行,主要是想弄得简单点。
    35 条回复    2021-12-18 00:29:43 +08:00
    dblpx
        1
    dblpx  
       2021-12-01 12:57:37 +08:00   ❤️ 1
    每隔一段时间给自己发保活邮件吧,邮箱里设定规则,主题包含保活字样的目标邮件不提醒且移动到目标文件夹,然后通过这个文件夹里的保活邮件判断服务是否在线
    orangie
        2
    orangie  
       2021-12-01 12:57:39 +08:00
    网断了那就完全没办法了。第三方服务可以试试 IFTTT 。
    Liuman
        3
    Liuman  
       2021-12-01 13:06:04 +08:00   ❤️ 2
    ios 可以用 Bark 或者 饭碗警告 这两个 APP 给手机推送
    az402
        4
    az402  
       2021-12-01 13:15:23 +08:00   ❤️ 1
    哲学问题 如何监控-监控程序
    ignor
        5
    ignor  
    OP
       2021-12-01 13:21:21 +08:00
    @dblpx 有想过这么做,但还是得分出心思时不时去邮箱里 check 一下……要是能根据保活邮件缺失再做个提醒就好了
    imdong
        6
    imdong  
       2021-12-01 13:27:12 +08:00 via iPhone
    心跳请求某地址记录最后心跳时间,另起一个监控,检查多久没心跳就告警。

    这个记录与告警监控越简单,就相对越可靠。
    CallMeReznov
        7
    CallMeReznov  
       2021-12-01 13:28:06 +08:00
    旧手机 ADB
    turan12
        8
    turan12  
       2021-12-01 13:30:30 +08:00
    再写一个监控程序监控这个监控程序,如果发现 down 掉立即自动重启然后给你发消息
    ignor
        9
    ignor  
    OP
       2021-12-01 13:31:32 +08:00
    @orangie 看了下,好像有些复杂……要如何实现“if 几分钟没收到消息,then 给自己发消息”这种需求呢?
    ignor
        10
    ignor  
    OP
       2021-12-01 13:37:55 +08:00   ❤️ 1
    @Liuman 饭碗警告的心跳模式应该就是我需要的,感谢
    ignor
        11
    ignor  
    OP
       2021-12-01 13:39:47 +08:00
    @az402 倒也没那么哲学啦,哈哈,毕竟对现代人来说手机宕机属于 P0 级别了
    ignor
        12
    ignor  
    OP
       2021-12-01 13:42:13 +08:00
    @imdong 就是不知道在哪另起一个监控,另搞个服务器有点太夸张了……
    jifengg
        13
    jifengg  
       2021-12-01 13:48:28 +08:00
    @turan12

    那么请问这个“监控这个监控程序”的监控程序,要是 down 掉了或者无法发送信息该怎么办呢?[狗头]
    bluedawn
        14
    bluedawn  
       2021-12-01 13:51:05 +08:00 via iPhone   ❤️ 2
    建议在阿里 /腾讯 /百度 /华为云这些地方用无服务器函数来心跳,每月免费额度还挺多…
    BaseException
        15
    BaseException  
       2021-12-01 14:10:16 +08:00
    直接 telegram bot ,无限次调用 api 发送消息(可能得让你家里程序的网络走代理
    xz410236056
        16
    xz410236056  
       2021-12-01 14:19:57 +08:00
    @Liuman #3 你这不是更复杂?不搭服务端怎么发。。。
    krapnik
        17
    krapnik  
       2021-12-01 14:20:14 +08:00
    https://github.com/mamoe/mirai QQ 机器人,登小号,定时心跳或者自动应答
    ylqf5461
        18
    ylqf5461  
       2021-12-01 15:03:59 +08:00
    cloudflare Workers 写个接口
    sidkang
        19
    sidkang  
       2021-12-01 15:09:03 +08:00   ❤️ 4
    https://healthchecks.io
    正解在此,楼主需要的应该是这个
    ignor
        20
    ignor  
    OP
       2021-12-01 15:59:07 +08:00
    @sidkang 妙,妙啊!
    seakingii
        21
    seakingii  
       2021-12-01 17:32:07 +08:00
    也可以考虑 telegram 机器人.
    junas7
        22
    junas7  
       2021-12-01 17:37:57 +08:00
    回家看看
    thevita
        23
    thevita  
       2021-12-01 17:46:53 +08:00
    https://www.researchgate.net/publication/3044444_Perfect_failure_detection_in_timed_asynchronous_systems

    it is impossible to implement a perfect failure detector in purely asynchronous systems

    ---
    cloverzrg2
        24
    cloverzrg2  
       2021-12-01 17:49:52 +08:00
    写个心跳服务,在服务器上跑
    monetto
        25
    monetto  
       2021-12-01 18:59:29 +08:00
    家里的 PC 定时向服务器的 Redis 更新心跳时间。服务器定时扫描 Redis 。没有的话...
    robin700
        26
    robin700  
       2021-12-01 20:59:04 +08:00
    1. 写一个 api ,每次请求内存缓存请求时间
    robin700
        27
    robin700  
       2021-12-01 21:00:36 +08:00
    2.该项目项目下,同时写一个后台 job ,每固定时间断内,检查缓存中的请求时间差;
    robin700
        28
    robin700  
       2021-12-01 21:03:07 +08:00
    3.时间差超过阈值给自己发邮件; 4.本地定时发送心跳请求; 5.随便找个 sever less 比如腾讯云函数之类的部署;整体实现简单而且花不了多少钱
    ayang23
        29
    ayang23  
       2021-12-01 21:03:48 +08:00   ❤️ 1
    https://thingspeak.com/ 用来接收物联网数据包的,解决你这个需求也可以
    felixcode
        30
    felixcode  
       2021-12-01 21:27:20 +08:00 via Android
    biguokang
        31
    biguokang  
       2021-12-01 23:01:19 +08:00
    @jifengg 直接无限套娃就好了
    dven
        32
    dven  
       2021-12-02 06:02:40 +08:00
    Prometheus 上没配告警吗
    Livid
        33
    Livid  
    MOD
       2021-12-02 08:23:13 +08:00   ❤️ 1
    手机和电脑上都装这个:

    https://tailscale.com/

    然后你就有一个只要两端都能上网,就可以直接连上的安全的内网。
    7gugu
        34
    7gugu  
       2021-12-02 10:04:21 +08:00 via iPhone
    要不给电脑装一个 4G 网卡吧,断网之后切换到 4G 联网,这样就不怕掉线了
    vilic
        35
    vilic  
       2021-12-18 00:29:43 +08:00
    @Liuman 感谢推荐,另外饭碗警告也支持心跳模式~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:23 · PVG 10:23 · LAX 18:23 · JFK 21:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.