2014-11-14 4 views
0

의 ActiveMQ 브로커 설정을 모든 호스트에서 연결의 수를 가져옵니다 :내 ActiveMQ를 브로커에

브로커 시스템에서 실행됩니다 : 호스트 A

이 다른 호스트에서

클라이언트가, 호스트 A에서 실행중인 내 브로커 인스턴스에 연결할 수 있습니다 모든 호스트의 클라이언트 수에 제한이 없습니다.

얼마나 많은 클라이언트가 브로커에 연결되어 있는지 알아낼 수있는 방법이 있으며, 각 브로커와 얼마나 많은 연결이 내 브로커에 있는지도 알려줍니다.

호스트 수에 대한 가정없이이 작업을 수행하고 싶습니다.

lsof 명령과 일부 구문 분석을 사용하여이를 수행 할 수 있지만이 방법을 사용할 수없는 상황에 처해 있습니다.

ActiveMQ 명령 줄 유틸리티 activemq-admin에서 제공하는 기능이 있습니까?

답변

0

ActiveMQ-admin을 통해 Mbean 속성 ActiveMQ 노출을 거의 얻을 수 있습니다. 특정 클라이언트의 연결 수를 빠르게 계산할 수있는 특성이나 작업이 없습니다. 원하는 모든 세부 사항을 얻으려면 끝까지 작업해야하지만 원시 데이터는 모두 있어야합니다.

예 :

중개 통계 :

activemq-admin query --objname type=Broker,brokerName=localhost 

연결 통계

activemq-admin query --objname type=Broker,brokerName=localhost,connector=clientConnectors,connectorName=<transport connector name>,connectionViewType=clientId,connectionName=* 

See full doc here.
참고 : Documentat 이 글은 AMQ에서의 Mbean 변경 사항을 고려하여 업데이트되지 않았습니다. 예제에서 객체 이름에 대한 참조가 올바르지 않습니다.

MBeanInfo에서 JMX (예 : jconsole 또는 visual vm 사용)에서 객체 이름 (또는 예제 sytax)을 가져올 수 있습니다. 각 객체 이름은 org.apache.activemq : type과 같은 stat을 사용합니다. 스크립트의 경우 "org.apache.activemq :"를 제거하면 JMX에서 스크립트를 통해 필요한 모든 작업을 수행 할 수 있습니다.

Jolokia를 브로커와 함께 사용할 수도 있습니다. activemq-admin 스크립트와 호환되지는 않지만 activemq-admin 스크립트에서 가능한 모든 것을 얻을 수 있지만 모든 작업에 액세스 할 수도 있습니다. 과거에는 브로커의 로컬 모니터링/명령 줄 관리를 위해 activemq-admin 스크립트를 많이 사용했지만 Jolokia 서비스를 사용하기 위해 모든 것을 변환하기 시작했습니다. 그러나 다시, activemq-admin은 당신에게 당신이 찾고있는 것을 액세스 할 수있는 방법을 제공 할 것입니다.

+0

내 터미널에서 "activemq-admin : No match."이 표시됩니다. 와일드 카드로 인한 것일 수 있습니다. * – learner

+0

충분히 가까이서 보지 않았습니다. 설명서를 최신으로 생각했지만 5.8 (5.9?)의 JMX 변경 사항을 고려하지 않았습니다. 이 정보를 얻을 수있는 방법을 보여주는 답변을 업데이트했습니다. 다른 "바로 가기"에 대해 해당 문서를 계속 사용할 수 있습니다. –

+0

은 여전히 ​​"activemq-admin : No match"를 마주하고 있습니다. 연결 통계에 대해서 connectionName = *에서 와일드 카드가 왜 이렇게 작동하는지 알 수 없습니다.내가 connectionName = '*'넣어 몇 가지 결과를 가지고 있지만 호스트 정보를 얻는 방법, 그것은 원격 주소입니까? 또는 연결 이름에? – learner