2010-08-06 2 views
0

Я катаюсь на своей простой простой веб-платформе, я не доволен некоторыми данными, которые я могу получить как использование процессора, которое я использую через sql-запрос. Я могу использовать память просто отлично ... Я приложу скриншот, чтобы вы могли видеть, что у меня есть на моей главной странице/домашней странице/панели.Я хочу использовать WMI или Java в ColdFusion для Windows, чтобы получить данные о производительности.

В настоящее время я использую webcharts3d, который мне нравится, когда я могу использовать ajax, обновлять диаграмму, и у меня динамически обновляется панель мониторинга. Да, конечно, мне нужно получить только несколько счетчиков производительности, поэтому в своем желании иметь сетевую панель управления производительности я не убиваю сервер.

DECLARE @CPU_BUSY int, @IDLE int 
SELECT @CPU_BUSY = @@CPU_BUSY, @IDLE = @@IDLE WAITFOR DELAY '000:00:01' 
SELECT (@@CPU_BUSY - @CPU_BUSY)/((@@IDLE - @IDLE + @@CPU_BUSY - @CPU_BUSY) *1.00) *100 AS 'CPU' 

И все я получаю в результатах 0,0000, так как запрос не так, или у меня есть очень мало активности процессора происходит. Где, как при использовании моего диспетчера задач Windows.

Вот код для сбора памяти, которую я использую, я не претендую на кредит по любому из этого кода, я нашел его где-то.

<cfscript> 
     jRuntime = CreateObject("java","java.lang.Runtime").getRuntime(); 
     memory = StructNew(); 
     memory.freeAllocated = jRuntime.freeMemory()/1024^2; 
     memory.allocated = jRuntime.totalMemory()/1024^2; 
     memory.used = memory.allocated - memory.freeAllocated; 
     memory.percentUsedAllo = (memory.used/memory.allocated) * 100; 
</cfscript> 

SysAdmin http://a.imageshack.us/img826/2575/sysadminscreenshot.png

Так что я ищу для более или Java WMI или сценариев, чтобы получить использование центрального процессора, и, возможно, любой другой важный стат сервера.

+0

У кого-нибудь есть какие-либо примеры wmi, которые работают в coldfusion? Возможно, я смогу настроить разные данные? – crosenblum

ответ

1

Как насчет использования встроенной функции Coldfusion, называемой GetMetricData. Он может помочь вам контролировать производительность вашего сервера, например, Coldfusion Admin. Я сделал это с баром cfchart. Если вы хотите интегрироваться с Web3Dcharts, вы можете.

http://ppshein.wordpress.com/2010/08/04/getmetricdata-for-server-monitor/

<cfset pmData = GetMetricData(“PERF_MONITOR”) > 
<cfchart chartheight=”500″ chartwidth=”700″ format=”PNG” showlegend=”yes”> 
    <cfchartseries type=”bar” seriescolor=”##639526″ paintstyle=”light” colorlist=”##ff8080,##ffff80,##80ff80,##0080ff,##ff80c0,##ff80ff,##ff8040,##008000,##0080c0,##808000″> 
     <cfchartdata item=”Page Hits” value=”#pmData.PageHits#”> 
     <cfchartdata item=”Request Queued” value=”#pmData.ReqQueued#”> 
     <cfchartdata item=”Database Hits” value=”#pmData.DBHits#”> 
     <cfchartdata item=”Request Running” value=”#pmData.ReqRunning#”> 
     <cfchartdata item=”Request TimedOut” value=”#pmData.ReqTimedOut#”> 
     <cfchartdata item=”Bytes In” value=”#pmData.BytesIn#”> 
     <cfchartdata item=”Bytes Out” value=”#pmData.BytesOut#”> 
     <cfchartdata item=”Avg Queue Time” value=”#pmData.AvgQueueTime#”> 
     <cfchartdata item=”Avg Request Time” value=”#pmData.AvgReqTime#”> 
     <cfchartdata item=”Avg Database Time” value=”#pmData.AvgDBTime#”> 
    </cfchartseries> 
</cfchart> 
+0

У меня уже есть эта информация, мне нужно использовать cpu, и чтобы получить, что я должен получить ее через wmi или java. – crosenblum

+0

Будьте осторожны с использованием GetMetricData(), он не работает на предприятии CF при установке в многосерверном режиме. –

0

Было бы даже лучше, если бы вы могли пойти дальше и поговорить с Dave Boyet о объединении двух ваших инструментов - или, по крайней мере, сотрудничать с общими битами.


Чтобы более точно ответить на ваш вопрос, вот blog article explaining how to use WMI from ColdFusion.

+0

cftracker использует java, чтобы получить больше информации о java-ориентире, которую мои конечные пользователи не понимают по-настоящему, поэтому я нацелен на простые аппаратные измерения, которые с первого взгляда могут определить, есть ли проблемы. Спасибо, хотя. – crosenblum

+0

Если ваши пользователи являются администраторами системы, они должны действительно понимать материал Java, а также обычный материал, но в любом случае вы, возможно, просто пропустили мое редактирование? Я только что добавил ссылку на решение WMI, которое также должно дать вам «простой» материал? –

+0

Я смотрел там последние 2 дня. Я пробовал и пытался, но не смог заставить этот скрипт работать. Мои пользователи не являются sysadmin, мои конечные пользователи - программист, а мой босс, бывший администратор сети. – crosenblum

1

Другое решение:

Затем, используя Монитор надежности и производительности (т.е. системного монитора), создать счетчик для CPU (Total) - это должно быть в длинном списке счетчиков для Windows ,

Вы можете сохранить эти данные в файле или в базе данных. Если вы сохраните его в базе данных, вы можете использовать CF для запроса этих данных и получения довольно точной информации о производительности. Разумеется, вы можете отображать это на графике со временем, что, по моему мнению, является огромной выгодой.

Если у вас есть это, вы можете включить мониторинг производительности в CF-администрировании, и тогда у вас будут показатели эффективности CF, которые можно получить в perfmon.

Мы успешно реализовали это решение на кластере CF из 10 + машин, и оно дает отличную идею о производительности сервера в данный момент времени и исторически.

+0

Обратите внимание, что perfmon не работает для корпоративных установок afaik – Antony

+0

Мы используем его для Enterprise CF прямо сейчас. –

Смежные вопросы