none
Windows Azure Diagnostics RRS feed

  • Pregunta

  • Hola:

     Tengo un problema al momento de escribir  los contadores de performance en  Windows Azure:

     He seguido los pasos  haciendo lo que indican para    poder escribir los contadores de rendimiento , pero no logro que  se escriban en la tabla WADPerformanceCountersTable.

    1)este el WebRole.cs:

    public

    classWebRole: RoleEntryPoint


        {

           

    publicoverrideboolOnStart()

            {

               

    varconfig = DiagnosticMonitor.GetDefaultInitialConfiguration();

               

    varcloudStorageAccount =

                   

    CloudStorageAccount.Parse(

                     

    RoleEnvironment.GetConfigurationSettingValue(

                     

    "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"));

               

    // Get the perf counters


                config.PerformanceCounters.ScheduledTransferPeriod =

    TimeSpan.FromMinutes(1);

               

    // Add the perf counters


                config.PerformanceCounters.DataSources.Add(

                   

    newPerformanceCounterConfiguration


                    {

                        CounterSpecifier =

    @"\Processor(_Total)\% Processor Time",

                        SampleRate =

    TimeSpan.FromSeconds(30)

                    });

               

    // Add the perf counters


                config.PerformanceCounters.DataSources.Add(

                   

    newPerformanceCounterConfiguration


                    {

                        CounterSpecifier =

    @"\Memory\Available Mbytes",

                        SampleRate =

    TimeSpan.FromSeconds(30)

                    });

               

    DiagnosticMonitordiagMonitor = DiagnosticMonitor.Start(cloudStorageAccount, config);

               

    returnbase.OnStart();

            }

        }

    Esta es miconfiguracion del web Role:

    <?

    xmlversion="1.0"encoding="utf-8"?>

    <

    ServiceConfigurationserviceName="BussinesService"xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"osFamily="1"osVersion="*">

      <

    Rolename="*********.Business">

        <

    Instancescount="1"/>

        <

    ConfigurationSettings>

          <

    Settingname="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"value="DefaultEndpointsProtocol=https;AccountName=*******;AccountKey=-*************************************/jqzVH0u09E9XUbXYFUMBhRuvE7XTzJ89tOuA7Ug=="/>

          <

    Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled"value="true"/>

          <

    Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername"value="BusinessService"/>

          <

    Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword"value="********************"/>

          <

    Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration"value="2013-03-21T23:59:59.0000000-03:00"/>

          <

    Settingname="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled"value="true"/>

        </

    ConfigurationSettings>

        <

    Certificates>

          <

    Certificatename="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption"thumbprint="0000000000000"thumbprintAlgorithm="sha1"/>

        </

    Certificates>

      </

    Role>

    </

    ServiceConfiguration>

    Lo que he hecho es agregar la clase WebRole despues de tener creado  el sitio web y hosteado en azure.

    He agregado la clase WebRole, he reconfigurado el web role con la ruta al StorageAccount y he republicado.

    Hay que hacer algun paso mas para que detecte que necesito  escribir los contadores de preformance?

    Una cosa mas , he probado la aplicacion local y  esta entrando correctamente  al WebRoleEntryPoint y esta exscribiendo (en debug local) en las tablas, pego un par de rejistros  para mostrar que  se esta escribiendo.

    0634734831000000000 deployment16(3)___Leaf.Server.Services.Business___deployment16(3).BussinesService.Leaf.Server.Services.Business_IN_0___0000000001038090241___WADPerformanceCountersLocalQuery 24/05/2012 19:06:41 634734831007400000 deployment16(3) Leaf.Server.Services.Business deployment16(3).BussinesService.Leaf.Server.Services.Business_IN_0 \Processor(_Total)\% Processor Time 12061574
    0634734831000000000

    deployment16(3)___Leaf.Server.Services.Business___deployment16(3).BussinesService.Leaf.Server.Services.Business_IN_0___0000000001038090244___WADPerformanceCountersLocalQuery

    24/05/2012 19:06:41 634734831307380000 deployment16(3) Leaf.Server.Services.Business deployment16(3).BussinesService.Leaf.Server.Services.Business_IN_0 \Memory\Available Mbytes 141

    Alguna ayuda con este tema?


    Jose Adrien

    jueves, 24 de mayo de 2012 19:48

Todas las respuestas

  • Buenos días Jose,

    lo primero de todo y para descartar..

    has comprobado que los datos del storage en cloud esten bien? apriori todo lo tienes ok..


    Quique Martínez MCP-MCTS-MCPD

    KEY SPECIALIST at pasiona

    Blog: http://www.programandonet.com

    Comunidad: SecondNug

    viernes, 25 de mayo de 2012 7:32
    Moderador
  • Hola:

     Si he comprobado que los datos de la cuenta estan correctos.

    Ademas agregue en el web.Config de  la aplicacion hosteada

    <

    system.diagnostics>

        <

    trace>

          <

    listeners>

            <

    addtype="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"name="AzureDiagnostics">

              <

    filtertype=""/>

    Republiqy

            </

    add>

          </

    listeners>

        </

    trace>

      </

    system.diagnostics>

    Republique el webRol pero sigue sin escribir en la tabla.

    Puede ser que la clase WebRol la agrege a mano en el sitio?. O sea cuando cree el sitio no agrege una clase webRol.cs  ahora ante la necesidad de  escribir los indicadores, agrege al proyecto una clase WebRole.cs  que hereda de RoleEntryPoint tal como esta puesta  mas arriba.

    Si ejecuto local funciona correctamente y escribe  en la tabla por lo que no creo que ese sea el problema.

    La referencia a Microsoft.Windows.AzureDiagnostics esta puesta con CopyLocal = true, la duda me queda si addtype="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"name="AzureDiagnostics">

    esta apuntando a la dll que se  crea en el bin, puede ser esto un problema?

    Saludos.


    Jose Adrien

    viernes, 25 de mayo de 2012 12:42