2012-07-18 2 views
2

일부 Windows가 영어로 실행되고 다른 일부는 이탈리아어로 실행되는 서버가 혼합되어 있습니다.로캘에 독립적 인 방식으로 Windows 성능 카운터에 액세스하십시오.

로캘 별 문자열을 사용하지 않고 성능 카운터 값을 읽을 수있는 방법이 있습니까?

Zabbix documentation에서 \2\6과 같은 숫자 형식을 사용할 수 있어야하지만 Zabbix 나 Powershell에서는 나에게 적합하지 않습니다.

CPU 사용률 (\Processore(_Total)\% Tempo processore)을 모니터링하고 싶습니다.

모든 의견을 환영합니다.

답변

3

에 의해 쿼리하는 방법을 포함하여 전체 기능의 프로그램입니다 : 유일한 문제는 함께 모든 정보를 정기적으로 배치하는 것입니다. 다음 키에 대한 모든 오픈 regedit를 이동의

첫째 :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib 

당신은 (예를 들어, 009, 010, ...) 세 자리 숫자로 이름이 항목을 찾을 수 있습니다. 이 세 자리는 언어 ID입니다 : 009는 영어이고, 010은 이탈리아어입니다.

각 항목에는 카운터라는 키가 있습니다. 그것을 열어 (두 번 클릭) 텍스트 편집기에서 원하는 언어의 내용을 복사하십시오. 다음과 비슷한 것을 갖게됩니다 :

1 
1847 
2 
System 
4 
Memory 
6 
% Processor Time 
10 
File Read Operations/sec 
12 
File Write Operations/sec 
14 
File Control Operations/sec 
16 
... 

각 라벨 아래에 숫자가 있습니다 : 사용할 색인입니다. 예를 들어 % Processor Time의 인덱스는 10입니다.

복합 표현 (예 : \Processore(_Total)\% Tempo processore) 인 경우 \238(_Total)\6 (이탈리아 라벨을 사용함)을 사용해야합니다.

Zabbix에서 표현식이 지난 15 분 동안의 평균 CPU 사용률을 모니터링하는 데 사용할 수있다 :

perf_counter[\238(_Total)\6, 900] 

내가 모든 말했다 희망 : 뭔가가 있다면, 댓글을 명확 남겨주세요 없습니다 .

+0

실제로 테스트는 Windows 2008 R2에서 수행되었습니다. 불행히도 Windows 2003의 인스턴스가 없기 때문에 나는 당신을 도울 수 없습니다. 죄송합니다. – baronKarza

1

당신은 powershell이나 zabbix에 태그를 지정하지 않았으므로, C 언어로하는 방법에 대한 예제가 마음에 들지 않습니다. 목표가 있다면 PowerShell 안에서 사용할 수 있습니다.

일반적으로 (그리고 명시한대로) 색인별로 쿼리를 수행 할 수 있습니다. 그들은 MSDN에 매우 다양한 예제를

는, 실제로 해결책은 간단 지수 : MSDN:Retrieving Counter Data

+1

고맙습니다. 어리석은 Coz Im, 나는 zabbix를 태그하지 않았다 (적어도). query-by-index를 사용하는 방법에 대한 예제를 찾아야합니다. 그렇지 않으면 이해해야 할 C++ 코드를 분석해야합니다. – baronKarza