Compartir a través de


FabricClient.HealthClient.GetClusterHealthAsync Método

Definición

Sobrecargas

GetClusterHealthAsync(ClusterHealthQueryDescription, TimeSpan, CancellationToken)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante una descripción de consulta, un tiempo de espera y un token de cancelación.

GetClusterHealthAsync(TimeSpan, CancellationToken)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante el tiempo de espera y el token de cancelación especificados.

GetClusterHealthAsync(ClusterHealthPolicy, TimeSpan, CancellationToken)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante la directiva de mantenimiento, el tiempo de espera y el token de cancelación especificados.

GetClusterHealthAsync(ClusterHealthQueryDescription)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante una descripción de consulta.

GetClusterHealthAsync()

Obtiene asincrónicamente el estado de un clúster de Service Fabric.

GetClusterHealthAsync(ClusterHealthPolicy)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric, lo que lo evalúa mediante la directiva especificada.

GetClusterHealthAsync(ClusterHealthQueryDescription, TimeSpan, CancellationToken)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante una descripción de consulta, un tiempo de espera y un token de cancelación.

public System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth> GetClusterHealthAsync (System.Fabric.Description.ClusterHealthQueryDescription queryDescription, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetClusterHealthAsync : System.Fabric.Description.ClusterHealthQueryDescription * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth>
Public Function GetClusterHealthAsync (queryDescription As ClusterHealthQueryDescription, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of ClusterHealth)

Parámetros

queryDescription
ClusterHealthQueryDescription

Descripción de la consulta que definió parámetros de consulta como directivas de mantenimiento, filtros, etc.

timeout
TimeSpan

La cantidad máxima de tiempo que Service Fabric permitirá que esta operación continúe antes de devolver .TimeoutException

cancellationToken
CancellationToken

Token de cancelación opcional que observa la operación. Se puede usar para enviar una notificación de que se debe cancelar la operación. Tenga en cuenta que la cancelación es un aviso y que la operación todavía puede completarse aunque se cancele.

Devoluciones

El estado de un clúster de Service Fabric.

Excepciones

El FabricClient objeto está en un estado cerrado. Elimine el FabricClient objeto que está usando y cree una instancia de un nuevo FabricClient objeto.

Se devuelve cuando se pasa una referencia nula a un método que no lo acepta como argumento válido.

Causado por una de las siguientes causas:

E_INVALIDARG se devuelve cuando uno o varios argumentos no son válidos.

Causado por una de las siguientes causas:

OperationTimedOut se devuelve cuando la operación tarda más que el usuario proporcionado timeout para completarse.

Causado por una de las siguientes causas:

FabricHealthEntityNotFound.

CommunicationError se devuelve cuando se produce un error de comunicación por el que se produce un error en la operación.

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

Causado por una de las siguientes causas:

ServiceTooBusy se devuelve cuando el servicio está demasiado ocupado para procesar la operación.

Causado por una de las siguientes causas:

E_ACCESSDENIED se devuelve cuando se ha producido un error en la comprobación de acceso para esta operación.

Se aplica a

GetClusterHealthAsync(TimeSpan, CancellationToken)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante el tiempo de espera y el token de cancelación especificados.

public System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth> GetClusterHealthAsync (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetClusterHealthAsync : TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth>
Public Function GetClusterHealthAsync (timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of ClusterHealth)

Parámetros

timeout
TimeSpan

La cantidad máxima de tiempo que Service Fabric permitirá que esta operación continúe antes de devolver .TimeoutException

cancellationToken
CancellationToken

Token de cancelación opcional que observa la operación. Se puede usar para enviar una notificación de que se debe cancelar la operación. Tenga en cuenta que la cancelación es un aviso y que la operación todavía puede completarse aunque se cancele.

Devoluciones

El estado de un clúster de Service Fabric.

Excepciones

El FabricClient objeto está en un estado cerrado. Elimine el FabricClient objeto que está usando y cree una instancia de un nuevo FabricClient objeto.

Se devuelve cuando se pasa una referencia nula a un método que no lo acepta como argumento válido.

Causado por una de las siguientes causas:

E_INVALIDARG se devuelve cuando uno o varios argumentos no son válidos.

Causado por una de las siguientes causas:

OperationTimedOut se devuelve cuando la operación tarda más que el usuario proporcionado timeout para completarse.

Causado por una de las siguientes causas:

FabricHealthEntityNotFound.

CommunicationError se devuelve cuando se produce un error de comunicación por el que se produce un error en la operación.

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

Causado por una de las siguientes causas:

ServiceTooBusy se devuelve cuando el servicio está demasiado ocupado para procesar la operación.

Causado por una de las siguientes causas:

E_ACCESSDENIED se devuelve cuando se ha producido un error en la comprobación de acceso para esta operación.

Se aplica a

GetClusterHealthAsync(ClusterHealthPolicy, TimeSpan, CancellationToken)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante la directiva de mantenimiento, el tiempo de espera y el token de cancelación especificados.

public System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth> GetClusterHealthAsync (System.Fabric.Health.ClusterHealthPolicy healthPolicy, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetClusterHealthAsync : System.Fabric.Health.ClusterHealthPolicy * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth>
Public Function GetClusterHealthAsync (healthPolicy As ClusterHealthPolicy, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of ClusterHealth)

Parámetros

healthPolicy
ClusterHealthPolicy

La directiva de mantenimiento del clúster que se usa para evaluar el estado del clúster.

timeout
TimeSpan

La cantidad máxima de tiempo que Service Fabric permitirá que esta operación continúe antes de devolver .TimeoutException

cancellationToken
CancellationToken

Token de cancelación opcional que observa la operación. Se puede usar para enviar una notificación de que se debe cancelar la operación. Tenga en cuenta que la cancelación es un aviso y que la operación todavía puede completarse aunque se cancele.

Devoluciones

El estado de un clúster de Service Fabric.

Excepciones

El FabricClient objeto está en un estado cerrado. Elimine el FabricClient objeto que está usando y cree una instancia de un nuevo FabricClient objeto.

Se devuelve cuando se pasa una referencia nula a un método que no lo acepta como argumento válido.

Causado por una de las siguientes causas:

E_INVALIDARG se devuelve cuando uno o varios argumentos no son válidos.

Causado por una de las siguientes causas:

OperationTimedOut se devuelve cuando la operación tarda más que el usuario proporcionado timeout para completarse.

Causado por una de las siguientes causas:

FabricHealthEntityNotFound.

CommunicationError se devuelve cuando se produce un error de comunicación por el que se produce un error en la operación.

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

Causado por una de las siguientes causas:

ServiceTooBusy se devuelve cuando el servicio está demasiado ocupado para procesar la operación.

Causado por una de las siguientes causas:

E_ACCESSDENIED se devuelve cuando se ha producido un error en la comprobación de acceso para esta operación.

Se aplica a

GetClusterHealthAsync(ClusterHealthQueryDescription)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric mediante una descripción de consulta.

public System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth> GetClusterHealthAsync (System.Fabric.Description.ClusterHealthQueryDescription queryDescription);
member this.GetClusterHealthAsync : System.Fabric.Description.ClusterHealthQueryDescription -> System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth>
Public Function GetClusterHealthAsync (queryDescription As ClusterHealthQueryDescription) As Task(Of ClusterHealth)

Parámetros

queryDescription
ClusterHealthQueryDescription

Descripción de la consulta que define parámetros de consulta como directivas de mantenimiento, filtros, etc.

Devoluciones

El estado de un clúster de Service Fabric.

Excepciones

El FabricClient objeto está en un estado cerrado. Elimine el FabricClient objeto que está usando y cree una instancia de un nuevo FabricClient objeto.

Se devuelve cuando se pasa una referencia nula a un método que no lo acepta como argumento válido.

Causado por una de las siguientes causas:

E_INVALIDARG se devuelve cuando uno o varios argumentos no son válidos.

Causado por una de las siguientes causas:

OperationTimedOut se devuelve cuando la operación tarda más que el tiempo especificado en completarse.

Causado por una de las siguientes causas:

FabricHealthEntityNotFound.

CommunicationError se devuelve cuando se produce un error de comunicación por el que se produce un error en la operación.

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

Causado por una de las siguientes causas:

ServiceTooBusy se devuelve cuando el servicio está demasiado ocupado para procesar la operación.

Causado por una de las siguientes causas:

E_ACCESSDENIED se devuelve cuando se ha producido un error en la comprobación de acceso para esta operación.

Se aplica a

GetClusterHealthAsync()

Obtiene asincrónicamente el estado de un clúster de Service Fabric.

public System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth> GetClusterHealthAsync ();
member this.GetClusterHealthAsync : unit -> System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth>
Public Function GetClusterHealthAsync () As Task(Of ClusterHealth)

Devoluciones

El estado de un clúster de Service Fabric.

Excepciones

El FabricClient objeto está en un estado cerrado. Elimine el FabricClient objeto que está usando y cree una instancia de un nuevo FabricClient objeto.

Se devuelve cuando se pasa una referencia nula a un método que no lo acepta como argumento válido.

Causado por una de las siguientes causas:

E_INVALIDARG se devuelve cuando uno o varios argumentos no son válidos.

Causado por una de las siguientes causas:

OperationTimedOut se devuelve cuando la operación tarda más que el tiempo especificado en completarse.

Causado por una de las siguientes causas:

FabricHealthEntityNotFound.

CommunicationError se devuelve cuando se produce un error de comunicación por el que se produce un error en la operación.

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

Causado por una de las siguientes causas:

ServiceTooBusy se devuelve cuando el servicio está demasiado ocupado para procesar la operación.

Causado por una de las siguientes causas:

E_ACCESSDENIED se devuelve cuando se ha producido un error en la comprobación de acceso para esta operación.

Comentarios

En el ejemplo siguiente se obtiene el estado del clúster.

public static bool GetClusterHealth(string clusterConnection)
            {
                ClusterHealth clusterHealth;

                // Connect to the cluster.
                FabricClient fabricClient = new FabricClient(clusterConnection);

                // Get the cluster health.
                try
                {
                    clusterHealth = fabricClient.HealthManager.GetClusterHealthAsync().Result;
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error: " + e.Message);

                    if (e.InnerException != null)
            Console.WriteLine("  Inner Exception: " + e.InnerException.Message);

                    return false;
                }

                // Display the cluster health state.
                Console.WriteLine("Cluster Health:");
                Console.WriteLine("  Aggregated Health State: " + clusterHealth.AggregatedHealthState);
                Console.WriteLine();

                // Display the application health states on the cluster.
                Console.WriteLine("  Application Health States:");
                IList<ApplicationHealthState> applicationHealthStateList = clusterHealth.ApplicationHealthStates;
                foreach(ApplicationHealthState applicationHealthState in applicationHealthStateList)
                {
                    Console.WriteLine("    Application {0}: {1}", applicationHealthState.ApplicationName, applicationHealthState.AggregatedHealthState);
                }

                // Display Node Health States on the cluster.
                Console.WriteLine("  Node Health States:");
                IList<NodeHealthState> nodeHealthStateList = clusterHealth.NodeHealthStates;
                foreach (NodeHealthState nodeHealthState in nodeHealthStateList)
                {
                    Console.WriteLine("    Node Name: " + nodeHealthState.NodeName);
                    Console.WriteLine("      Aggregated Health State: " + nodeHealthState.AggregatedHealthState);
                }

                // Display Health Events.
                Console.WriteLine("  Health Events:");
                IList<HealthEvent> healthEventList = clusterHealth.HealthEvents;
                foreach(HealthEvent healthEvent in healthEventList)
                {
                    Console.WriteLine("      Health Event:");
                    Console.WriteLine("        Last Modified: " + healthEvent.LastModifiedUtcTimestamp);
                    Console.WriteLine("        Source UTC Timestamp: " + healthEvent.SourceUtcTimestamp);
                    Console.WriteLine("        Is Expired: " + healthEvent.IsExpired);
                    Console.WriteLine("        Health Information:");
                    Console.WriteLine("          Description: " + healthEvent.HealthInformation.Description);
                    Console.WriteLine("          Source ID: " + healthEvent.HealthInformation.SourceId);
                    Console.WriteLine("          Health State: " + healthEvent.HealthInformation.HealthState);
                    Console.WriteLine("          Property: " + healthEvent.HealthInformation.Property);
                    Console.WriteLine("          Remove When Expired: " + healthEvent.HealthInformation.RemoveWhenExpired);
                    Console.WriteLine("          Sequence Number: " + healthEvent.HealthInformation.SequenceNumber);
                    Console.WriteLine("          Time to Live: " + healthEvent.HealthInformation.TimeToLive);
                }

                Console.WriteLine("  Unhealthy Evaluations:");
                IList<HealthEvaluation> healthEvaluationList = clusterHealth.UnhealthyEvaluations;
                foreach(HealthEvaluation healthEvaluation in healthEvaluationList)
                {
                    Console.WriteLine("    Kind: " + healthEvaluation.Kind);
                    Console.WriteLine("      Aggregated Health State: " + healthEvaluation.AggregatedHealthState);
                    Console.WriteLine("      Description: " + healthEvaluation.Description);
                }

                return true;
            }

Se aplica a

GetClusterHealthAsync(ClusterHealthPolicy)

Obtiene de forma asincrónica el estado de un clúster de Service Fabric, lo que lo evalúa mediante la directiva especificada.

public System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth> GetClusterHealthAsync (System.Fabric.Health.ClusterHealthPolicy healthPolicy);
member this.GetClusterHealthAsync : System.Fabric.Health.ClusterHealthPolicy -> System.Threading.Tasks.Task<System.Fabric.Health.ClusterHealth>
Public Function GetClusterHealthAsync (healthPolicy As ClusterHealthPolicy) As Task(Of ClusterHealth)

Parámetros

healthPolicy
ClusterHealthPolicy

La directiva de mantenimiento del clúster que se usa para evaluar el estado del clúster.

Devoluciones

El estado de un clúster de Service Fabric.

Excepciones

El FabricClient objeto está en un estado cerrado. Elimine el FabricClient objeto que está usando y cree una instancia de un nuevo FabricClient objeto.

Se devuelve cuando se pasa una referencia nula a un método que no lo acepta como argumento válido.

Causado por una de las siguientes causas:

E_INVALIDARG se devuelve cuando uno o varios argumentos no son válidos.

Causado por una de las siguientes causas:

OperationTimedOut se devuelve cuando la operación tarda más que el tiempo especificado en completarse.

Causado por una de las siguientes causas:

FabricHealthEntityNotFound.

CommunicationError se devuelve cuando se produce un error de comunicación por el que se produce un error en la operación.

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

Causado por una de las siguientes causas:

ServiceTooBusy se devuelve cuando el servicio está demasiado ocupado para procesar la operación.

Causado por una de las siguientes causas:

E_ACCESSDENIED se devuelve cuando se ha producido un error en la comprobación de acceso para esta operación.

Se aplica a