> 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

PowerShell Universal integriert sich automatisch mit Microsoft Application Insights, um Überwachung und Warnungen 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. Nachdem sie erstellt wurde, müssen Sie die Verbindungszeichenfolge kopieren.

![Application Insights-Informationen](/files/rHPypqIQoh79YTn9TNUB)

Fügen Sie anschließend Ihre Verbindungszeichenfolge in die [Einstellungsdatei ](/powershell-universal/de/config/settings.md)für PowerShell Universal ein. Starten Sie schließlich 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 Anwendungseinstellung erstellen. Klicken Sie in Ihrer Web-App auf Konfiguration und dann auf Neue Anwendungseinstellung.

Der Name sollte lauten:

```
APPLICATIONINSIGHTS__CONNECTIONSTRING
```

Der Wert sollte die Verbindungszeichenfolge sein. Starten Sie Ihre Web-App neu, um mit dem Sammeln 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 Warnungen 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. Danach 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. Sie können dies 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.

Die Informationen umfassen die Prozess-ID, den Zweck, den Dateinamen und die Speichernutzung. Sie können außerdem den Status der Runspaces innerhalb des Prozesses anzeigen.

<figure><img src="/files/x3rY9Xutp6fG2pmSThLs" alt=""><figcaption></figcaption></figure>

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 Startseite auf die Karte Benutzersitzungen klicken. Die Sitzungsinformationen umfassen die Verbindungszeit, die Quelle, den Benutzernamen, die User-Agent-Zeichenfolge und die Remote-IP-Adresse.

<figure><img src="/files/iuwy0451drARdrIpfEzE" alt=""><figcaption></figcaption></figure>


---

# 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.
