我已经构建了我的第一个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。一旦我修改了输出,我就预计插件会开始工作,但所有的努力都失败了。
一切看起来都正确,但图中仍然没有值。
编辑:Munin v1.4.6