Exchange Überwachungspraxis - Performance Counter
Exchange bindet durch die Installation sehr viele Performance Counter in das System ein, welche nicht zur zur Suche im Fehlerfall, sondern auch zur Messung der aktuellen Leistung geeignet sind. Übrigens können diese Counter auch per SNMP abgefragt werden.
- Monitoring Without System Center Operations Manager
http://technet.microsoft.com/en-us/exchange/bb201720.aspx - Windows-Verwaltung Fühlen Sie den Puls Ihres Servers
http://technet.microsoft.com/de-de/magazine/cc718984.aspx
Siehe dazu auch MSXFAQ.DE:PS Perfmon
Perfmon
Der Windows Performance Monitor ist das optimale Tool zur Überwachung des Servers. Er kann sowohl in Echtzeit die verschiedenen Parameter anzeigen, Sie bei Überschreitungen von Grenzwerten warnen und sogar langfristig Daten protokollieren. Mit Windows NT 4.0 muss er dazu aber interaktiv laufen oder mit Hilfsmitteln aus dem Ressource Kit (MONITOR.EXE) als Dienst eingerichtet werden. Bei Windows 200x ist PERFMON automatisch ein Dienst.
Nur ehe wir müssen, müssen wir wissen, welche Werte sinnvoll zu betrachten sind. Hier ist zu unterscheiden zwischen Alarmgrenzen und Trendwerten. Die individuellen Grenzen müssen natürlich je Server bestimmt werden.
Alarmgrenzen
Es gibt Grenzen, die ein Server nicht erreichen sollte, bzw. Uns sagen, das aktuell oder sehr bald etwas nicht mehr wie erwartet funktioniert. Diese sollten z.B.: mit der Alarmfunktion des Performance Monitors überwacht werden. Diese Überwachung sollte Zeitnah (z.B. alle Minute) erfolgen.
Trendwerte
Zudem sollten bestimmte Werte z.B. mehrfach täglich aufgezeichnet werden, um über die Laufzeit eine Entwicklung erkennen zu können. Damit diese Datenmenge ihren Server nicht auffüllt, sollten sie hier nur mit Bedacht Werte aufnehmen und den freien Platz der Festplatte mit überwachen.
Trendwerte können geschickt eingesetzt ihnen eine Planungssicherheit geben, wenn es um den Ausbau des Servers geht.
Parameter
Hier finden Sie eine kurze Liste der interessanten Werte, die für eine erste Beobachtung in Frage kommen. Natürlich können Sie für sich selbst Schwerpunkte setzen.
Wert | Beschreibung |
---|---|
CPU-Belastung % |
Alarm, wenn mehrfach bei 100 % |
Pagefile Nutzung % |
Alarm, wenn über 70% |
Freie Plattenkapazität |
Alarm, wenn unter xx MByte je Platte individuell |
Pages/Sek |
Alarm bei überschreiten eines Grenze |
Disktime in % |
Alarm wenn über 80 % |
Interrupts/s |
Alarm bei Überschreitung |
Netzwerkpakete /s |
Alarm bei Überschreitung |
Freier Speicher |
Alarm wenn unter 4 Megabyte !!! |
MSexchangeIS RPC Calls/Sek |
Ein guter Counter über die Aktivität der Clients. Hohe werde sind nicht unbedingt schlecht, sondern sagen nur dass der Server etwas zu tun hat |
MSExchangeIS RPC Requests |
Exchange akzeptiert per Default maximal 100 RPC Requests (fest codiert). Wenn der Wert an diese Grenze stößt, stocken die Clients und der Server ist zu langsam |
Exchange Queues |
Alarm bei Überschreitung einer bestimmten Länge |
Exchange Store Messages/Sek |
Alarm bei Überschreitung |
Ob der Server wirklich "busy" ist, sagen nur die Performancecounter. Auch ein Server mit 512 MB RAM und 700 MB "in Benutzung" ist nicht automatisch am auslagern.
Es ist natürlich eine gute Idee, die Aufnahme der Wert und die Überwachung der Server nicht auf dem Server selbst durchzuführen, sondern auf einer eigens dafür abgestellten Maschine laufen zu lassen. Die zentrale Kontrolle und Konfiguration wie auch der Zugriff auf historische Daten, wenn der Server eben nicht mehr online ist, können Hilfsmittel für weitere Entscheidungen sein.
Eine ausgefeilte Überwachung ist wenig interessant für kleine Firmen oder Teilzeitadministratoren, da der Aufwand für Planung, Implementation und Betrieb eher in Tagen zu müssen ist. Wenn SNMP interessant wird, dann ist Überwachung und Betrieb sowieso ein Thema. Auch die Kosten für eine "richtige" Managementsoftware ist meist fünfstellig und schon daher kein Setup, welches einmal aufzurufen ist. sondern das gesamte Thema bedeutet einen permanent mit einzuplanenden Zeitaufwand. Die Ergebnisse sind aber nicht nur interessant, sondern erlauben erst eine Sicherstellung einer bestimmten Verfügbarkeit.
Perfmon Intern
Das Performance Counter System von Windows ist manchmal ein sehr empfindliches System, da es durch Drittprodukte natürlich erweitert werden kann. Wenn Sie z.B. Exchange installieren, dann fügt das Setup entsprechende Erweiterungen in das Betriebssystem ein. Und das passiert an mehreren Stellen
- c:\WINDOWS\system32\perfc*.dat (meist 007 oder 009)
Datenbank, welche die Liste der Counter selbst enthält - c:\WINDOWS\system32\perfd*.dat (meist 007 oder 009)
Enthält die dazu gehörige Beschreibung zu den Countern - Registry
In der Registrierung ist nun je Dienst ebenfalls ein Verweis zu den Performance Countern und den Einträgen in den Datenbanken
Fatalerweise müssen diese Einträge auch sauber übereinstimmen und sind nicht auf allen Systemen identisch. Ergänzt eine neue Software eigene Counter, so muss Sie dazu die Counter und Hilfebeschreibungen in die Datenbank eintragen und die Verweise darauf in der Registrierung. Hierbei helfen die Programme "LODCTR.EXE" und "UNLODCTR.EXE", die anhand entsprechender INI-Dateien gesteuert werden, die vom Hersteller mitgeliefert werden. Suchen Sie auf einem Exchange Server einfach mal nach der Datei c:\WINDOWS\system32\esentprf.ini. Sie wird in etwa wie folgt aussehen:
Anhand dieser Informationen modifizieren LODCTR und UNLODCTR entsprechende Einträge in der Registrierung. Die Übersicht der installierten Performance Counter mit den Verweisen auf die Datenbank steht unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Hier gibt es die Einträge "Counter" und "Help" welche die einzelnen Counter samt ihrem Index enthalten:
Eine Anzeige ist sehr einfach mit dem Programm EXCTRLST.EXE (exctrlst.exe Extensible Counter list http://www.Microsoft.com/windows2000/techinfo/reskit/tools/existing/exctrlst-o.asp) möglich.
Sie sehen also, dass auch in den Tiefen von Windows einige Einträge stimmen müssen, damit die Performance Counter auch sauber funktionieren. Die Nummern müssen zudem nicht lückenlos sein.
Counter "reparieren"
Wenn Sie daher beim Start von PERFMON im Eventlog die Meldungen bekommen, dass einige Performance Counter nicht gefunden werden konnten, dann liegt es meist immer hier vergraben. Oftmals hilft dann die Deregistrierung und erneute Registrierung der Counter oder eine Suche nach "LODCTR" in der TechNet und Knowledgebase.
- Informationen, wo in der Registrierung die aktuellen höchsten
Perfmoncounter stehen
http://msdn.Microsoft.com/library/en-us/perfmon/base/removing_counter_names_and_descriptions_from_the_registry.asp - Nutzung von UNLODCTR
http://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/unlodctr.mspx - Informationen zur Counter Collection
http://msdn.Microsoft.com/library/en-us/perfmon/base/counters.asp - 300956 How to manually rebuild Performance Counter Library values
Mit dem Befehl LODCTR können Sie auch die Performance Counter neu aufbauen lassen. Starten Sie dazu den Dienst der Leistungsüberwachung und dann den Befehl "LODCTR /r" ein einer Shell:
Genau genommen muss man das für 32 und 64bit in einer Admin-CMD ausführen:
Rem Counter aus dem Backup wieder herstellen C:\Windows\system32\lodctr.exe /R C:\Windows\SysWOW64\lodctr.exe /R Rem Resync der Performance Counter C:\Windows\System32\wbem\winmgmt.exe /RESYNCPERF C:\Windows\SysWOW64\wbem\winmgmt.exe /RESYNCPERF
Besonders häufig scheint es auf Servern Probleme mit "BITS" und "WmiApRpl" zu geben.
- Werte manuell wiederherstellen
https://support.microsoft.com/de-de/help/300956/how-to-manually-rebuild-performance-counter-library-values - Windows Leistungsüberwachung reparieren
https://www.borncity.com/blog/2011/06/01/windows-leistungsberwachung-reparieren/ - The Open Procedure for service XXX in
DLL "C:WindowsSystem32XXX.dll" failed.
Performance data for this service will not
be available
https://www.admin-enclave.com/en/articles/windows/306-resolved-the-open-procedure-for-service-bits-in-dll-c-windows-system32-bitsperf-dll-failed-performance-data-for-this-service-will-not-be-available-the-first-four-bytes-dword-of-the-data-section-contains-the-error-code.html - Solving WmiApRpl and BITS errors with SharePoint 2013 on Windows Server 2012
https://weblogs.asp.net/wesleybakker/Solving-WmiApRpl-and-BITS-errors-with-SharePoint-2013-on-Windows-Server-2012
Performance Counter und WMI
Windows Performance Counter können auch per WMI abgefragt werden.
Performance Counters can be consumed through WMI's COM and scripting interfaces. WMI also has support für instrumenting performance counters (by writing a WMI High Performance provider). Performance counters exposed by high performance providers can be seen in Perfmon by running "Perfmon /wmi". In Windows XP and later, these counters appear in Perfmon by default.
Ich selbst nutze WMI in Skripten, um z.B. mit QStatus die Warteschlangen abzufragen. Auch der Zugriff per "Permon /WMI" hat mir schon mehrfach geholfen, wenn die normalen Wege zum Counter durch eine fehlerhafte Drittsoftware kaputt gemacht wurden.
- Windows Management Instrumentation FAQ
http://www.microsoft.com/technet/community/en-us/management/wmi_faq.mspx
Performance Counter und PowerShell
Mit der PowerShell ist es sehr einfach, Performance Counter auszulesen und sogar eigene Counter anzulegen. Siehe auch PowerShell Beispiele
Performance Counter und SNMP
Leider kann man nicht alle Performance Counter direkt per SNMP abfragen. Dazu sind sogenannte Extension Agents erforderlich, die Microsoft nicht für alle Produkte mitliefert. Aber Dritthersteller sind hier natürlich sofort zur Stelle, um entsprechende Agenten nachzuliefern. Auf SNMP Intern finden Sie Links und Beschreibungen zu solchen Produkten.
- SNMP Intern
- SNMP mit Windows
- http://sourceforge.net/projects/getperfmon
- http://forums.cacti.net/about27929.html
Perfmon-Aufzeichnung konvertieren
Vielen unbekannt ist das Programm RELOG", welches bei Windows zum Standard Lieferumfang gehört. PERFMON kann ja Performance Counter in eine Binärdatei aufzeichnen, welche dann wieder mit Permon geöffnet und ausgewertet werden kann. Was machen Sie aber, wenn PERFMON ihnen nicht zur Auswertung reicht ?
Dann ist RELOG ihr Freund, denn RELOG liest die Binärdateien und kann dies als CSV oder TXT-Datei wieder abspeichern. RELOG kann die Daten aber auch über eine ODBC-Verbindung in eine beliebige von Windows ansprechbare Datenbank schreiben, z.B. den SQL-Server. Damit stehen ihnen nun weitere Auswertehilfsmittel zur Verfügung, z.B. SQL Reporting Services. Siehe auch SQL-Server
Das ist natürlich alles kein Ersatz für ein echtes permanentes Überwachung mit langfristigen Daten, Konsolidierung von Daten und Alarmierung bei Grenzwertüberschreitung, wie dies z.B. MOM2005 liefern kann.
Weitere Links
- Überwachung von Exchange
-
WMI
Auch Perfmon kann per WMI die Daten auslesen. Einfach mit "perfmon /WMI" starten - Exchange 2007 Monitoring Common Counters
http://technet.microsoft.com/en-us/library/cc671175(EXCHG.80).aspx - deutscher TechNet Artikel zu Perfmon
http://www.Microsoft.com/germany/technet/datenbank/articles/600515.mspx - MOM2005 Microsoft Operation Manager 2005
- Perf How to Enable Extended ESE Performance Counters
http://www.Microsoft.com/technet/prodtechnol/exchange/guides/StoragePerformance/0e24eb22-fbd5-4536-9cb4-2bd8e98806e7.mspx?mfr=true
Anzeige der Laufwerke im ESE-Performance, z.B.: beim Einsatz von NAS
HKLM\SYSTEM\CurrentControlSet\Services\ESE\Performance\Show Advanced Counters: DWORD = 1
- Zu den "Advanced Performance Countern" gibt es aber noch eine witzige
Story
"From crush to product documentation: The story of Squeaky Lobster"
http://blogs.technet.com/b/exchange/archive/2006/06/15/427966.aspx - Windows-Verwaltung Fühlen Sie den Puls Ihres Servers
http://technet.microsoft.com/de-de/magazine/cc718984.aspx - Performance Monitor Wizard
http://www.Microsoft.com/downloads/details.aspx?FamilyID=31fccd98-c3a1-4644-9622-faa046d69214&DisplayLang=en - Server Performance Advisor
http://www.Microsoft.com/downloads/details.aspx?familyid=61A41D78-E4AA-47B9-901B-CF85DA075A73&displaylang=en - Exchange Insider: Windows Server 2003 System Monitor Tips für Exchange
Server Administrators
http://www.Microsoft.com/technet/prodtechnol/exchange/2003/insider/w2k3_sysmon.mspx - 146004 SNMP Counter Values Are unreliable in SMP Computers
- 156494 XADM: Restoring Lost Performance Counters für Exchange
- 182502 XADM: Changes Made to Performance Monitor in Exchange 5.5
- 192742 XADM: PerfMon Counters unavailable After Applying 5.5 SP1
- 231734 XCON: Performance Monitor Counters für Message Categorizer
- 296073 XADM: Monitoring für Exchange 2000 Memory Fragmentation
- 317411 XADM: How to Gather Data to Troubleshoot Exchange Virtual Memory Issues
- 300956 How to Manually Rebuild Performance Counter Library Values
- 832951 "Avg Recipients/msg Sent" SMTP Server performance counter is incorrect in Exchange 2000 Server
-
http://www.exchangeadmin.com/Articles/Index.cfm?ArticleID=7696
Tipp wie man per Perfmon die Warteschlangen überwacht und notfalls den IMC herunter fährt. - Troubleshooting Exchange 2000 Performance
http://www.Microsoft.com/downloads/release.asp?releaseid=43346
Troubleshooting Exchange 2000 Performance.exe - 1,111 Kb
http://download.Microsoft.com/download/exchplatinumbeta/
Books/1.0/W982KMeXP/EN-US/
troubleshooting%20exchange%202000%20performance.exe - Perfmon API
http://msdn.Microsoft.com/library/psdk/pdh/perfdata_4o9x.htm - Fujitsu Siemens Sizing White Papers
http://vilpublic.fujitsu-siemens.com/vil/pc/vil/primergy/performance/sizing/ sg_exchange-server_d.doc und http://www.fujitsu-siemens.de/rl/produkte/primergy/benchmarks.html