Send-ServiceFabricDeployedServicePackageHealthReport
Sendet einen Integritätsbericht für ein service Fabric bereitgestelltes Dienstpaket.
Syntax
Send-ServiceFabricDeployedServicePackageHealthReport
[-ApplicationName] <Uri>
[-ServiceManifestName] <String>
[-NodeName] <String>
[[-ServicePackageActivationId] <String>]
-HealthState <HealthState>
-SourceId <String>
-HealthProperty <String>
[-Description <String>]
[-TimeToLiveSec <Int32>]
[-RemoveWhenExpired]
[-SequenceNumber <Int64>]
[-Immediate]
[-TimeoutSec <Int32>]
[<CommonParameters>]
Beschreibung
Das cmdlet Send-ServiceFabricDeployedServicePackageHealthReport sendet einen Integritätsbericht zu einem bereitgestellten Service Fabric-Dienstpaket.
Das bereitgestellte Dienstpaket muss bereits im Integritätsspeicher vorhanden sein. Um zu überprüfen, ob der Dienst vorhanden ist, verwenden Sie das Cmdlet Get-ServiceFabricDeployedServicePackageHealth.To check whether the service exists, use the Get-ServiceFabricDeployedServicePackageHealth cmdlet. Geben Sie den Anwendungsnamen, den Dienstpaketnamen und den Knotennamen an. Alternativ können Sie das Cmdlet Get-ServiceFabricDeployedApplicationHealth verwenden. Geben Sie den Anwendungsnamen und den Knotennamen an, und überprüfen Sie den Abschnitt "Bereitgestellter Dienstpaketstatus", um das Dienstpaket zu finden.
Das Cmdlet sendet den Bericht nach einem Intervall, das vom HealthReportSendIntervalInSec Parameter des Cmdlets Connect-ServiceFabricCluster angegeben wird. Die Clusterverbindung muss während dieser Zeit aktiv gehalten werden. Der Befehl wird auf dem Client ausgewertet, ohne auf die Ausführung im Integritätsspeicher zu verweisen. Der Bericht wird möglicherweise nicht im Integritätsspeicher angewendet, auch wenn der Befehl erfolgreich zurückgegeben wird. Beispielsweise kann der Integritätsspeicher den Bericht aufgrund eines ungültigen Parameters wie eine veraltete Sequenznummer ablehnen.
Um festzustellen, ob der Bericht im Integritätsspeicher angewendet wurde, verwenden Sie das Cmdlet "Get-ServiceFabricDeployedServicePackageHealth" und überprüfen Sie, ob der Bericht im Abschnitt HealthEvents angezeigt wird.
Um Service Fabric-Cluster zu verwalten, starten Sie Windows PowerShell mithilfe der Option "Als Administrator ausführen". Bevor Sie einen Vorgang auf einem Service Fabric-Cluster ausführen, richten Sie eine Verbindung mit dem Cluster mithilfe des Cmdlets Connect-ServiceFabricCluster und dann mit dem cmdlet Get-ServiceFabricClusterConnection ein.
Beispiele
Beispiel 1: Melden des Fehlerstatusberichts mit unendlicher TTL
PS C:\> Send-ServiceFabricDeployedServicePackageHealthReport -ApplicationName fabric:/MyApplication -NodeName "Node01" -ServiceManifestName "MyServiceManifest" -HealthProperty "Memory" -HealthState Error -SourceId "MyWatchdog"
Dieser Befehl sendet einen Integritätsbericht zu einem bereitgestellten Dienstpaket für die Anwendung mit dem Namen "fabric:/MyApplication" auf dem Knoten "Node01" für das Dienstmanifest mit dem Namen "MyServiceManifest". Der Integritätsbericht enthält Informationen zur Integritätseigenschaft Memory in einem Fehlerstatus aus der Quelle MyWatchdog mit unendlicher TTL. Die Beschreibung wird nicht angegeben, und die Sequenznummer wird automatisch festgelegt.
Beispiel 2: Warnung melden, die für angegebene TTL gültig ist, und entfernen Sie sie, wenn sie abläuft.
PS C:\> Send-ServiceFabricDeployedServicePackageHealthReport -ApplicationName fabric:/MyApplication -ServiceManifestName MyServiceManifest -NodeName "Node01" -HealthProperty "CustomSetup" -HealthState Warning -SourceId MyWatchdog -RemoveWhenExpired -Description "The setup has completed with some warnings." -TimeToLiveSec 10
Dieser Befehl sendet einen Integritätsbericht zu einem bereitgestellten Dienstpaket für die Anwendung namens "fabric:/MyApplication" für das Dienstmanifest mit dem Namen "MyServiceManifest" auf dem Knoten "Node01". Der Integritätsbericht enthält Informationen zur Integritätseigenschaft CustomSetup in einem Status "Warnung" aus der Quelle "MyWatchdog" mit 10 Sekunden TTL. Nachdem der Bericht abgelaufen ist, wird er aus dem Integritätsspeicher entfernt und wirkt sich nicht mehr auf die Integritätsauswertung aus. Mit diesem Befehl wird auch eine Beschreibung der Warnung angezeigt.
Parameter
-ApplicationName
Gibt den URI (Uniform Resource Identifier) einer Service Fabric-Anwendung an. Das Cmdlet sendet einen Integritätsbericht für die Anwendung mit dem von Ihnen angegebenen URI.
Typ: | Uri |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Description
Gibt lesbare Informationen zu der Bedingung an, die den Bericht ausgelöst hat. Die SourceId, HealthPropertyund HealthState Parameter beschreiben den Bericht vollständig.
Die maximale Zeichenfolgenlänge für die Beschreibung beträgt 4096 Zeichen. Wenn die angegebene Zeichenfolge länger ist, wird sie automatisch abgeschnitten. Wenn die Beschreibung abgeschnitten wurde, endet die Beschreibung mit einer Markierung ,[Abgeschnitten]", um benutzern anzugeben, dass die Abkürzung erfolgt ist. Die Gesamtgröße der Zeichenfolge beträgt 4096 Zeichen, sodass weniger als 4096 Zeichen aus der ursprünglichen Zeichenfolge beibehalten werden.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-HealthProperty
Gibt die Eigenschaft des Berichts an. Zusammen mit dem SourceId Parameter identifiziert diese Eigenschaft den Bericht eindeutig. Der Bericht überschreibt alle vorherigen Berichte mit denselben Werten für die SourceId- und HealthProperty Parameter für dieselbe Entität.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-HealthState
Gibt ein HealthState -Objekt an, das den gemeldeten Integritätszustand darstellt.
Typ: | HealthState |
Zulässige Werte: | Invalid, Ok, Warning, Error, Unknown |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Immediate
Gibt an, ob der Bericht sofort an den Integritätsspeicher gesendet werden soll. Dies ist nützlich für kritische Berichte, die so schnell wie möglich gesendet werden sollten. Wenn nicht angegeben, wird der Bericht basierend auf den Einstellungen des Integritätsclients gesendet. Daher wird sie gemäß der HealthReportSendInterval-Konfiguration batched. Dies ist die empfohlene Einstellung, da der Integritätsclient die Optimierung von Integritätsberichtsmeldungen an den Integritätsspeicher sowie die Verarbeitung von Integritätsberichten ermöglicht. Standardmäßig legt der Powershell Fabric-Client HealthReportSentInterval auf 0 fest, sodass Berichte sofort gesendet werden.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-NodeName
Gibt den Namen eines Service Fabric-Knotens an. Das Cmdlet sendet einen Integritätsbericht für ein Dienstpaket, das auf dem von Ihnen angegebenen Knoten bereitgestellt wird.
Typ: | String |
Position: | 2 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-RemoveWhenExpired
Gibt an, dass der Bericht beim Ablauf aus dem Integritätsspeicher entfernt wird. Wenn Sie diesen Parameter nicht angeben, wird die Entität im Fehlerzustand betrachtet, wenn die Berichtszeit abläuft. Die Berichte, die nach ablaufendem Ablauf entfernt werden, können für Bedingungen verwendet werden, die nur für einen bestimmten Zeitraum gültig sind, oder für das Löschen von Berichten aus dem Integritätsspeicher.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-SequenceNumber
Gibt die Sequenznummer an, die dem Integritätsbericht zugeordnet ist. Wenn Sie keinen Wert für diesen Parameter angeben, wird die Sequenznummer automatisch festgelegt. Wenn Sie eine Sequenznummer angeben, muss dieser Wert höher sein als jede vorherige Sequenznummer, die auf demselben SourceId- und HealthProperty-festgelegt ist, oder der Bericht wird aufgrund der Veraltetkeit abgelehnt.
Typ: | Int64 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ServiceManifestName
Gibt den Namen eines Service Fabric-Dienstmanifests an. Zusammen mit ApplicationName und NodeName-identifiziert dieser Wert die bereitgestellte Dienstpaketintegritätsentität eindeutig.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ServicePackageActivationId
Die Aktivierungs-ID der bereitgestellten ServicePackage. Dies kann mithilfe der Abfrage Get-ServiceFabricDeployedServicePackageabgerufen werden.
Wenn ServicePackageActivationMode zum Zeitpunkt des Erstellens des Diensts (mit New-ServiceFabricService
) SharedProcess- ist (oder wenn er nicht angegeben ist, in diesem Fall wird standardmäßig SharedProcess), dann ist der Wert ServicePackageActivationId immer eine leere Zeichenfolge und muss nicht angegeben werden. Weitere Informationen zur Aktivierungs-ID des Dienstpakets finden Sie unter [Service Fabric Hosting Model][1].
Typ: | String |
Position: | 3 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-SourceId
Gibt den Bezeichner der Quelle an, die den Bericht ausgelöst hat.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-TimeoutSec
Gibt den Timeoutzeitraum für den Vorgang in Sekunden an.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-TimeToLiveSec
Gibt die Zeit für Live (TTL) des Berichts in Sekunden an. Wenn der TTL-Wert abläuft, wird der Bericht aus dem Integritätsspeicher entfernt, wenn der RemoveWhenExpired Parameter angegeben ist. Andernfalls wird die Entität aufgrund des abgelaufenen Berichts bei Fehler ausgewertet. Der Standardwert ist Infinite.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Eingaben
System.Uri
System.String
System.Fabric.Health.HealthState
System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
System.Management.Automation.SwitchParameter
System.Nullable`1[[System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Ausgaben
System.Object