9 个版本
0.2.6 | 2023 年 4 月 12 日 |
---|---|
0.2.5 | 2020 年 6 月 9 日 |
0.2.3 | 2020 年 5 月 7 日 |
0.1.1 | 2020 年 4 月 30 日 |
在 命令行实用程序 中排名第 572
每月下载量 35 次
29KB
583 行
RabbitMQ 监控工具
这是一个简单的工具,用于监控 RabbitMQ 队列,并在达到某些阈值时通过 Slack(旧版 webhook)进行通知。
安装
该工具发布在 crates.io 上,因此如果您已设置 cargo
,则可以执行以下操作
cargo install rmq_monitor
选项
-c, --config <config> Your TOML config file (default is config.toml)
配置
该工具使用一个 TOML 配置文件。如果您没有传递任何 --config
参数,它将在工作目录中查找 config.toml
。
触发器
触发器可以通过值高于或低于给定阈值来激活。默认情况下为“高于”,但如果您在触发器配置中添加 trigger_when = "below"
,则当给定值低于您指定值时,它将被触发。
以下是一个示例触发器定义,可以放入 config.toml 文件中
[[triggers]]
type = "messages_ready"
threshold = 10000
queue = "sent_images"
当名为 sent_images
的队列中的准备就绪消息超过 10000 条时,此触发器将激活并发送消息。
可用的触发器
以下是当前可用的触发器和它们的类型字段。如果您为触发器指定了无效的类型,则 rmq_monitor
不会启动,并会因无法解析配置而打印出错误。
- 消费者总数 (
type = "consumers_total"
) - 当前正在从队列中消费的消费者数量 - 总内存 (
type = "memory_total"
) - 队列使用的总内存 - 消息总数 (
type = "messages_total"
) - 队列中当前的消息总数 - 就绪消息数量 (
type = "messages_ready"
) - 可供消费者使用并准备发送的消息数量 - 未确认消息数量 (
type = "messages_unacknowledged"
) - 已发送给消费者但尚未确认的消息数量 - 重发消息数量 (
type = "messages_redelivered"
) - 由于被拒绝而重发的消息数量 - 消息总速率 (
type = "messages_total_rate"
) - 消息在队列进出时的速率(每秒) - 就绪消息速率 (
type = "messages_ready_rate"
) - 就绪消息变化的速率(每秒) - 未确认消息速率 (
type = "messages_unacknowledged_rate"
) - 未确认消息变化的速率(每秒) - 发布速率 (
type = "messages_publish_rate"
) - 消息在队列上发布的速率(每秒) - 投递速率 (
type = "messages_delivery_rate"
) - 队列投递消息的速率(每秒) - 重发速率 (
type = "messages_redeliver_rate"
) - 消息因拒绝而被重发回队列的速率(每秒)
Docker镜像
在Docker Hub上发布了一个最小Docker镜像(链接)。该镜像的大小仅为11MB。
要使用它,您只需要挂载一个包含您的配置文件的卷。容器将在/config/config.toml
中查找配置文件,因此请将其挂载在那里。示例
docker run -it -v (pwd)/your_config.toml:/config/config.toml --rm zbrox/rmq_monitor:latest
或者如果您在kubernetes上运行并且挂载整个文件夹更简单
docker run -it -v (pwd)/where_i_keep_configs:/config --rm zbrox/rmq_monitor:latest
显然在这种情况下,您必须在该文件夹中命名配置文件config.toml
。稍后我会添加一个容器变量,以便也能更改该名称。
依赖关系
~18–32MB
~513K SLoC