How to Increase the maxFrameSize in the Data Collector
search cancel

How to Increase the maxFrameSize in the Data Collector

book

Article ID: 46654

calendar_today

Updated On:

Products

CA Infrastructure Management CA Performance Management - Usage and Administration

Issue/Introduction

DX NetOps Performance Management Data Collector (DC) doesn't run.

Data Collector seems to be running but according to System Health Dashboards the DC is flatlined and is not polling any data.

Data Collector not showing new polled data.

Data Collector fails to stay running after being restarted.

Data Collector dcmd service fails to stay running.

In the DC's (default path) /opt/IMDataCollector/apache-karaf-<version>/data/log/karaf.log file the following errors will be present.

Older releases may show:

java.io.IOException: Frame size of 169 MB larger than max allowed 100 MB 
at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)[162:org.apache.activemq.activemq-osgi:5.13.1] 
at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)[162:org.apache.activemq.activemq-osgi:5.13.1] 
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)[162:org.apache.activemq.activemq-osgi:5.13.1] 
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)[162:org.apache.activemq.activemq-osgi:5.13.1] 
at java.lang.Thread.run(Thread.java:745)[:1.8.0_72] 
<DATE><TIME> | INFO | ActiveMQ Task-2 | FailoverTransport | sport.failover.FailoverTransport 1077 | 162 - org.apache.activemq.activemq-osgi - 5.13.1 | | Successfully reconnected to tcp://127.0.0.1:61616

Newer releases may show:

2022-02-23 15:34:40,863 | INFO  | ActiveMQ Task-2  | FailoverTransport                | sport.failover.FailoverTransport 1054 | 165 - org.apache.activemq.activemq-osgi - 5.15.8 |  | Successfully reconnected to tcp://127.0.0.1:61616
2022-02-23 15:34:40,866 | WARN  | .0.1:61616@55678 | FailoverTransport                | sport.failover.FailoverTransport  280 | 165 - org.apache.activemq.activemq-osgi - 5.15.8 |  | Transport (tcp://127.0.0.1:61616) failed , attempting to automatically reconnect: java.io.IOException: Frame size of 137 MB larger than max allowed 100 MB

Environment

All supported DX NetOps Performance Management Data Collector releases

Resolution

To resolve this we'll need to increase the maxFrameSize configuration to a value higher than the highest value reported by the log messages.

  1. Open a terminal on the Data Collector server.
  2. Go to the (default path) /opt/IMDataCollector/broker/apache-activemq-<version>/conf directory.
  3. Open the activemq.xml file for editing.
  4. Find the <transportConnector> section that stores the maxFrameSize configuration value. Default entry from a 21.2.x lab is:
  5. Edit the maxFramSize value to one larger than the largest called out in the log messages.
    1. This is calculated from MB to Bytes using: MB*1024*1024=byesAllowed
    2. Default is 100 so the value derived and set is: 100*1024*1024=104857600
    3. Using the 137 value seen in the sample messages above we'd get:
      1. 137*1024*1024=143654912
    4. Set the new value and save the changes.
  6. Restart the DC dcmd and activemq services using these commands:
    1. systemctl stop dcmd
    2. systemctl stop activemq
    3. systemctl start dcmd

The dcmd DC service should now remain running.

Additional Information

Is there any downside to increasing the maxFrameSize?

When increasing maxFramSize speculation suggests that it would use more memory for a messages in AMQ, and possibly take a little (micro or milli seconds) longer to send the message to the DA. The collection of java memory garbage collection may come into play, as the DC will need a bigger block of memory to store the messages, and will then garbage collect it later. Best not to go bigger than 250 MB in total.