Condividi tramite


Send-ServiceFabricServiceHealthReport

Invia un report di integrità in un servizio Service Fabric.

Sintassi

Send-ServiceFabricServiceHealthReport
    [-ServiceName] <Uri>
    -HealthState <HealthState>
    -SourceId <String>
    -HealthProperty <String>
    [-Description <String>]
    [-TimeToLiveSec <Int32>]
    [-RemoveWhenExpired]
    [-SequenceNumber <Int64>]
    [-Immediate]
    [-TimeoutSec <Int32>]
    [<CommonParameters>]

Descrizione

Il cmdlet Send-ServiceFabricServiceHealthReport invia un report di integrità in un servizio Service Fabric.

Il servizio deve già esistere nell'archivio integrità. Per verificare se esiste, usare il cmdlet Get-ServiceFabricServiceHealth e specificare il parametro ServiceName . In alternativa, è possibile usare il cmdlet Get-ServiceFabricApplicationHealth per ottenere le informazioni sull'applicazione e quindi controllare la sezione Stati di integrità del servizio per trovare il servizio desiderato.

Il report viene inviato dopo il numero di secondi specificato nel parametro HealthReportSendIntervalInSec del cmdlet Connect-ServiceFabricCluster . La connessione del cluster deve essere mantenuta attiva durante questo periodo.

Il cmdlet può restituire l'esito positivo, ma il report viene inviato in modo asincrono, pertanto l'elaborazione potrebbe non riuscire. Per verificare se il report è stato applicato nell'archivio integrità, usare il cmdlet Get-ServiceFabricServiceHealth e verificare che il report venga visualizzato nella sezione HealthEvents.

Prima di eseguire qualsiasi operazione in un cluster di Service Fabric, stabilire una connessione al cluster usando il cmdlet Connect-ServiceFabricCluster .

Esempio

Esempio 1: report di integrità degli errori con TTL infinito

PS C:\> Send-ServiceFabricServiceHealthReport -ServiceName fabric:/MyApplication/MyService -SourceId "MyWatchdog" -HealthProperty "Availability" -HealthState Error -Description "The service is not available."

Questo comando invia un report di integrità per il servizio denominato fabric:/MyApplication/MyService dall'origine MyWatchDog. Il report di integrità contiene informazioni sulla proprietà di integrità Disponibilità in uno stato di integrità degli errori, con TTL infinito. Questo comando fornisce anche una descrizione per l'errore.

Esempio 2: Avviso del report valido per il TTL specificato

PS C:\> Send-ServiceFabricServiceHealthReport -ServiceName fabric:/MyApplication/MyService -SourceId "MyWatchdog" -HealthProperty "PrivateData" -HealthState Warning -TimeToLiveSec 10 -RemoveWhenExpired -Description "Accessing private data in database MyServicePrivateData is slow."

Questo comando invia un report di integrità nel servizio denominato fabric:/MyApplication/MyService dall'origine MyWatchdog. Il report di integrità contiene informazioni sulla proprietà di integrità PrivateData in uno stato di integrità di avviso con 10 secondi TTL e contrassegna il report per la rimozione alla scadenza.

Parametri

-Description

Specifica informazioni leggibili sulla condizione che ha attivato il report. I parametri SourceId, HealthProperty e HealthState descrivono completamente il report.

La lunghezza massima della stringa per la descrizione è pari a 4096 caratteri. Se la stringa specificata è più lunga, viene troncata automaticamente. Quando viene troncata, la descrizione termina con un marcatore "[Troncato]", per indicare agli utenti che si sono verificati troncamenti. La dimensione totale della stringa è di 4096 caratteri, quindi vengono mantenuti meno di 4096 caratteri dalla stringa originale.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-HealthProperty

Specifica la proprietà del report. Insieme al parametro SourceId , questa proprietà identifica in modo univoco il report.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HealthState

Specifica un oggetto HealthState che rappresenta lo stato di integrità segnalato.

Type:HealthState
Accepted values:Invalid, Ok, Warning, Error, Unknown
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Immediate

Specifica se il report deve essere inviato immediatamente all'archivio integrità. Questo è utile per i report critici che devono essere inviati appena possibile. Se non specificato, il report viene inviato in base alle impostazioni client di integrità. Verrà quindi inviato in batch in base alla configurazione di HealthReportSendInterval. Questa è l'impostazione consigliata perché consente al client di integrità di ottimizzare la segnalazione di messaggi sull'integrità all'archivio integrità e l'elaborazione di report sull'integrità. Per impostazione predefinita, il client di PowerShell fabric imposta HealthReportSentInterval su 0, quindi i report vengono inviati immediatamente.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveWhenExpired

Indica che il report viene rimosso dall'archivio integrità alla scadenza. Se non si specifica questo parametro, l'entità viene considerata in stato Errore quando scade il tempo di report. I report rimossi quando scaduti possono essere usati solo per condizioni valide solo per un periodo di tempo o per cancellare i report dall'archivio integrità.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SequenceNumber

Specifica il numero di sequenza associato al report di integrità. Se non si specifica un valore per questo parametro, il numero di sequenza viene impostato automaticamente. Se si specifica un numero di sequenza, tale valore deve essere superiore a qualsiasi numero di sequenza precedente impostato sullo stesso Oggetto SourceId e HealthProperty oppure il report viene rifiutato a causa dello stato di inattività.

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceName

Specifica l'URI (Uniform Resource Identifier) di un servizio Service Fabric.

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SourceId

Specifica l'identificatore dell'origine che ha attivato il report.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TimeoutSec

Specifica il periodo di timeout, in secondi, per l'operazione.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeToLiveSec

Specifica l'ora in tempo reale (TTL) del report in secondi. Al termine del TTL, il report viene rimosso dall'archivio integrità se viene specificato il parametro RemoveWhenExpired . In caso contrario, l'entità viene valutata in caso di errore a causa del report scaduto. Il valore predefinito è Infinite.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Input

System.Uri

System.Fabric.Health.HealthState

System.String

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]]

Output

System.Object