Partilhar via


Send-ServiceFabricServiceHealthReport

Envia um relatório de integridade em um serviço do Service Fabric.

Sintaxe

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

Description

O cmdlet Send-ServiceFabricServiceHealthReport envia um relatório de integridade em um serviço do Service Fabric.

O serviço já deve existir na loja de saúde. Para verificar se ele existe, use o cmdlet Get-ServiceFabricServiceHealth e especifique o parâmetro ServiceName. Como alternativa, você pode usar o cmdlet Get-ServiceFabricApplicationHealth para obter as informações do aplicativo e, em seguida, verificar a seção estados de integridade do serviço para localizar o serviço desejado.

O relatório é enviado após o número de segundos especificado no parâmetro HealthReportSendIntervalInSec do cmdlet Connect-ServiceFabricCluster. A conexão de cluster deve ser mantida ativa durante esse tempo.

O cmdlet pode retornar com êxito, mas o relatório é enviado de forma assíncrona, portanto, seu processamento pode falhar. Para ver se o relatório foi aplicado no repositório de integridade, use o cmdlet Get-ServiceFabricServiceHealth e verifique se o relatório aparece na seção HealthEvents.

Antes de executar qualquer operação em um cluster do Service Fabric, estabeleça uma conexão com o cluster usando o cmdlet Connect-ServiceFabricCluster.

Exemplos

Exemplo 1: Relatório de integridade de erro com TTL infinito

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

Este comando envia um relatório de integridade para o serviço chamado fabric:/MyApplication/MyService da origem MyWatchDog. O relatório de integridade contém informações sobre a propriedade de integridade de Disponibilidade em um estado de integridade de Erro, com TTL infinito. Este comando também fornece uma descrição para o erro.

Exemplo 2: Aviso de relatório válido para TTL especificado

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

Este comando envia um relatório de integridade no serviço chamado fabric:/MyApplication/MyService da origem MyWatchdog. O relatório de integridade contém informações sobre a propriedade de integridade PrivateData em um estado de integridade de Aviso com TTL de 10 segundos e marca o relatório para remoção na expiração.

Parâmetros

-Description

Especifica informações legíveis por humanos sobre a condição que disparou o relatório. Os parâmetros SourceId, HealthPropertye HealthState descrevem completamente o relatório.

O comprimento máximo da cadeia de caracteres para a descrição é de 4096 caracteres. Se a cadeia de caracteres fornecida for mais longa, ela será automaticamente truncada. Quando truncada, a descrição termina com um marcador, "[Truncado]", para indicar aos usuários que o truncamento ocorreu. O tamanho total da cadeia de caracteres é de 4096 caracteres, portanto, menos de 4096 caracteres da cadeia de caracteres original são mantidos.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-HealthProperty

Especifica a propriedade do relatório. Juntamente com o parâmetro SourceId, essa propriedade identifica exclusivamente o relatório.

Tipo:String
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-HealthState

Especifica um objeto HealthState que representa o estado de integridade relatado.

Tipo:HealthState
Valores aceites:Invalid, Ok, Warning, Error, Unknown
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Immediate

Especifica se o relatório deve ser enviado para o repositório de integridade imediatamente. Isso é útil para relatórios críticos que devem ser enviados o mais rápido possível. Se não for especificado, o relatório será enviado com base nas configurações do cliente de integridade. Portanto, ele será lotado de acordo com a configuração HealthReportSendInterval. Essa é a configuração recomendada porque permite que o cliente de integridade otimize as mensagens de relatório de integridade para o armazenamento de integridade, bem como o processamento de relatórios de integridade. Por padrão, o cliente de malha do Powershell define HealthReportSentInterval como 0, para que os relatórios sejam enviados imediatamente.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-RemoveWhenExpired

Indica que o relatório é removido do repositório de integridade quando expira. Se você não especificar esse parâmetro, a entidade será considerada no estado Erro quando o tempo de vida do relatório expirar. Os relatórios que são removidos quando expirados podem ser usados para condições que são válidas apenas por um período de tempo ou para limpar relatórios do Health Store.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-SequenceNumber

Especifica o número de sequência associado ao relatório de integridade. Se você não especificar um valor para esse parâmetro, o número de sequência será definido automaticamente. Se você especificar um número de sequência, esse valor deverá ser maior do que qualquer número de sequência anterior definido no mesmo SourceId e HealthProperty, ou o relatório será rejeitado devido à obsolescência.

Tipo:Int64
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-ServiceName

Especifica o URI (Uniform Resource Identifier) de um serviço do Service Fabric.

Tipo:Uri
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-SourceId

Especifica o identificador da fonte que disparou o relatório.

Tipo:String
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-TimeoutSec

Especifica o período de tempo limite, em segundos, para a operação.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-TimeToLiveSec

Especifica o tempo de vida (TTL) do relatório em segundos. Quando o TTL expira, o relatório é removido do armazenamento de integridade se o parâmetro RemoveWhenExpired for especificado. Caso contrário, a entidade será avaliada em Erro devido ao relatório expirado. O valor padrão é Infinite.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

Entradas

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

Saídas

System.Object