L.7.7 Optional: sonar-perfmon Exporter installieren
Damit Prometheus auch Windows Performance Counter abfragen und speichern kann, und Sie diese auf einem Grafana-Dashboard visualsieren können, können Sie auf dem SwyxWare System den sonar-perfmon Exporter installieren und konfigurieren. Dies umfasst auch die von SwyxWare via Performance-Monitor-API bereitgestellten Werte.
Wir empfehlen in Abweichung von der sonar-perfmon-Installationsanleitung (https://www.infragravity.com/knowledge-base/sonar-023-install-windows-host/) den sonar-perfmon Dienst nicht unter dem LOCALSYSTEM Konto laufen zu lassen, sondern ein Konto mit weniger Rechten zu verwenden.
Diese Anleitung gilt für sonar-perfmon 0.25:
1 Laden Sie sonar-perfmon herunter, entpacken Sie die ZIP-Datei auf der SwyxWare VM nach c:\sonar.
 
Wenn Sie einen anderen Pfad verwenden, passen Sie ihn in den folgenden Schritten entsprechend an.
 
2 Öffnen Sie eine PowerShell mit Administrator-Rechten.
3 Installieren Sie den Dienst:
sc.exe create sonard binpath= c:\sonar\out\Sonard.exe start= auto obj= "NT AUTHORITY\LocalService" depend= "WinRM"
4 Konfigurieren Sie eine Service-SID:
sc.exe sidtype sonard unrestricted
5 Geben Sie dem Dienst die notwendigen Zugriffsrechte auf dem Installationsverzeichnis:
icacls.exe C:\Sonar /grant "NT Service\sonard:(OI)(CI)(M)"
6 Fügen Sie das Dienstkonto zur lokalen Gruppe "Remote Management Users" hinzu, damit der Dienst die WMI Schnittstelle benutzen kann:
Add-LocalGroupMember -Group "Remote Management Users" -Member "nt service\sonard"
Auf älteren Windows-Systemen, auf denen „Add-LocalGroupMember“ nicht zur Verfügung steht, können Sie „net.exe“ benutzen:
net localgroup "Remote Management Users" "NT Service\sonard" /add
Der Gruppenname hängt von der Windows-Systemsprache ab. Passen Sie die Kommandozeile entsprechend an.
Auf einem deutschsprachigen Windows nutzen Sie in diesem Schritt den Gruppennamen "Remoteverwaltungsbenutzer" statt "Remote Management Users".
7 Passen Sie in der Datei „c:\sonar\out\sonard.dll.config“ den Pfad zur Konfiguration (Parameter „ConfigPath“) an.
Setzen Sie den Parameter auf „c:\Sonar\sonard.config“. Setzen Sie den „ExporterPort“, auf dem der Dienst die Daten bereitstellt, auf 5001.
 
Benutzen Sie nicht den Port 5000, da dieser schon vom HealthMonitor Dienst verwendet wird.
 
Die Konfigurationsdatei sollte so aussehen:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="Sonar" type="Infragravity.Sonar.SonarConfigurationSection, Sonar"/>
</configSections>
<appSettings>
<add key="ConfigPath" value="c:\Sonar\sonard.config"/>
<add key="RuntimeType" value="Service"/>
<add key="LogLevel" value="Information"/>
<add key="LogPath" value="c:\Sonar\sonar.log"/>
<add key="ExporterPort" value="5001"/>
<add key="ExporterCacheMilliseconds" value="60000"/>
<add key="ExporterEnabled" value="true"/>
</appSettings>
</configuration>
8 Geben Sie den Port, den Sie im vorherigen Schritt konfiguriert haben, in der Windows-Firewall frei:
netsh advfirewall firewall add rule name="sonard" dir=in action=allow protocol=TCP localport=5001 remoteip=<ip-monitoring>
Ersetzen Sie dabei <ip-monitoring> durch die IP-Adresse des Monitoring-Systems. Falls Sie die Erreichbarkeit der Prometheus-Schnittstelle nicht einschränken wollen, lassen Sie den „remote-ip“ Parameter weg.
9 Für ein deutschsprachiges Windows-System kopieren Sie die Datei „sonard.de.config“ aus dem Verzeichnis „Monitoring/sonar-perfmon“ nach „c:\sonar\sonard.config“.
10 Für ein englischsprachiges Windows-System kopieren Sie die Datei „sonard.en.config“ aus dem Verzeichnis „Monitoring/sonar-perfmon“ nach „c:\sonar\sonard.config“.
11 Starten Sie den sonar-perfmon Dienst:
start-service sonard
12 Rufen Sie in einem Webbrowser die Seite „http://localhost:5001/metrics“ auf.
*Sie sollten eine Textausgabe mit allen Metriken sehen, die in „sonard.config“ konfiguriert sind.