我有一个apacheartemis代理,我可以通过jolokia获得一些管理信息。这个响应是json格式的;我还让jq用它做“json的东西”。
curl -s -X GET --url 'http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:*'
我想制作一种通用脚本来检查此响应中的一些值;因此有几个问题:
我想查询的其中一个键可以得到如下结果:
jq '."value"."org.apache.activemq.artemis:broker=\"broker1\""' broker.json
"org.apache.activemq.artemis:broker=\"*\""
? 到目前为止,我的尝试没有给我任何帮助
第二个问题我觉得有点难。
该值以秒为单位。
在代理上是队列,其中一些可能有消息;我想找到那些消息早于(比方说)5分钟的队列。
我可以用这把钥匙找到一个这样的物体:
jq '."value"."org.apache.activemq.artemis:address=\"my.queue\",broker=\"broker1\",component=addresses,queue=\"my.queue\",routing-type=\"anycast\",subcomponent=queues"' broker.json
此对象包含两个可用于此目的的键:
-FirstMessageTimestamp:以毫秒为单位的时间戳。
我正在尝试制作一个(简单的)脚本,它可以定期监视代理运行状况(不要在队列上发送太多太长的消息,队列中有消费者,诸如此类的东西;所有这些都可以从这个rest调用中获得;我想,通过对上述问题的回答,我应该能够找到如何获得这些消息。