help Hochverfügbarkeitslösung für SwyxWareMonitoring mit Grafana und Prometheus › Optional: sonar-perfmon Exporter installieren
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.
Zuletzt geändert am: 14.08.2020