0

我已经构建了我的第一个 Munin 插件来为我们提供 Redis 队列的大小,但由于某种原因它不会报告。节点上的所有其他插件,包括其他以 Redis 为中心的插件都可以正常工作。

这是插件代码:

#!/bin/sh

case $1 in
   config)
        cat <<'EOM'
multigraph redis_queue_size
graph_title Redis Queue Size
graph_info The size of Redis queue
graph_category redis
graph_vlabel Messages
redisqueue.label redisqueue
redisqueue.type GAUGE
redisqueue.min 0
EOM
        exit 0;;
esac

queuelength=`redis-cli llen mykeyname`
printf "redisqueue.value "
echo $queuelength

该插件位于 /usr/share/munin/plugins/redis_queue_

该插件符号链接到 /etc/munin/plugins/redis_queue_

我确保重新启动服务

$ sudo service munin-node force-reload

如果我运行 sudo munin-run redis_queue_ 我得到正确的输出:

redisqueue.value 1567595

如果我运行 munin-node-config 我得到以下信息:

redis_queue_            | yes  |

如果我使用 telnet 从主服务器连接到实例以获取插件,我会得到:

$ telnet 10.101.21.56 4949
Trying 10.101.21.56...
Connected to 10.101.21.56.
Escape character is '^]'.
# munin node at redis01.example.com
fetch redis_queue_
redisqueue.value 1035336

主人为它显示一个空图,但“最后更新”时间没有增加。我最初对插件的配置略有不同(它没有产生好的输出)所以所有的值都是-nan。一旦我修复了输出,我希望插件开始工作,但所有的努力都失败了。

一切看起来都正确,但图表中仍然没有值。

编辑:穆宁 v1.4.6

4

0 回答 0