19:57 $ ./check_active_mq.py --host localhost health
Traceback (most recent call last):
File "./check_active_mq.py", line 202, in query_amq
req = requests.get(url, auth=auth)
File "/usr/lib64/python3.6/site-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib64/python3.6/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib64/python3.6/site-packages/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib64/python3.6/site-packages/requests/sessions.py", line 612, in send
adapter = self.get_adapter(url=request.url)
File "/usr/lib64/python3.6/site-packages/requests/sessions.py", line 703, in get_adapter
raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for 'localhostread/org.apache.activemq:type=Broker,brokerName=localhost'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./check_active_mq.py", line 250, in <module>
check.get_health_status(args.broker)
File "./check_active_mq.py", line 84, in get_health_status
data = self.query_amq(self.host + amq_path, auth=(self.user, self.password))
File "./check_active_mq.py", line 209, in query_amq
self.log.error("Apache-MQ - CRITICAL {}".format(ex.message))
AttributeError: 'InvalidSchema' object has no attribute 'message'
curl -uadmin:admin http://localhost:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost
{"request":{"mbean":"org.apache.activemq:brokerName=localhost,type=Broker","type":"read"},"value":{"StatisticsEnabled":true,"TemporaryQueueSubscribers":[],"TotalConnectionsCount":0,"TotalMessageCount":0,"TempPercentUsage":0,"MemoryPercentUsage":0,"TransportConnectors":{"openwire":"tcp:\/\/activemq:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600","amqp":"amqp:\/\/activemq:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600","mqtt":"mqtt:\/\/activemq:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600","stomp":"stomp:\/\/activemq:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600","ws":"ws:\/\/activemq:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"},"InactiveDurableTopicSubscribers":[],"StoreLimit":19354390600,"TotalProducerCount":0,"TopicProducers":[],"CurrentConnectionsCount":0,"QueueProducers":[],"JMSJobScheduler":null,"VMURL":"vm:\/\/localhost","UptimeMillis":1792590,"TemporaryTopicProducers":[],"TemporaryQueueProducers":[],"TotalDequeueCount":0,"Topics":[{"objectName":"org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.Advisory.MasterBroker,destinationType=Topic,type=Broker"}],"DurableTopicSubscribers":[],"JobSchedulerStorePercentUsage":0,"Uptime":"29 minutes","QueueSubscribers":[],"BrokerId":"ID:activemq-35791-1540489411700-0:1","AverageMessageSize":1024,"DataDirectory":"\/opt\/apache-activemq-5.15.6\/data","Persistent":true,"TopicSubscribers":[],"BrokerVersion":"5.15.6","TemporaryQueues":[],"BrokerName":"localhost","MinMessageSize":1024,"MemoryLimit":668309914,"Slave":false,"DynamicDestinationProducers":[],"TotalEnqueueCount":1,"TempLimit":19354378240,"TemporaryTopicSubscribers":[],"TemporaryTopics":[],"JobSchedulerStoreLimit":0,"Queues":[],"TotalConsumerCount":0,"StorePercentUsage":0,"MaxMessageSize":1024},"timestamp":1540491203,"status":200}
Okay, after more reverse engineering it works.
20:18 $ ./check_active_mq.py --host "http://localhost:8161/api/jolokia/" health
Apache-MQ - OK
Uptime: 35 minutes
BrokerVersion: 5.15.6
Store Usage in %: 0
Memory Usage in %: 0
Total Connections: 0
Total Dequeue Count: 0
Total Enqueue Count: 1
| Store Usage=0;;;;100 Memory Usage=0;;;;100 Uptime=35 minutes;;;; Total Dequeue Count=0;;;; Total Enqueue Count=1;;;;
but the compilation of the URI is not yet error-free enough.
e.g. http://localhost:8161/api/jolokia/
vs. http://localhost:8161/api/jolokia