Zend_Service_WindowsAzure_Manager.xml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 22773 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.service.windowsazure.diagnostics.manager">
  5. <title>Zend_Service_WindowsAzure_Diagnostics_Manager</title>
  6. <para>
  7. Der Blob Speicher speicher ein Set von Binären Daten. Der Blob Speicher bietet die folgenden
  8. drei Windows Azure Diagnostiken und erlaubt es diagnostische Daten von einem Service zu
  9. sammeln welches in Windows Azure läuft. Dies kann für Aufgaben verwendet werden, wie
  10. Debugging und Fehlersuche, Geschwindigkeitsmessung, Monotoring der Ressourcen Verwendung,
  11. Verkehrsanalysen, Kapazitätsplanung und Bekanntgabe. Sobald die diagnostischen Daten
  12. gesammelt wurden können Sie zu einem Windows Azure Speicheraccount geschickt werden um
  13. persistent zu bleiben. Die Übermittlung kann entweder zeitgesteuert oder auf Wunsch
  14. passieren.
  15. </para>
  16. <para>
  17. Man kann die Windows Azure Diagnose vom Code aus konfigurieren welcher in einer Rolle läuft.
  18. Man kann Sie auch von der Ferne, über eine Anwendung welche außerhalb von Windows Azure
  19. läuft, konfigurieren. Durch das entfernte Managen der Windows Azure Diagnose kann man seinen
  20. Service mit einer initialen Diagnose Konfiguration starten, und dann diese Konfiguration vom
  21. Code aus verbessern welche außerhalb des Services läuft, ohne das der Service hochgerüstet
  22. werden muss.
  23. </para>
  24. <para>
  25. Mehr Informationen darüber welche Logs, Geschwindigkeits Messungen, Crash Dumps, ...
  26. gemonitort werden können, können auf der <ulink
  27. url="http://msdn.microsoft.com/en-us/library/ee758705(v=MSDN.10).aspx">entsprechenden
  28. MSDN Webseite</ulink> gefunden werden.
  29. </para>
  30. <para>
  31. Beachte: Diagnosen werden auf einer pro-Rollen Basis konfiguriert. Dies bedeutet dass jede
  32. Rolle separat konfiguriert werden sollte. Die Spezifikation der Diagnose Anleitungen für
  33. eine Rollen Instanz impliziert nicht das diese Konfiguration auf anderen Rollen Instanzen
  34. geladen wird.
  35. </para>
  36. <para>
  37. Die Diagnose API für die Windows Azure SDK für PHP kann nur verwendet werden wenn der
  38. DiagnosticMonitor während des Starts der Rolle gestartet wurde. Aktuell wird dies nur
  39. Unterstützt wenn eine Anwendung mit dem Windows Azure Command-Line Tools für PHP Entwickler
  40. gepackt wurde.
  41. </para>
  42. <sect2 id="zend.service.windowsazure.diagnostics.manager.api">
  43. <title>API Beispiele</title>
  44. <para>
  45. Diese Überschrift zeigt einige Beispiele der Verwendung der
  46. <classname>Zend_Service_WindowsAzure_Diagnostics_Manager</classname> Klasse. Andere
  47. Features sind auch im Download Paket vorhanden, sowie eine detailierte API
  48. Dokumentation dieser Features.
  49. </para>
  50. <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-exists">
  51. <title>
  52. Prüfen ob eine Diagnose-Konfiguration für die aktuelle Rollen Instanz existiert
  53. </title>
  54. <para>
  55. Durch Verwendung des folgenden Codes kann man prüfen ob eine Diagnose Konfiguration
  56. für die aktuelle Rollen Instanz existiert.
  57. </para>
  58. <example id="zend.service.windowsazure.diagnostics.manager.api.config-exists.example">
  59. <title>
  60. Prüfen ob eine Diagnose Konfiguration für die aktuelle Rollen Instanz exisztiert
  61. </title>
  62. <programlisting language="php"><![CDATA[
  63. /** Zend_Service_WindowsAzure_Storage_Blob */
  64. require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
  65. /** Zend_Service_WindowsAzure_Diagnostics_Manager */
  66. require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
  67. $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
  68. $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
  69. $configurationExists = $manager->configurationForCurrentRoleInstanceExists();
  70. echo 'Die Konfiguration ' . ($configurationExists ? 'existiert' : 'existiert nicht';
  71. ]]></programlisting>
  72. </example>
  73. </sect3>
  74. <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-load">
  75. <title>Laden der Diagnose Konfiguration für die aktuelle Rollen Instanz</title>
  76. <para>
  77. Durch Verwendung des folgenden Codes kann man die Diagnose Konfiguration der
  78. aktuellen Rollen Instanz laden.
  79. </para>
  80. <example id="zend.service.windowsazure.diagnostics.manager.api.config-load.example">
  81. <title>Laden der Diagnose Konfiguration der aktuellen Rollen Instanz</title>
  82. <programlisting language="php"><![CDATA[
  83. /** Zend_Service_WindowsAzure_Storage_Blob */
  84. require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
  85. /** Zend_Service_WindowsAzure_Diagnostics_Manager */
  86. require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
  87. $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
  88. $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
  89. $configuration = $manager->getConfigurationForCurrentRoleInstance();
  90. ]]></programlisting>
  91. </example>
  92. </sect3>
  93. <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-store">
  94. <title>Speichern der Diagnose Konfiguration der aktuellen Rollen Instanz</title>
  95. <para>
  96. Durch Verwendung des folgenden Codes kann man die Diagnose Konfiguration der
  97. aktuellen Rollen Instanz speichern.
  98. </para>
  99. <example id="zend.service.windowsazure.diagnostics.manager.api.config-store.example">
  100. <title>Speichern der Diagnose Konfiguration der aktuellen Rollen Instanz</title>
  101. <programlisting language="php"><![CDATA[
  102. /** Zend_Service_WindowsAzure_Storage_Blob */
  103. require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
  104. /** Zend_Service_WindowsAzure_Diagnostics_Manager */
  105. require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
  106. $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
  107. $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
  108. $configuration = // ...;
  109. $manager->setConfigurationForCurrentRoleInstance($configuration);
  110. ]]></programlisting>
  111. </example>
  112. </sect3>
  113. <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-perf">
  114. <title>Einschreiben für einen Geschwindigkeits Zähler</title>
  115. <para>
  116. Durch Verwendung des folgenden Codes kann man sich für einen Geschwindigkeits
  117. Zähler einschreiben.
  118. </para>
  119. <example id="zend.service.windowsazure.diagnostics.manager.api.config-perf.example">
  120. <title>Einschreiben für einen Geschwindigkeits Zähler</title>
  121. <programlisting language="php"><![CDATA[
  122. /** Zend_Service_WindowsAzure_Storage_Blob */
  123. require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
  124. /** Zend_Service_WindowsAzure_Diagnostics_Manager */
  125. require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
  126. $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
  127. $manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
  128. $configuration = $manager->getConfigurationForCurrentRoleInstance();
  129. // Einschreiben für die \Processor(*)\% Prozessor Zeit
  130. $configuration->DataSources->PerformanceCounters->addSubscription('\Processor(*)\% Processor Time', 1);
  131. $manager->setConfigurationForCurrentRoleInstance($configuration);
  132. ]]></programlisting>
  133. </example>
  134. </sect3>
  135. <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-roleid">
  136. <title>Die Id der Rollen Instanz erhalten</title>
  137. <para>
  138. Die Id der aktuellen Rollen Instanz ist in der Server Variable RdRoleId definiert.
  139. Sie ist nur vorhanden wenn die Anwendung in der Entwickler Fabrik oder der Windows
  140. Azure Fabrik läuft.
  141. </para>
  142. <example id="zend.service.windowsazure.diagnostics.manager.api.config-roleid.example">
  143. <title>Erhalten der Id der aktuellen Rollen Instanz</title>
  144. <programlisting language="php"><![CDATA[
  145. echo 'Die Id der Rollen Instanz ist ' . $_SERVER['RdRoleId'];
  146. ]]></programlisting>
  147. </example>
  148. </sect3>
  149. </sect2>
  150. </sect1>