天天看点

Zabbix监控ActiveMQ队列数以及结合Grafana展示

在ZABBIX上监控MQ队列

众所周知,Zabbix是可以自定义监控项的,那么就代表只要能获得到的数字都可以进入Zabbix的监控范围内。作为消息队列,Activemq里的“消息堆积数”是监控的重点项目之一。

获取消息堆积数并不是一个很难的事儿,浏览器里登陆MQ的web网页控制台,输入账号密码之后,在Queues的网页里就能看到如下的界面:

其中Pending Messages就是“等待消息”,Consumers是“消费者”,Enqueued是“入队”,Dequeued是“出队”。入队数=出队数+等待数。

现在我们要获取到图中的队列叫AggregateQueue里的那个23596,很简单,shell语句是:

1

<code>curl -s -u网站用户名:网站密码 http:</code><code>//</code><code>网站外网IP地址:8161</code><code>/admin/queues</code><code>.jsp | </code><code>grep</code> <code>-A 5 </code><code>"具体的队列名&lt;/a&gt;&lt;/td&gt;"</code><code>|</code><code>awk</code> <code>-F </code><code>'&lt;'</code> <code>'{print $2}'</code><code>|</code><code>sed</code> <code>'s/td&gt;//g'</code><code>|</code><code>head</code> <code>-2|</code><code>tail</code> <code>-1</code>

这里curl 有一个“-s”的参数,不然会显示curl的状态。如图:

zabbix_get检查情况和具体的trigger情况如下:

配置Zabbix结合Grafana

启动grafana的方法就是:#systemctl start grafana-server.service,配置开机自启动的方法:#chkconfig grafana-server on。然后在浏览器里输入“grafana外网ip地址:3000”就能看到grafana的界面,默认密码:admin/admin,grafana默认的日志存储路径是/var/log/grafana/。

Grafana与ZABBIX联系的插件下载方式:#grafana-cli plugins install alexanderzobnin-zabbix-app,安装之后,重启一下grafana-server,在web界面就会看到插件已经成功安装,如图:

现在配置Zabbix作为Grafana的数据源,首选点击网站上面的红色漩涡标志,选择“zabbix”,点击“Plugin Config”,点击Enable,启动Zabbix插件。如图:

再次点击红色漩涡,这次选择“Data Sources”,点击“Add data source”,如果插件启动成功,那么在Type里是可以选择“zabbix”的,然后就是填各种东西,如图:

这里有一些要额外说明:

1)url这个是zabbix的API地址"http://ip/zabbix/api_jsonrpc.php",这个可以在zabbix服务端上可查找"find / -name api_*.php";

2)username和passwd是zabbix WEB界面的登录用户名和密码,有读的权限即可;

3)alerting选择启动,min severity选择high;

然后点击“save &amp; test”,如果都正确的话,就会出现success,如图:

在Grafana展示趋势图

点击左上方红色漩涡,"Dashboards"的地方点击“+new”,然后在小齿轮的地方选择“Templating”,如图:

在Templating里要建立4个模板,其中group的添加方法如下,如果Query正确的话,在点击“Include All option”的时候,就会有“组”显示出,而且和zabbix里完全一致:

       (这个是zabbix的web端界面)

group添加完了,还有host、application、iteams,添加的大同小异,需要注意的是Query的不同:

host的Query:$group.*

application的Query: $group.$host.*

iterm的Query: $group.$host.$application.*

以上四个template都搞定之后,应该是这个样子:

模板搞定了,下面就是图形展示,选择对应的hosts、application和items就自动有图像生成了!

最后说一下页面自动刷新,点击右上角“Last 6 hours”, 在弹出的下拉框中,选择Time range下的Refreshing every选项,点击下拉框按钮,默认应该有“off”和“1m”两个选项。点击“1m” 然后Apply设置,即为每一分钟刷新一次数据的意思。设置成功后,在原来Last 6 hours的后面会出现Refresh every 1m的橙色文字!

参考资料:《实践MQ的小demo》http://www.jianshu.com/p/3a39c8dd4f29

最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!

 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/2044132