ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Gatus消息队列监控指南:30分钟搞定健康检查与告警

Gatus消息队列监控指南:30分钟搞定健康检查与告警 Gatus消息队列监控指南30分钟搞定健康检查与告警【免费下载链接】gatusAutomated developer-oriented status page with alerting and incident support项目地址: https://gitcode.com/GitHub_Trending/ga/gatus周六凌晨两点RabbitMQ 的消费者掉了线消息悄悄堆积没人收到通知。消息队列监控要做的其实只有一件事出问题时你要比用户先醒。Gatus 是个轻量级健康检查工具30 分钟就能搭起来——按固定间隔探测变红就喊人。先弄明白 Gatus 是干什么的Gatus 会周期性地向你配置的端点HTTP、TCP 等发请求拿结果去匹配一组条件判定健康与否端点变红时通过 Slack、邮件、PagerDuty 等渠道发通知。图1Gatus 工作流程图——端点探测产生状态结果结果按配置的 conditions 逐条判定失败的端点会流入多渠道告警探测、判定、通知三步串成一个闭环。它像一个哨兵不碰你的业务流量只替你盯着队列。三步点亮第一个检查项先克隆仓库并编译一条命令出二进制git clone https://gitcode.com/GitHub_Trending/ga/gatus cd gatus make install ./gatus默认它会找config/config.yaml用GATUS_CONFIG_PATH环境变量可指向别处。再写一份能让检查项变绿的最小配置指向 RabbitMQ 的节点健康接口每 30 秒探一次endpoints: - name: rabbitmq-health url: http://rabbitmq:15672/api/healthchecks/node interval: 30s conditions: - [STATUS] 200 - [BODY].status ok启动后打开 8080 端口这一项显示绿色监控就跑起来了。盯住三件事条件别只写一条。队列的状态分三层端口连通性最基础的一层。url: tcp://rabbitmq:5672不需要 HTTP配一条[CONNECTED] true就能确认 AMQP 端口在监听。哪怕管理界面挂了只要端口通broker 基本还活着。管理端点状态节点健康接口返回 200 且 statusok说明节点活着但不代表没有 broker 掉线。默认 60s 的检查间隔可以收到 30s掉线发现时间砍半。消息量与积压阈值队列活着不等于健康。当健康或队列列表接口返回消息计数字段时可以直接对响应体里的数值字段做断言比如[BODY].message-count 1000这条条件写上积压阈值就从人工去查变成了检查项的一部分。图2Gatus 仪表板——每一行是一个监控项实时展示各条件的通过情况和响应时间红色一眼可见告警通道怎么接那告警发到哪里去告警配在端点下渠道开箱即用Slack、email、PagerDuty、Telegram、Discord 等provider 的实现都在 alerting/provider/ 目录里。两个参数最关键failure-threshold默认 3连败 3 次才告警send-on-resolved控制恢复时是否发一条通知。alerts: - type: slack description: RabbitMQ健康检查失败 send-on-resolved: true想看趋势呢打开metrics: trueGatus 就在/metrics路径暴露gatus_results_total、gatus_results_duration_seconds等指标Prometheus 直接抓取仓库自带 .examples/docker-compose-grafana-prometheus 示例一条命令拉起整条链路。图3Grafana 面板——按端点展示成功状态与响应时间曲线队列劣化时曲线先于告警给出信号告警有人收曲线有处看。容易踩的坑interval 别设太短默认超时 10s、并发上限 3一堆 5 秒的探测堆上去慢请求会占坑拖慢别人。作者的建议是简单检查 30s复杂的 5m。条件写得过松只写[STATUS] 200时返回 200 的错误 JSON 也能过关。至少加一条[BODY]断言。告警风暴没收敛一次 30 秒的抖动不该把你叫起来。failure-threshold保持默认 3持续告警用minimum-reminder-interval最小 5m控频。写在最后Gatus 不碰你的队列本身它只负责在队列不对劲时提前开口。从最关键的队列开始先把端口和管理端点两项挂上跑一周再决定要不要加积压阈值。【免费下载链接】gatusAutomated developer-oriented status page with alerting and incident support项目地址: https://gitcode.com/GitHub_Trending/ga/gatus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表