Blob Storage almacena conjuntos de datos binarios. Blob Storage ofrece las siguientes tres Windows Azure Diagnostics le permite recopilar datos de diagnóstico de un servicio en ejecución en Windows Azure. Puede utilizarse para tareas como la depuración y resolución de problemas, la medición del rendimiento, la supervisión del uso de recursos, el análisis de tráfico, la planificación de la capacidad y la auditoría. Una vez recopilados, los datos de diagnóstico pueden transferirse a una cuenta de almacenamiento de Windows Azure para su persistencia. Las transferencias pueden programarse o realizarse bajo demanda.
Puede configurar Windows Azure Diagnostics desde código en ejecución dentro de un rol. También puede configurarlo de forma remota desde una aplicación en ejecución fuera de Windows Azure; por ejemplo, puede administrar Windows Azure Diagnostics desde un panel de control personalizado que se ejecute localmente. Al administrar Windows Azure Diagnostics de forma remota, puede iniciar su servicio con una configuración de diagnóstico inicial, y luego ajustar esa configuración desde código en ejecución fuera de su servicio, sin tener que actualizar su servicio.
Se puede encontrar más información sobre qué registros, contadores de rendimiento, volcados de fallos, ... se pueden supervisar en la página web correspondiente de MSDN.
Nota: Los diagnósticos se configuran por rol. Esto significa que cada rol debe configurarse por separado. Especificar instrucciones de diagnóstico para una instancia de rol no implica que esta configuración se cargue en otras instancias de rol.
Nota: Los diagnósticos se configuran por rol. Esto significa que cada La API de Diagnostics en el SDK de Windows Azure para PHP solo puede utilizarse cuando el DiagnosticsMonitor se ha iniciado durante el arranque del rol. Actualmente, esto solo se admite cuando una aplicación se empaqueta con las herramientas de línea de comandos de Windows Azure para desarrolladores de PHP.
Este apartado enumera algunos ejemplos de uso de la clase
Zend_Service_WindowsAzure_Diagnostics_Manager. Otras funciones están
disponibles en el paquete de descarga, así como documentación detallada de la API de esas
funciones.
Con el siguiente código, puede comprobar si existe una configuración de diagnóstico para la instancia de rol actual.
Ejemplo 64.162. Comprobar si existe una configuración de diagnóstico para la instancia de rol actual
/** Zend_Service_WindowsAzure_Storage_Blob */ require_once 'Zend/Service/WindowsAzure/Storage/Blob.php'; /** Zend_Service_WindowsAzure_Diagnostics_Manager */ require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php'; $storageClient = new Zend_Service_WindowsAzure_Storage_Blob(); $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient); $configurationExists = $manager->configurationForCurrentRoleInstanceExists(); echo 'The configuration ' . ($configurationExists ? 'exists' : 'does not exist';
Con el siguiente código, puede cargar la configuración de diagnóstico de la instancia de rol actual.
Ejemplo 64.163. Cargar la configuración de diagnóstico de la instancia de rol actual
/** Zend_Service_WindowsAzure_Storage_Blob */ require_once 'Zend/Service/WindowsAzure/Storage/Blob.php'; /** Zend_Service_WindowsAzure_Diagnostics_Manager */ require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php'; $storageClient = new Zend_Service_WindowsAzure_Storage_Blob(); $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient); $configuration = $manager->getConfigurationForCurrentRoleInstance();
Con el siguiente código, puede almacenar la configuración de diagnóstico de la instancia de rol actual.
Ejemplo 64.164. Almacenar la configuración de diagnóstico de la instancia de rol actual
/** Zend_Service_WindowsAzure_Storage_Blob */ require_once 'Zend/Service/WindowsAzure/Storage/Blob.php'; /** Zend_Service_WindowsAzure_Diagnostics_Manager */ require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php'; $storageClient = new Zend_Service_WindowsAzure_Storage_Blob(); $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient); $configuration = // ...; $manager->setConfigurationForCurrentRoleInstance($configuration);
Con el siguiente código, puede suscribirse a un contador de rendimiento.
Ejemplo 64.165. Suscribirse a un contador de rendimiento
/** Zend_Service_WindowsAzure_Storage_Blob */
require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
/** Zend_Service_WindowsAzure_Diagnostics_Manager */
require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
$storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
$manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
$configuration = $manager->getConfigurationForCurrentRoleInstance();
// Subscribe to \Processor(*)\% Processor Time
$configuration->DataSources->PerformanceCounters->addSubscription('\Processor(*)\% Processor Time', 1);
$manager->setConfigurationForCurrentRoleInstance($configuration);
El id de la instancia de rol actual se define en la variable de servidor RdRoleId. Solo estará disponible cuando la aplicación se ejecute en Development Fabric o en Windows Azure Fabric.
Ejemplo 64.166. Obtener el id de la instancia de rol actual
echo 'The role instance id is ' . $_SERVER['RdRoleId'];