Configurar métricas del lado del cliente
En esta página se describe cómo instalar, configurar y usar las métricas del lado del cliente de Bigtable.
Las métricas del lado del cliente están disponibles para los usuarios de las siguientes bibliotecas de cliente:
- Biblioteca de cliente de Bigtable para C++
- Biblioteca de cliente de Bigtable para Java
- Cliente de HBase de Bigtable para Java
- Biblioteca de cliente de Bigtable para Go
- Biblioteca de cliente de Bigtable para Node.js
Para obtener una descripción general, consulta el artículo Descripción general de las métricas del lado del cliente. Para ver una lista detallada de las métricas, consulta las descripciones de las métricas del lado del cliente.
Añadir o confirmar permisos de cuenta de servicio
Para añadir permisos de gestión de identidades y accesos a la cuenta de servicio, haz lo siguiente:
En la consola, ve a la página Gestión de identidades y accesos. Google Cloud
Selecciona el proyecto en el que has creado el clúster de Bigtable.
Busca la cuenta de servicio a la que quieras añadir el permiso.
Haz clic en Editar principal.
Haz clic en Añadir otro rol.
Busca "monitoring metric writer" y selecciona el resultado.
Haz clic en Guardar.
Habilitar la API de Cloud Monitoring
En la Google Cloud consola, ve a la página APIs & Services (APIs y servicios).
Selecciona el proyecto en el que has creado el clúster de Bigtable.
Haz clic en Habilitar APIs y servicios.
Buscar
Monitoring
.En los resultados de búsqueda, haga clic en API Cloud Monitoring.
Si se muestra API habilitada, significa que la API ya está habilitada. Si no es así, haz clic en Habilitar.
Configurar la biblioteca de cliente de Bigtable
Después de habilitar la API Cloud Monitoring, configura tu biblioteca de cliente de Bigtable.
C++
Sigue estos pasos si usas la biblioteca de cliente de Bigtable para C++, que llama a las APIs de Bigtable.
Instalar y configurar la biblioteca de cliente para C++
Integra la biblioteca mediante sistemas de compilación de C++ habituales, como CMake o Bazel. Para obtener más información, consulta Compilación e instalación.
Para que la biblioteca de cliente de Bigtable recoja las métricas del lado del cliente, tu proyecto debe incluir dependencias de OpenTelemetry y Cloud Monitoring. OpenTelemetry proporciona el marco de trabajo para que la biblioteca de cliente cree, instrumente y registre las métricas, mientras que la biblioteca de Cloud Monitoring proporciona la función para exportar o publicar estas métricas en Cloud Monitoring.
Habilitar las métricas del lado del cliente en una aplicación
Las métricas del lado del cliente están habilitadas de forma predeterminada en la biblioteca de cliente de Bigtable para C++ a partir de la versión 2.40.0.
Las métricas se recogen automáticamente si las dependencias de OpenTelemetry y Cloud Monitoring están disponibles en tu proyecto. No hay ningún cargo adicional por estas métricas.
Opcional: Inhabilitar las métricas del lado del cliente
Puedes inhabilitar el uso de métricas del lado del cliente asignando el valor false
a EnableMetricsOption
al crear tu conexión de datos.
auto options = Options{}.set<EnableMetricsOption>(false);
TableResource resource("my-project", "my-instance", "my-table");
Table table(MakeDataConnection(std::move(options)), std::move(resource));
Go
Sigue estos pasos si usas la biblioteca de cliente de Bigtable para Go, que llama a las APIs de Bigtable.
Instalar y configurar la biblioteca de cliente de Go
Actualiza la biblioteca de cliente de Bigtable para Go a la versión 1.27.0 o posterior. Tu go.mod
debería tener un aspecto similar al siguiente:
require (
cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54
Opcional: Inhabilitar las métricas del lado del cliente
Las métricas del lado del cliente están habilitadas de forma predeterminada en la biblioteca de cliente de Go. Para inhabilitar esta opción, pasa NoopMetricsProvider
en ClientConfig
:
client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})
HBase
Sigue estos pasos si usas el cliente de HBase de Bigtable para Java, que llama a la API de HBase, para conectar tu aplicación a Bigtable.
Instalar y configurar la biblioteca de cliente de HBase para Java
Descarga e instala el cliente de HBase de Bigtable para Java más reciente. Para habilitar las métricas del lado del cliente, debes usar la versión 2.6.4 o una posterior.
Crea un proyecto de Maven vacío.
Determina la dependencia de artefactos que se adapte a tu caso práctico. Las versiones de
2.x
incluyen un cliente asíncrono de HBase que no tienen las versiones de1.x
.bigtable-hbase-1.x
obigtable-hbase-2.x
: se usa en aplicaciones independientes en las que tienes el control de tus dependencias.bigtable-hbase-1.x-hadoop
obigtable-hbase-2.x-hadoop
: se usa en entornos de Hadoop.bigtable-hbase-1.x-shaded
obigtable-hbase-2.x-shaded
: se usa en entornos distintos de Hadoop que requieren versiones anteriores de componentes como protobufs o Guava.
Actualiza el archivo pom.xml:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud.bigtable</groupId> <artifactId>BIGTABLE_HBASE_ARTIFACT</artifactId> <version>VERSION_NUMBER</version> </dependency> </dependencies> </dependencyManagement>
Proporciona lo siguiente:
BIGTABLE_HBASE_ARTIFACT
: la dependencia de artefactos de tu proyecto, con un formato comobigtable-hbase-1.x
obigtable-hbase-2.x-hadoop
.VERSION_NUMBER
: la versión de la biblioteca de cliente que estás usando, con el formato2.6.4
Habilitar las métricas del lado del cliente en una aplicación
Usar bigtable-hbase-1.x
o bigtable-hbase-2.x
Cuando creas una conexión con la biblioteca de cliente de HBase y los artefactos bigtable-hbase-1.x
o bigtable-hbase-2.x
, el código para habilitar las métricas integradas del lado del cliente es similar al siguiente:
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
Connection connection = new BigtableConnection(configuration);
BigtableDataSettings.enableBuiltinMetrics();
Usar artefactos -hadoop
o -shaded
Cuando creas una conexión con la biblioteca de cliente de HBase y uno de los artefactos -hadoop
o -shaded
, el código para habilitar las métricas integradas del lado del cliente es similar al siguiente:
import com.google.bigtable.repackaged.com.google.cloud.bigtable.data.v2.BigtableDataSettings;
Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
Connection connection = new BigtableConnection(configuration);
BigtableDataSettings.enableBuiltinMetrics();
Opcional: Inhabilitar las métricas del lado del cliente
Si utilizas la versión 2.14.1 o una posterior, las métricas del lado del cliente están habilitadas de forma predeterminada. Puedes inhabilitar esta opción.
Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
configuration.setBoolean(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, false);
Connection connection = new BigtableConnection(configuration);
Java
Sigue estos pasos si usas la biblioteca de cliente de Bigtable para Java, que llama a las APIs de Bigtable.
Antes de empezar
Opcional: Si usas una integración de OpenCensus
Stats
para obtener métricas de Bigtable, revierte la dependencia y los cambios de StackdriverStatsExporter
en tu aplicación. Para saber por qué, consulta Cuándo cambiar a un modelo superior.
Instalar y configurar la biblioteca de cliente para Java
- Descarga e instala la biblioteca de cliente de Bigtable más reciente para Java. Debes tener la versión 2.16.0 o una posterior para usar las métricas del lado del cliente.
Actualiza el archivo pom.xml de la biblioteca de cliente de Java para usar la versión más reciente. Tu archivo pom debería tener un aspecto similar al siguiente:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigtable-bom</artifactId> <version>2.38.0</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigtable</artifactId> </dependency> </dependencies>
Habilitar las métricas del lado del cliente en una aplicación
Cuando crees un cliente con la biblioteca de cliente, habilita las métricas integradas. El código debería tener un aspecto similar al siguiente:
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("our-project-2-12")
.setInstanceId("our-instance-85")
.setAppProfileId("our-appProfile-06")
.build();
BigtableDataSettings.enableBuiltinMetrics();
try (BigtableDataClient client = BigtableDataClient.create(settings)) {
// Application logic
}
Configurar una instancia de OpenTelemetry personalizada
Si usas la versión 2.38.0 o una posterior y quieres publicar métricas del lado del cliente en Cloud Monitoring y en sinks personalizados, puedes configurar una instancia de OpenTelemetry personalizada.
SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder();
// register client side metrics on your meter provider
BuiltinMetricsView.registerBuiltinMetrics("my-project-id", meterProviderBuilder);
// register other metric reader and views
meterProviderBuilder.registerMetricReader().registerView();
// create the OTEL instance
OpenTelemetry openTelemetry = OpenTelemetrySdk.builder()
.setMeterProvider(meterProviderBuilder.build())
.build();
// Override MetricsProvider in BigtableDataSettings
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("my-project-id")
.setInstanceId("my-instance-id")
.setMetricsProvider(CustomOpenTelemetryMetricsProvider.create(openTelemetry))
.build();
try (BigtableDataClient client = BigtableDataClient.create(settings)) {
// Application logic
}
Opcional: Inhabilitar las métricas del lado del cliente
Si usas la versión 2.38.0 o una posterior, puedes inhabilitar las métricas del lado del cliente.
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("my-project")
.setInstanceId("my-instance")
.setMetricsProvider(NoopMetricsProvider.INSTANCE)
.build();
Node.js
Sigue estos pasos si usas la biblioteca de cliente de Bigtable para Node.js, que llama a las APIs de Bigtable.
Instalar y configurar la biblioteca de cliente para Node.js
Descarga e instala la versión más reciente de la biblioteca de cliente de Bigtable para Node.js.
Para usar las métricas del lado del cliente, debes tener la versión 6.2.0 o una posterior. El archivo
package.json
debería tener un aspecto similar al siguiente:{ "dependencies": { "@google-cloud/bigtable": "^6.2.0" } }
En tu proyecto, vuelve a instalar los módulos de Node.js:
rm -rf node_modules rm package-lock.json npm i
Habilitar las métricas del lado del cliente en una aplicación
Las métricas del lado del cliente están habilitadas de forma predeterminada en la biblioteca de cliente de Bigtable para Node.js a partir de la versión 6.4.0.
Opcional: Inhabilitar las métricas del lado del cliente
Puedes inhabilitar el uso de métricas del lado del cliente.
const bigtable = new Bigtable({metricsEnabled: false});
Ver métricas en el explorador de métricas
En la Google Cloud consola, ve a la página Explorador de métricas.
Selecciona el proyecto.
Haz clic en Seleccionar una métrica.
Buscar
bigtable.googleapis.com/client
.Seleccione una métrica, un
group by
método y un estado, y elija un agregador. Para ver más opciones, consulta Seleccionar métricas al utilizar el explorador de métricas.
Después de habilitar las métricas del lado del cliente, deje que la aplicación se ejecute durante al menos un minuto antes de comprobar si se han publicado métricas.
Ver métricas en la monitorización de Bigtable
En la página de monitorización de Bigtable se muestran gráficos de las siguientes métricas del lado del cliente:
- Latencia de lectura del lado del cliente
- Latencia de escritura del lado del cliente
- Latencia de intento de lectura del lado del cliente
- Latencia de intento de escritura del lado del cliente
Para ver las métricas del lado del cliente en la página Monitorización, sigue estos pasos:
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haz clic en la instancia cuyas métricas quieras ver.
En el panel de la izquierda, haga clic en Monitorización. La Google Cloud consola muestra una serie de gráficos de la instancia.
Desplázate por el panel para ver las métricas del lado del cliente.
Opcional: Para ver las métricas a nivel de tabla, haga clic en Tablas.
Opcional: Para ver las métricas de perfiles de aplicaciones concretos, haz clic en Perfiles de aplicaciones.
Para obtener más información, consulta Monitorización de Bigtable.
Siguientes pasos
- Consulta una descripción general de las métricas del lado del cliente.
- Consulte las descripciones completas de las métricas del lado del cliente.