Introduction:
The apmpacket feature was added in APM 9.7 as part of the high-performance TIM. It captures packets from the switch via the TIM network card and the information is placed in packet capture files (pcap): CA APM Installation and Upgrade > Install and Configure TIM > Install the TIM Software
The configuration information for this process is stored in the a file called apmpacketsettings.db.
This database stores everything in a Berkeley database (BDB) format which is name/value pair. Note this is the same format as the TIM settings database (timsettings.db).
Configtool
Use the command line tool (configtool) to edit and display the apmpacket settings database.
It is located under /opt/CA/APM/tim/ and supports the following arguments:
-f -- the apmpacket settings filename and location. This is required. Filename is apmpacketsettings.db
-g -- display specific name/value pair.
-l -- list all values
-n -- create a new apmpacket settings database
-u -- unset a value
-F -- Fast - Does not tell TIM of change. (Normally TIM is aware of all changes made to the apmpacket settings
database.)
Background:
Apmpacket is a very underdocumented area. This is an attempt to remedy some of the gaps. A future KD will also attempt to document apmpacket error messages.
Environment: Non-MTP TIMs APM 9.7 and later
Instructions:
Viewing and Setting Apmpacket database setting values
Here is an example of performing both operations
1. Go to the correct directory
cd /opt/CA/APM/tim
2. List the current contents on the apmpacketdatabase setting file:
bin/configtool -f ../apmpacket/config/apmpacketsettings.db -l
The output should be:
MaxLogSizeInMB = 1 -- By default the only value set in the settings database
3. As an example, set the capture buffer size to 60.
Note that all records in the database are a parameter and the corresponding value.
bin/configtool -f ../apmpacket/config/apmpacketsettings.db -s CaptureBufferSizeInMB 60
4. Verify that the new configuration setting is included.
bin/configtool -f ../apmpacket/config/apmpacketsettings.db -l
The output should be:
CaptureBufferSizeInMB = 60 -- New setting
MaxLogSizeInMB = 1
The apmpacket Database Settings
The following is a list of apmpacket database settings:
Setting | What It Does | Default Value |
ApmPacket/PacketCleanUpBaseIntervalInSeconds | Idle interval in seconds based on the disk size. (More free disk means a bigger clean up interval. The inverse of less free disk means a smaller clean up interval is true as well. | Whatever value is set in the settings file. |
ApmPacket/MinFreeDiskSpacePercent | Percent of free disk space | Whatever value is set in the settings file, |
BPF | BPF (Berkeley Packet Filters) are used by apmpacket to load client and server filters at startup. | 1 |
CaptureBufferSizeInMB | Increases the Capture Buffer to reduce dropped packets. Raising this can impact TIM memory | 20 in 10.2. 60 in all other releases. Set no higher than 250. |
Debug/LogXml | Provides additional logging about Handshake responses: HandshakeResponse status= OK or ERROR with the error message. | 0 (off) |
Debug/LogPacketFiles | Log Packet File status information. Examples include creating packet file can't create packet file closing packet file | 0 (off) |
Debug/LogPacketFilter | Compiles the server/client servers as BPF and applies them Log will say something like NetworkManager: compiling BPF | 0 (off) |
Debug/LogPacketStats | Lists packet summary statistics this includes the device name such as eth1. The number of packets (recv) and the number dropped (drop). Log will say something like NetworkManager: Packet stats: dev=eth1 recv=22067449 drop=1388 | 0 (off) |
Localfilter | Uses local client/server filters instead of BPF ) by apmpacket at startup. | 0 |
KeepStagingFiles | Changes the default behavior of retaining staging packet files such as for testing. | 0 |
LockMemory | Locks the apmpacket process into physical memory to impact paging and processing. Will see a log message such as locking process into physical memory | 0 |
MaxLogSizeInMB | The apmpacket log size. This is the only setting available by default in the packetsetting database | 1 |
PacketFileWriteFrequencyInSeconds | Determines how frequently packet files are written out. | 5 |
PacketReadThreadPriority | Raises/lowers priority of packet read thread for slower/faster processing | 75 |
Additional Information:
https://en.wikipedia.org/wiki/Berkeley_DB - BDB Overview
http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html - BDB Downloads
http://www.ca.com/us/support/ca-support-online/product-content/knowledgebase-articles/TEC1420872.aspx - Reducing dropped packets
http://www.ca.com/us/support/ca-support-online/product-content/knowledgebase-articles/tec1688747.aspx -- Napatech drivers