Difference between revisions of "Server Monitoring"

m
m
Line 24: Line 24:
 
== Chart Analysis ==
 
== Chart Analysis ==
  
'''CPU utilization''' is graphed both at the server level and the process level.  Here's a sample process CPU graph:
+
=== CPU utilization ===
[[Image:ProcCpu.png | 600px]]
+
CPU utilization is tracked both at the server level and the process level.  Here's a sample process CPU graph:<br>
This graph shows how server CPU increases in the morning as users come to work and a spike at 9:00AM.  To further investigate the problem, you could look at other charts or the server logs to determine what happened at 9:00AM to cause the heightened system load.
+
[[Image:ProcCpu.png | 600px]]<br>
 +
This chart shows how server CPU increases in the morning as users come to work and a spike at 9:00AM.  To further investigate the problem, you could look at other charts or the server logs to determine what happened at 9:00AM to cause the heightened system load.
 +
 
 +
=== Disk Utilization ===
 +
Disk utilization is tracked for each disk partition:<br>
 +
[[Image:DiskUtil.png | 600px]]<br>
 +
This chart shows that disk activity also increases along with the increased utilization shown in the CPU chart.  It also shows that the ''sda'' partition is experiencing more load than the others.  When laying out disk partitions for a ZCS installation, it's a good idea to put different system components (''/opt/zimbra/store'', ''/opt/zimbra/db'', ''/opt/zimbra/index'') on separate partitions.  This makes it much easier to determine which system component is performing more disk access.<br>

Revision as of 21:34, 4 April 2008

Server Monitoring

Stats Collection

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.

Chart Analysis

CPU utilization

CPU utilization is tracked both at the server level and the process level. Here's a sample process CPU graph:
ProcCpu.png
This chart shows how server CPU increases in the morning as users come to work and a spike at 9:00AM. To further investigate the problem, you could look at other charts or the server logs to determine what happened at 9:00AM to cause the heightened system load.

Disk Utilization

Disk utilization is tracked for each disk partition:
DiskUtil.png
This chart shows that disk activity also increases along with the increased utilization shown in the CPU chart. It also shows that the sda partition is experiencing more load than the others. When laying out disk partitions for a ZCS installation, it's a good idea to put different system components (/opt/zimbra/store, /opt/zimbra/db, /opt/zimbra/index) on separate partitions. This makes it much easier to determine which system component is performing more disk access.

Jump to: navigation, search