One of the coolest things about working with ZCS is that it exposes you to many technologies such as Java, Postfix, OpenLDAP, and MySQL. An administrator of a ZCS system should have a working knowledge of these technologies, in order to monitor system performance and solve performance problems.
The ZCS server collects many performance-related statistics. The data is stored in CSV files in /opt/zimbra/zmstat and its subdirectories:
- cpu.csv: CPU utilization
- fd.csv: file descriptor count
- mailboxd.csv: ZCS server and JVM statistics
- mtaqueue.csv: Postfix queue
- proc.csv: disk utilization
- soap.csv: SOAP request processing time
- threads.csv: JVM thread counts
- vm.csv: Linux VM statistics (from the vmstat command)
These files are in a standard CSV format that can be loaded into Excel for viewing and charting. We also provide a command-line utility called zmstat-chart that generates charts from the CSV data:
$ zmstat-chart -s /opt/zimbra/2008-04-03 -d ~/charts
will read data from CSV files in /opt/zimbra/2008-04-03 and write HTML and PNG files to the ~/charts directory. Default chart parameters are specified in /opt/zimbra/conf/zmstat-chart.xml. An alternate chart conf file can optionally be specified with the -c option.
CPU utilization is graphed both at the server level and the process level. Here's a sample process CPU graph: