-
Incident report
-
Resolution: Fixed
-
Major
-
1.8.2
-
CentOS 5.4 - Zabbix 1.8.2 - PostgreSQL 8.4.2
I've created an item on my TemplateMSSQLServer (zabbix) to monitor processor time of sqlserv process (MS-SQL Server process name). On Windows, the counter "\Process(PROCESS_NAME)% Processor Time" reports the CPU consume of a process considering all the logical CPUs present on the system. Windows documentation about counter "\Process(PROCESS_NAME)% Processor Time" says that the real processor time consumed by a process should be divided by the number of logical CPUs. On each one of my SQL Server systems, for example, there are 16 logical CPUs. Follows some sample data obtained from one of my systems using typeperf Windows built in command:
C:\zabbix>typeperf "\Process(sqlservr)% Processor Time"
"(PDH-CSV 4.0)","\\MYHOST\Process(sqlservr)% Processor Time"
"04/19/2010 15:57:08.965","757.807650"
"04/19/2010 15:57:09.965","906.244200"
"04/19/2010 15:57:10.965","751.557690"
"04/19/2010 15:57:11.965","828.119700"
"04/19/2010 15:57:12.965","992.181150"
"04/19/2010 15:57:13.965","989.056170"
"04/19/2010 15:57:14.965","1153.117620"
Then, considering the documentation, the real processor times are: 47.36%, 56.64%, 46.97%, 51.76%, 62.01%, 61.82%, 72.07%, respectively.
Unfortunately, zabbix_agentd always reports value "100.000000" for this counter when its real measure is above 100:
zabbix_agentd.exe -t perf_counter["\Process(sqlservr)\% Processor Time"]
perf_counter[\Process(sqlservr)\% Processor Time] [d|100.000000]
Follow my item settings on zabbix:
Description: SQL: % Processor Time
Type: Zabbix Agent
Key: perf_counter["\Process(sqlservr)\% Processor Time"]
Type of Information: Numeric (float)
Use Multiplier: Do not use
Store value: As is
I've posted this issue on forum and other person said he had a similar problem:
http://www.zabbix.com/forum/showthread.php?p=63412