【乐享】如何监控服务的运行状态

前言

由于搭建了太多服务了,而且以后搭建的服务会越来越多,因此检测好每服务的状态是十分有必要的。

服务器篇

Github上有很多开源的服务器检测项目,我用的是ServerStatus-Hotaru,项目地址是这个:https://github.com/cokemine/ServerStatus-Hotaru

海外服务器安装

海外服务器直接按照Github上面的文档安装就好了,没什么特殊的。

内地服务器安装

内地服务器确实不太好安装,脚本现在没办法从coding.net直接下载了,Github在国内的访问又比较抽象,手动安装的话各种抽象Python依赖又很难搞,所以用脚本安装时很不方便的。不过我们可以使用Go客户端,项目地址:https://github.com/cokemine/ServerStatus-goclient。将Go的可执行文件本地上传到服务器,然后直接运行就好了。Gopher真棒👍🏻。一样按照Github文档里面来就好了。

个性化界面

芝士默认的界面,感觉不是很好看,因为2233占地面积不够。

这时,我们可以进到服务端/usr/local/ServerStatus/web目录下(这是默认目录),服务端的前端就在这里,然后就可以为所欲为了。比如我改成了这样子:

服务篇

除了检测服务器的状态,检测服务的状态其实更加重要。当然有现成的第三方检测服务可以直接用,比如uptimerobot.com。但是第三方服务要么就限制很多,要么就要交软妹币,雀食不好使,自建或许是更好地选择。所以,这个Github项目就排上用场了:https://github.com/louislam/uptime-kuma。搭建很简单,直接docker就好,关键是这个项目支持SSL证书检测,而且,最重要的,支持很多种通知方式,包括Bark

安装

  • 不需要反代的话就运行这行命令来安装
    1
    docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
  • 需要反代开启HTTPS的话就运行这行命令来安装并本机访问,然后去添加一个3001端口的反代就好了。反代域名建议写$http_host,这样的话传进反代的就是实际地址
    1
    docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

通知篇

毕竟不可能每时每刻都守在监控旁边,还是需要有通知的,比如证书过期,服务异常等等。Uptime Kume支持很多通知方式,包括但不限于telegram,微信,邮箱等等。由于我是果子全家桶设备,所以我当然用Bark。

设置好Apple设备

从App Store下载并安装好Bark,打开像这样

然后就会有Endpoint,也就是https://api.day.app/SHh3b8xJNtE2ELmbdQZEHi。每台设备的Endpoint都是唯一的,而且如果你像我一样自建bark服务器的话,前面的api.day.app就是你自己的服务器域名。

设置好服务端

在Uptime Kuma的控制台中,点击右上角头像——设置——通知——设置通知,然后在类型中找到Bark,在Bark Endpoint中填入你的Endpoint,把下面两个开关都打开,其他自己填,然后点击测试,第一次的话通知送达会有几十秒的延迟。这是效果图:

我也不知道为啥这玩意儿间歇性抽风,,,

总结

欧克欧克,今天就写到这里,祝各位的服务一直稳定运行


【乐享】如何监控服务的运行状态
https://www.qwqwq.com.cn/share/service-monitor/
Author
Stephen Zeng
Posted on
December 7, 2024
Licensed under