Gatus 是一个面向开发人员的运行状况仪表板,使您能够使用 HTTP、ICMP、TCP 甚至 DNS 查询来监控您的服务,并通过使用状态代码等值的条件列表来评估所述查询的结果,响应时间、证书过期、正文等等。最重要的是,这些运行状况检查中的每一项都可以与通过 Slack、Teams、PagerDuty、Discord、Twilio 等发出的警报配对。
我亲自将它部署在我的 Kubernetes 集群中,并让它监控我的核心应用程序的状态:https://status.twin.sh/
正在寻找托管解决方案? 查看 Gatus.io。
一、Gatus 快速安装方法
使用 Docker 即可进行安装:
docker run -p 8080:8080 --name gatus twinproduction/gatus
或者使用 GitHub 的源:
docker run -p 8080:8080 --name gatus ghcr.io/twin/gatus
自定义配置参考:
endpoints: - name: website # Name of your endpoint, can be anything url: "https://twin.sh/health" interval: 5m # Duration to wait between every status check (default: 60s) conditions: - "[STATUS] == 200" # Status must be 200 - "[BODY].status == UP" # The json path "$.status" must be equal to UP - "[RESPONSE_TIME] < 300" # Response time must be under 300ms - name: make-sure-header-is-rendered url: "https://example.org/" interval: 60s conditions: - "[STATUS] == 200" # Status must be 200 - "[BODY] == pat(*<h1>Example Domain</h1>*)" # Body must contain the specified header
至此便可完成安装。
二、Gatus 更多介绍
在讨论具体细节之前,我想先解决一个最常见的问题:
当我只能使用 Prometheus 的 Alertmanager、Cloudwatch 甚至 Splunk 时,为什么还要使用 Gatus?
如果没有客户端主动调用端点,这些都不能告诉您存在问题。换句话说,这是因为监控指标主要依赖于现有流量,这实际上意味着除非您的客户已经遇到问题,否则您不会收到通知。
另一方面,Gatus 允许您为每个功能配置运行状况检查,这反过来又允许它监视这些功能,并可能在任何客户端受到影响之前向您发出警报。
您可能想要研究 Gatus 的一个迹象是,只需询问自己,如果您的负载均衡器现在停机,您是否会收到警报。 您现有的警报会被触发吗? 如果没有流量到达您的应用程序,您的指标不会报告错误增加。 这会让你陷入这样一种情况:你的客户会通知你服务质量下降,而不是你在他们知道之前向他们保证你正在努力解决问题。
Gatus的主要特点是:
- 高度灵活的运行状况检查条件:虽然检查响应状态对于某些用例来说可能就足够了,但 Gatus 更进一步,允许您添加有关响应时间、响应正文甚至 IP 地址的条件。
- 能够使用 Gatus 进行用户验收测试:由于上述几点,您可以利用此应用程序来创建自动化的用户验收测试。
- 非常容易配置:不仅配置设计得尽可能可读,而且添加新服务或新端点以进行监控也非常容易。
- 警报:虽然拥有漂亮的可视化仪表板对于跟踪应用程序的状态很有用,但您可能不想整天盯着它。 因此,开箱即用地支持通过 Slack、Mattermost、Messagebird、PagerDuty、Twilio、Google 聊天和
- Teams 发出的通知,并且能够根据您可能有的任何需求配置自定义警报提供程序,无论是不同的提供程序还是自定义应用程序 管理自动回滚。
- 指标
- 资源消耗低:与大多数 Go 应用程序一样,该应用程序所需的资源占用非常小,可以忽略不计。
三、搬瓦工新手教程和优惠套餐
搬瓦工官网: bwh81.net
搬瓦工最推荐套餐
- 搬瓦工优惠码:BWHCGLUKKB
- 搬瓦工购买教程:《搬瓦工新手用户注册和支付宝购买图文指导教程》
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
KVM (最便宜) | 1GB | 2核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET (购买后在后台迁移) | $49.99/年 | 购买 |
KVM | 2GB | 3核 | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 | 购买 | |
CN2 GIA-E (最推荐) | 1GB | 2核 | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 日本软银 JPOS_1 荷兰联通 EUNL_9 加拿大 CN2 GIA | $49.99/季度 $169.99/年 | 购买 |
CN2 GIA-E | 2GB | 3核 | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 | 购买 | |
HK | 2GB | 2核 | 40GB | 0.5TB | 1Gbps | 中国香港 CN2 GIA 新加坡 CN2 GIA 日本东京 CN2 GIA 日本大阪 CN2 GIA | $89.99/月 $899.99/年 | 购买 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 | 购买 | |
OSAKA | 2GB | 2核 | 40GB | 0.5TB | 1.5Gbps | 日本大阪 CN2 GIA | $49.99/月 $499.99/年 | 购买 |
OSAKA | 4GB | 4核 | 80GB | 1TB | 1.5Gbps | $86.99/月 $869.99/年 | 购买 |
选择建议:
- 入门:洛杉矶 CN2 套餐,目前最便宜,可选 DC3 CN2/DC8 ZNET 等机房,CN2 GT 线路,入门之选。
- 推荐:洛杉矶 CN2 GIA-E 套餐,速度超快,可选 DC6 CN2 GIA-E/DC9 CN2 GIA/日本软银 JPOS_1/联通荷兰 EUNL_9 等机房,性价比最高。
- 高端:香港 CN2 GIA 套餐/东京 CN2 GIA 套餐,价格较高,但是速度、延迟、丢包等方面无可挑剔。
搬瓦工优惠通知
- 搬瓦工最新消息通知 QQ 群:250754021
- 搬瓦工库存监控:https://kucun.banwagongcn.com
- 搬瓦工补货通知微信号:bwgvps