> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/de/plattform/monitoring.md).

# Überwachung

Überwachen Sie PowerShell Universal mit Azure Application Insights und Windows-Leistungsindikatoren und prüfen Sie aktive Prozesse und Benutzersitzungen in der Konsole.

PowerShell Universal integriert sich automatisch mit Microsoft Application Insights, um Überwachung und Benachrichtigungen für Ihr System bereitzustellen. Es stellt außerdem Leistungsindikatoren für verschiedene Funktionen in der Umgebung bereit.

## Application Insights

### Application Insights konfigurieren

Im Azure Portal müssen Sie eine neue Application Insights-Ressource erstellen. Sobald sie erstellt wurde, müssen Sie die Verbindungszeichenfolge kopieren.

Fügen Sie anschließend Ihre Verbindungszeichenfolge in die [Einstellungsdatei ](/powershell-universal/de/config/settings.md)für PowerShell Universal ein. Starten Sie zum Schluss den PowerShell Universal-Server neu. Die Anwendungsüberwachung ist nun aktiviert.

```json
  "ApplicationInsights": {
    "ConnectionString": "InstrumentationKey=73b84b67-6fc9-4c37-9f54-000000000000"
  },
```

Wenn Sie PowerShell Universal in Azure ausführen, können Sie auch eine neue Application Setting erstellen. Klicken Sie in Ihrer Web-App auf Configuration und dann auf New application setting.

Der Name sollte lauten:

```
APPLICATIONINSIGHTS__CONNECTIONSTRING
```

Der Wert sollte die Verbindungszeichenfolge sein. Starten Sie Ihre Web-App neu, um mit dem Erfassen von Metriken zu beginnen.

### Überwachungsdaten anzeigen

Im Azure Portal können Sie die Application Insights-Ressource aufrufen, um Informationen über Ihren PowerShell Universal-Server anzuzeigen. Dazu gehören Daten wie fehlgeschlagene Antworten, Serverantwortzeit, Serveranfragen und Verfügbarkeit. Sie können außerdem Benachrichtigungen einrichten, um bestimmte Zustände des PowerShell Universal-Servers zu überwachen.

## Leistungsindikatoren

{% hint style="info" %}
Leistungsindikatoren werden nur unter Windows unterstützt.
{% endhint %}

Leistungsindikatoren werden bei der Ausführung des MSI-Installationsprogramms installiert. Anschließend werden Leistungsdaten automatisch von den folgenden Indikatoren generiert.

* PowerShell Universal \ Active API Endpoints \ \_Total
* PowerShell Universal \ Active API Endpoints \ Endpoint
* PowerShell Universal \ API Endpoint Calls per Second \ \_Total
* PowerShell Universal \ API Endpoint Calls per Second \ Endpoint
* PowerShell Universal \ API Execution Time \ \_Total
* PowerShell Universal \ API Execution Time \ Endpoint
* PowerShell Universal \ Active Dashboard Connections \ \_Total
* PowerShell Universal \ Active Dashboard Connections \ Dashboard

### Installation

Standardmäßig installiert das MSI die Leistungsindikatoren. Wenn Sie PowerShell Universal außerhalb des MSI ausführen, müssen Sie sie selbst installieren. Dies können Sie mit dem folgenden Skript tun. Sie müssen es über eine Eingabeaufforderung mit erhöhten Rechten ausführen.

```powershell
$categoryName = "PowerShell Universal"
$categoryType = [System.Diagnostics.PerformanceCounterCategoryType]::MultiInstance
$categoryExists = [System.Diagnostics.PerformanceCounterCategory]::Exists($categoryName)

If (-Not $categoryExists)
{
$objCCDC = New-Object System.Diagnostics.CounterCreationDataCollection
$objCCD1 = New-Object System.Diagnostics.CounterCreationData
$objCCD1.CounterName = "Active Endpoints"
$objCCD1.CounterType = "NumberOfItems32"
$objCCD1.CounterHelp = "Active number of executing endpoints."
$objCCDC.Add($objCCD1) | Out-Null

$objCCD1 = New-Object System.Diagnostics.CounterCreationData
$objCCD1.CounterName = "Execution Time"
$objCCD1.CounterType = "averageTimer32"
$objCCD1.CounterHelp = "Average execution time."
$objCCDC.Add($objCCD1) | Out-Null

$objCCD1 = New-Object System.Diagnostics.CounterCreationData
$objCCD1.CounterName = "Execution Time Base"
$objCCD1.CounterType = "averageBase"
$objCCD1.CounterHelp = "Average execution time base."
$objCCDC.Add($objCCD1) | Out-Null

$objCCD1 = New-Object System.Diagnostics.CounterCreationData
$objCCD1.CounterName = "Calls per second"
$objCCD1.CounterType = "rateOfCountsPerSecond64"
$objCCD1.CounterHelp = "Number of executions per second."
$objCCDC.Add($objCCD1) | Out-Null

$objCCD1 = New-Object System.Diagnostics.CounterCreationData
$objCCD1.CounterName = "Active Connections"
$objCCD1.CounterType = "numberOfItems64"
$objCCD1.CounterHelp = "Number of active connections to dashboards"
$objCCDC.Add($objCCD1) | Out-Null

[System.Diagnostics.PerformanceCounterCategory]::Create($categoryName, $categoryHelp, $categoryType, $objCCDC)|Out-Null
}
```

## Prozesse

Prozesse, die direkt von PowerShell Universal gestartet werden, werden auf der Prozessseite angezeigt. Sie können auf diese Seite zugreifen, indem Sie auf Home und dann auf die Karte Prozesse klicken.

Zu den Informationen gehören die Prozess-ID, der Zweck, der Dateiname und die Speichernutzung. Sie können außerdem den Status der Runspaces innerhalb des Prozesses anzeigen.

Beachten Sie, dass von Ihren Skripten gestartete Prozesse hier nicht aufgeführt werden.

## Benutzersitzungen

Sie können Benutzersitzungen für Dashboards und die Admin-Konsole anzeigen, indem Sie auf der Home-Seite auf die Karte Benutzersitzungen klicken. Zu den Sitzungsinformationen gehören die Verbindungszeit, die Quelle, der Benutzername, die User-Agent-Zeichenfolge und die Remote-IP-Adresse.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/de/plattform/monitoring.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
