Hi everyone,

I am quiet new to ActiveMQ and try to monitor the overall queue size. I found a 
nice Nagios/Icinga plugin to do so, which uses the StatisticsPlugin. Currently 
I am a bit puzzles, because it seems the same configuration yields different 
result on different host.
On one host (my VM), everything works as expected, whereas on my EC2-machine I 
only get a timeout (no answer at all).

My software-stack reads as follows:
- CentOS 5.6
- Java version "1.6.0_24", Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
- Ruby 1.8.6
- Rubygem-Stomp 1.1.8
- ActiveMQ 5.5

I am pretty sure that I run the same software on both hosts installed from the 
same RPMs. I know this is not a "hardcore" ActiveMQ issue, but very appreciate 
any help.

On both hosts, the configuration is

--------
<beans
  xmlns="http://www.springframework.org/schema/beans";
  xmlns:amq="http://activemq.apache.org/schema/core";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core 
http://activemq.apache.org/schema/core/activemq-core.xsd
  http://activemq.apache.org/camel/schema/spring 
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>

    <broker xmlns="http://activemq.apache.org/schema/core"; 
brokerName="localhost" useJmx="true">
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <plugins>
          <statisticsBrokerPlugin/>
          <simpleAuthenticationPlugin>
            <users>
                         <authenticationUser username="nf-user" password="XXXX" 
groups="newsfeed-read,newsfeed-write,newsfeed-admin,everyone"/>
                         <authenticationUser username="mc-admin" 
password="XXXX" 
groups="mcollective-read,mcollective-write,mcollective-admin,everyone"/>
                         <authenticationUser username="mc-user" password="XXXX" 
groups="mcollective-read,mcollective-write,mcollective-admin,everyone"/>
                         <authenticationUser username="icinga" 
password="247fbvbvvn390j4mvebnhb7g4bquwnvjdshkudhdsufssannz" 
groups="monitoring-read,monitoring-write,monitoring-admin,everyone"/>
                          </users>
          </simpleAuthenticationPlugin>
          <authorizationPlugin>
            <map>
              <authorizationMap>
                <authorizationEntries>
                  <authorizationEntry queue=">" write="admins" read="admins" 
admin="admins" />
                  <authorizationEntry topic=">" write="admins" read="admins" 
admin="admins" />
                  <authorizationEntry topic="ActiveMQ.Advisory.>"               
read="everyone" write="everyone" admin="everyone"/>
                  <authorizationEntry queue="ActiveMQ.Statistics.Destination.>" 
read="monitoring-read" write="monitoring-write" admin="monitoring-admin" />
                  <authorizationEntry topic="nagios.>"                          
read="monitoring-read" write="monitoring-write" admin="monitoring-admin" />
                  <authorizationEntry topic="mcollective.>" 
write="mcollective-write" read="mcollective-read" admin="mcollective-admin" />
                  <authorizationEntry queue="mcollective.>" 
write="mcollective-write" read="mcollective-read" admin="mcollective-admin" />
                  <authorizationEntry topic="newsfeed.>" write="newsfeed-write" 
read="newsfeed-read" admin="newsfeed-admin" />
                  <authorizationEntry queue="newsfeed.>" write="newsfeed-write" 
read="newsfeed-read" admin="newsfeed-admin" />
                </authorizationEntries>
              </authorizationMap>
            </map>
          </authorizationPlugin>
        </plugins>

        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="20 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="1 gb" name="foo"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="100 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>
          
        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://0.0.0.0:6166"/>
            <transportConnector name="stomp" uri="stomp://0.0.0.0:6163"/>
        </transportConnectors>
    </broker>
</beans>
----------

In the working scenario, the tcpdump trace reads like: 
-------
CONNECT
login:icinga
content-length:0
passcode:247fbvbvvn390j4mvebnhb7g4bquwnvjdshkudhdsufssannz
content-type: text/plain; charset=UTF-8

.CONNECTED
session:ID:centos-vm-51950-1309785600907-3:12

.
SUBSCRIBE
destination:/topic/nagios.statresults.centos-vm
content-length:0
transformation:jms-map-xml
content-type: text/plain; charset=UTF-8

.SEND
reply-to:/topic/nagios.statresults.centos-vm
destination:/queue/ActiveMQ.Statistics.Destination.>
content-length:0
content-type: text/plain; charset=UTF-8

.MESSAGE
message-id:ID:centos-vm-51950-1309785600907-2:1:0:0:23
type:Advisory
transformation:jms-map-xml
destination:/topic/nagios.statresults.centos-vm
timestamp:0
expires:0
priority:0

<map>
  <entry>
    <string>memoryUsage</string>
    <long>0</long>
  </entry>
  <entry>
    <string>dequeueCount</string>
    <long>0</long>
  </entry>
  <entry>
    <string>inflightCount</string>
    <long>0</long>
  </entry>
  <entry>
    <string>messagesCached</string>
    <long>0</long>
  </entry>
  <entry>
    <string>averageEnqueueTime</string>
    <double>0.0</double>
  </entry>
  <entry>
    <string>destinationName</string>
    <string>queue://ActiveMQ.Statistics.Destination.stompcat</string>
  </entry>
  <entry>
    <string>size</string>
    <long>0</long>
  </entry>
  <entry>
    <string>memoryPercentUsage</string>
    <int>0</int>
  </entry>
  <entry>
--------

In the non-working scenario the trace is:

--------
CONNECT
passcode:247fbvbvvn390j4mvebnhb7g4bquwnvjdshkudhdsufssannz
content-length:0
login:icinga
content-type: text/plain; charset=UTF-8

.CONNECTED
session:ID:ip-10-49-29-146-34975-1309785697533-3:43

.
SUBSCRIBE
destination:/topic/nagios.statresults.ip-10-49-29-146
content-length:0
transformation:jms-map-xml
content-type: text/plain; charset=UTF-8

.SEND
reply-to:/topic/nagios.statresults.ip-10-49-29-146
destination:/queue/ActiveMQ.Statistics.Destination.>
content-length:0
content-type: text/plain; charset=UTF-8

.
-------

Notice the difference in the connect-message (field order of passcode/login).

Logfile in the working scenario is:

---------
==> /var/log/activemq/wrapper.log <==
INFO   | jvm 1    | 2011/07/04 16:15:10 | DEBUG MessageDatabase                
- Checkpoint started.
INFO   | jvm 1    | 2011/07/04 16:15:10 | DEBUG MessageDatabase                
- Checkpoint done.

==> /var/log/activemq/activemq.log <==
2011-07-04 16:15:15,073 [eckpoint Worker] DEBUG MessageDatabase                
- Checkpoint started.
2011-07-04 16:15:15,110 [eckpoint Worker] DEBUG MessageDatabase                
- Checkpoint done.
2011-07-04 16:15:15,133 [127.0.0.1:53160] DEBUG TransportConnection            
- Setting up new connection id: ID:centos-vm-51950-1309785600907-3:13, address: 
/127.0.0.1:53160
2011-07-04 16:15:15,175 [127.0.0.1:53160] DEBUG AbstractRegion                 
- localhost adding consumer: ID:centos-vm-51950-1309785600907-3:13:-1:1 for 
destination: topic://nagios.statresults.centos-vm
2011-07-04 16:15:15,216 [127.0.0.1:53160] DEBUG TransportConnection            
- remove connection id: ID:centos-vm-51950-1309785600907-3:13
2011-07-04 16:15:15,216 [127.0.0.1:53160] DEBUG AbstractRegion                 
- localhost removing consumer: ID:centos-vm-51950-1309785600907-3:13:-1:1 for 
destination: topic://nagios.statresults.centos-vm
2011-07-04 16:15:15,217 [.0.0.1:53160-38] DEBUG TransportConnection            
- Stopping connection: /127.0.0.1:53160
2011-07-04 16:15:15,218 [.0.0.1:53160-38] DEBUG TcpTransport                   
- Stopping transport tcp:///127.0.0.1:53160
2011-07-04 16:15:15,218 [.0.0.1:53160-38] DEBUG TransportConnection            
- Stopped transport: /127.0.0.1:53160
2011-07-04 16:15:15,219 [.0.0.1:53160-38] DEBUG TransportConnection            
- Connection Stopped: /127.0.0.1:53160

==> /var/log/activemq/wrapper.log <==
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG MessageDatabase                
- Checkpoint started.
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG MessageDatabase                
- Checkpoint done.
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG TransportConnection            
- Setting up new connection id: ID:centos-vm-51950-1309785600907-3:13, address: 
/127.0.0.1:53160
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG AbstractRegion                 
- localhost adding consumer: ID:centos-vm-51950-1309785600907-3:13:-1:1 for 
destination: topic://nagios.statresults.centos-vm
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG TransportConnection            
- remove connection id: ID:centos-vm-51950-1309785600907-3:13
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG AbstractRegion                 
- localhost removing consumer: ID:centos-vm-51950-1309785600907-3:13:-1:1 for 
destination: topic://nagios.statresults.centos-vm
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG TransportConnection            
- Stopping connection: /127.0.0.1:53160
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG TcpTransport                   
- Stopping transport tcp:///127.0.0.1:53160
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG TransportConnection            
- Stopped transport: /127.0.0.1:53160
INFO   | jvm 1    | 2011/07/04 16:15:15 | DEBUG TransportConnection            
- Connection Stopped: /127.0.0.1:53160
-----------

Whereas in the non-working it is:

-----------
==> /var/log/activemq/wrapper.log <==
INFO   | jvm 1    | 2011/07/04 16:16:58 | DEBUG TransportConnection            
- Setting up new connection id: ID:ip-10-49-29-146-34975-1309785697533-3:70, 
address: /127.0.0.1:60654
INFO   | jvm 1    | 2011/07/04 16:16:58 | DEBUG AbstractRegion                 
- localhost adding consumer: ID:ip-10-49-29-146-34975-1309785697533-3:70:-1:1 
for destination: topic://nagios.statresults.ip-10-49-29-146

==> /var/log/activemq/activemq.log <==
2011-07-04 16:17:00,912 [eckpoint Worker] DEBUG MessageDatabase                
- Checkpoint started.
2011-07-04 16:17:00,917 [eckpoint Worker] DEBUG MessageDatabase                
- Checkpoint done.

==> /var/log/activemq/wrapper.log <==
INFO   | jvm 1    | 2011/07/04 16:17:01 | DEBUG MessageDatabase                
- Checkpoint started.
INFO   | jvm 1    | 2011/07/04 16:17:01 | DEBUG MessageDatabase                
- Checkpoint done.



==> /var/log/activemq/activemq.log <==
2011-07-04 16:17:03,372 [127.0.0.1:60654] DEBUG Transport                      
- Transport failed: java.io.EOFException
java.io.EOFException
        at java.io.DataInputStream.readByte(DataInputStream.java:250)
        at 
org.apache.activemq.transport.stomp.StompWireFormat.readLine(StompWireFormat.java:146)
        at 
org.apache.activemq.transport.stomp.StompWireFormat.parseAction(StompWireFormat.java:162)
        at 
org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:92)
        at 
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:227)
        at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:219)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
        at java.lang.Thread.run(Thread.java:662)
2011-07-04 16:17:03,373 [0.0.1:60654-366] DEBUG TransportConnection            
- Stopping connection: /127.0.0.1:60654
2011-07-04 16:17:03,373 [0.0.1:60654-366] DEBUG TcpTransport                   
- Stopping transport tcp:///127.0.0.1:60654
2011-07-04 16:17:03,374 [0.0.1:60654-366] DEBUG TransportConnection            
- Stopped transport: /127.0.0.1:60654
2011-07-04 16:17:03,375 [0.0.1:60654-366] DEBUG TransportConnection            
- Cleaning up connection resources: /127.0.0.1:60654
2011-07-04 16:17:03,375 [0.0.1:60654-366] DEBUG TransportConnection            
- remove connection id: ID:ip-10-49-29-146-34975-1309785697533-3:70
2011-07-04 16:17:03,375 [0.0.1:60654-366] DEBUG AbstractRegion                 
- localhost removing consumer: ID:ip-10-49-29-146-34975-1309785697533-3:70:-1:1 
for destination: topic://nagios.statresults.ip-10-49-29-146
2011-07-04 16:17:03,376 [0.0.1:60654-366] DEBUG TransportConnection            
- Connection Stopped: /127.0.0.1:60654

==> /var/log/activemq/wrapper.log <==
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG Transport                      
- Transport failed: java.io.EOFException
INFO   | jvm 1    | 2011/07/04 16:17:03 | java.io.EOFException
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
java.io.DataInputStream.readByte(DataInputStream.java:250)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
org.apache.activemq.transport.stomp.StompWireFormat.readLine(StompWireFormat.java:146)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
org.apache.activemq.transport.stomp.StompWireFormat.parseAction(StompWireFormat.java:162)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:92)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:227)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:219)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
INFO   | jvm 1    | 2011/07/04 16:17:03 |       at 
java.lang.Thread.run(Thread.java:662)
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG TransportConnection            
- Stopping connection: /127.0.0.1:60654
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG TcpTransport                   
- Stopping transport tcp:///127.0.0.1:60654
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG TransportConnection            
- Stopped transport: /127.0.0.1:60654
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG TransportConnection            
- Cleaning up connection resources: /127.0.0.1:60654
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG TransportConnection            
- remove connection id: ID:ip-10-49-29-146-34975-1309785697533-3:70
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG AbstractRegion                 
- localhost removing consumer: ID:ip-10-49-29-146-34975-1309785697533-3:70:-1:1 
for destination: topic://nagios.statresults.ip-10-49-29-146
INFO   | jvm 1    | 2011/07/04 16:17:03 | DEBUG TransportConnection            
- Connection Stopped: /127.0.0.1:60654
--------------

Thanks a lot for your help,
Jens

Reply via email to