הגדרת מדדים בצד הלקוח
בדף הזה מוסבר איך להתקין, להגדיר ולהשתמש במדדים של Bigtable בצד הלקוח.
מדדים בצד הלקוח זמינים למשתמשים בספריות הלקוח הבאות:
- ספריית הלקוח של Bigtable ל-C++
- ספריית לקוח Bigtable ל-Java
- לקוח Bigtable HBase ל-Java
- ספריית לקוח של Bigtable ל-Go
- ספריית הלקוח של Bigtable ל-Node.js
סקירה כללית זמינה במאמר סקירה כללית על מדדים מצד הלקוח. רשימה מפורטת של המדדים מופיעה במאמר תיאורים של מדדים מצד הלקוח.
הוספה או אישור של הרשאות לחשבון שירות
כדי להוסיף הרשאות IAM לחשבון השירות, מבצעים את הפעולות הבאות:
נכנסים לדף IAM במסוף Google Cloud .
בוחרים את הפרויקט שבו יצרתם את אשכול Bigtable.
מחפשים את חשבון השירות שרוצים להוסיף לו את ההרשאה.
לוחצים על עריכת הגורם המורשה.
לוחצים על 'הוספת תפקיד נוסף'.
מחפשים את האפשרות 'כתיבת מדדי מעקב' ובוחרים את התוצאה.
לוחצים על Save.
הפעלת Cloud Monitoring API
במסוף Google Cloud , נכנסים לדף APIs & Services.
בוחרים את הפרויקט שבו יצרתם את אשכול Bigtable.
לוחצים על Enable APIs and Service.
חיפוש של
Monitoring.בתוצאות החיפוש, לוחצים על Cloud Monitoring API.
אם מוצג הכיתוב API enabled, סימן שממשק ה-API כבר מופעל. אם לא, לוחצים על הפעלה.
הגדרת ספריית הלקוח של Bigtable
אחרי שמפעילים את Cloud Monitoring API, מגדירים את ספריית הלקוח של Bigtable.
C++
אם אתם משתמשים בספריית הלקוח של Bigtable עבור C++, שקוראת ל-Bigtable APIs, אתם צריכים לבצע את השלבים הבאים.
התקנה והגדרה של ספריית הלקוח ל-C++
משלבים את הספרייה באמצעות מערכות בנייה נפוצות של C++, כמו CMake או Bazel. מידע נוסף זמין במאמר בנושא בנייה והתקנה.
כדי שספריית הלקוח של Bigtable תוכל לאסוף את המדדים בצד הלקוח, הפרויקט צריך לכלול תלות ב-OpenTelemetry וב-Cloud Monitoring. OpenTelemetry מספקת את המסגרת לספריית הלקוח כדי ליצור, להגדיר ולתעד את המדדים, בעוד שספריית Cloud Monitoring מספקת את הפונקציונליות לייצוא או לפרסום של המדדים האלה ב-Cloud Monitoring.
הפעלה של מדדים בצד הלקוח באפליקציה
המדדים מצד הלקוח מופעלים כברירת מחדל בספריית הלקוח Bigtable ל-C++ החל מגרסה 2.40.0.
המדדים נאספים באופן אוטומטי אם התלות ב-OpenTelemetry וב-Cloud Monitoring זמינה בפרויקט. אין חיוב נוסף על המדדים האלה.
אופציונלי: ביטול ההסכמה לשליחת מדדים בצד הלקוח
כדי להפסיק את השימוש במדדים בצד הלקוח, צריך להגדיר את הערך של EnableMetricsOption ל-false כשיוצרים את חיבור הנתונים.
auto options = Options{}.set<EnableMetricsOption>(false);
TableResource resource("my-project", "my-instance", "my-table");
Table table(MakeDataConnection(std::move(options)), std::move(resource));
המשך
אם אתם משתמשים בספריית הלקוח של Bigtable ל-Go, שקוראת ל-Bigtable APIs, אתם צריכים לבצע את השלבים הבאים.
התקנה והגדרה של ספריית הלקוח ל-Go
מעדכנים את ספריית הלקוח של Bigtable ל-Go לגרסה 1.27.0 ואילך. התג go.mod אמור להיראות כך:
require (
cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54
אופציונלי: ביטול ההסכמה לשליחת מדדים בצד הלקוח
מדדים בצד הלקוח מופעלים כברירת מחדל בספריית הלקוח של Go. כדי לבטל את ההסכמה, מעבירים את הערך NoopMetricsProvider ב-ClientConfig:
client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})
HBase
אם אתם משתמשים בלקוח Bigtable HBase ל-Java, שמבצע קריאות ל-HBase API, כדי לחבר את האפליקציה ל-Bigtable, אתם צריכים לפעול לפי השלבים הבאים.
התקנה והגדרה של ספריית הלקוח של HBase ל-Java
מורידים ומתקינים את הגרסה האחרונה של לקוח Bigtable HBase ל-Java. כדי להפעיל מדדים בצד הלקוח, צריך להשתמש בגרסה 2.6.4 ואילך.
יוצרים פרויקט Maven ריק.
קובעים את התלות של הארטיפקט שמתאימה לתרחיש לדוגמה שלכם. גרסאות
2.xכוללות לקוח HBase אסינכרוני שלא קיים בגרסאות1.x.-
bigtable-hbase-1.xאוbigtable-hbase-2.x: לשימוש באפליקציות עצמאיות שבהן אתם שולטים ביחסי התלות. -
bigtable-hbase-1.x-hadoopאוbigtable-hbase-2.x-hadoop: לשימוש בסביבות Hadoop. -
bigtable-hbase-1.x-shadedאוbigtable-hbase-2.x-shaded: לשימוש בסביבות שאינן Hadoop שנדרשות בהן גרסאות קודמות של רכיבים כמו protobufs או Guava.
-
מעדכנים את הקובץ pom.xml:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud.bigtable</groupId> <artifactId>BIGTABLE_HBASE_ARTIFACT</artifactId> <version>VERSION_NUMBER</version> </dependency> </dependencies> </dependencyManagement>עליך לספק את הפרטים הבאים:
-
BIGTABLE_HBASE_ARTIFACT: התלות של הארטיפקט בפרויקט, בפורמטbigtable-hbase-1.xאוbigtable-hbase-2.x-hadoop. -
VERSION_NUMBER: הגרסה של ספריית הלקוח שבה אתם משתמשים, בפורמט2.6.4
-
הפעלה של מדדים בצד הלקוח באפליקציה
שימוש ב-bigtable-hbase-1.x או ב-bigtable-hbase-2.x
כשיוצרים חיבור באמצעות ספריית הלקוח של HBase ואחד מפריטי הארטיפקט bigtable-hbase-1.x או bigtable-hbase-2.x, הקוד להפעלת המדדים המובנים בצד הלקוח נראה בערך כך:
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();
שימוש בארטיפקטים של -hadoop או -shaded
כשיוצרים חיבור באמצעות ספריית הלקוח של HBase ואחד מפריטי ה-artifact -hadoop או -shaded, הקוד להפעלת המדדים המובנים בצד הלקוח נראה בערך כך:
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();
אופציונלי: ביטול ההסכמה לשליחת מדדים בצד הלקוח
אם אתם משתמשים בגרסה 2.14.1 ואילך, מדדים מצד הלקוח מופעלים כברירת מחדל. אפשר לבטל את ההצטרפות.
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
אם אתם משתמשים בספריית הלקוח של Bigtable ל-Java, שקוראת לממשקי Bigtable API, אתם צריכים לבצע את השלבים הבאים.
לפני שמתחילים
אופציונלי: אם אתם משתמשים בשילוב של OpenCensus
Stats
כדי לקבל מדדים של Bigtable, צריך לבטל את התלות ואת השינויים ב-StackdriverStatsExporter באפליקציה. כדי להבין למה, אפשר לעיין במאמר מתי כדאי לשדרג.
התקנה והגדרה של ספריית הלקוח ל-Java
- מורידים ומתקינים את ספריית הלקוח העדכנית של Bigtable ל-Java. כדי להשתמש במדדים בצד הלקוח, צריך גרסה 2.16.0 ומעלה.
מעדכנים את הקובץ pom.xml של ספריית הלקוח של Java כדי להשתמש בגרסה העדכנית ביותר. קובץ ה-pom אמור להיראות כך:
<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>
הפעלה של מדדים בצד הלקוח באפליקציה
כשיוצרים לקוח באמצעות ספריית הלקוח, מפעילים את המדדים המובנים. הקוד שלכם צריך להיראות בערך כך:
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
}
הגדרת מופע OpenTelemetry בהתאמה אישית
אם אתם משתמשים בגרסה 2.38.0 ואילך, ואתם רוצים לפרסם מדדים בצד הלקוח ב-Cloud Monitoring ובמאגרי נתונים מותאמים אישית, אתם יכולים להגדיר מופע מותאם אישית של OpenTelemetry.
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
}
אופציונלי: ביטול ההסכמה לשליחת מדדים בצד הלקוח
אם אתם משתמשים בגרסה 2.38.0 ואילך, אתם יכולים לבטל את השימוש במדדים בצד הלקוח.
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("my-project")
.setInstanceId("my-instance")
.setMetricsProvider(NoopMetricsProvider.INSTANCE)
.build();
Node.js
אם אתם משתמשים בספריית הלקוח של Bigtable ל-Node.js, שקוראת ל-Bigtable APIs, אתם צריכים לבצע את השלבים הבאים.
התקנה והגדרה של ספריית הלקוח ל-Node.js
מורידים ומתקינים את ספריית הלקוח העדכנית של Bigtable ל-Node.js.
כדי להשתמש במדדים בצד הלקוח, צריך גרסה 6.2.0 ואילך. קובץ
package.jsonצריך להיראות בערך כך:{ "dependencies": { "@google-cloud/bigtable": "^6.2.0" } }בפרויקט, מתקינים מחדש את מודולי Node.js:
rm -rf node_modules rm package-lock.json npm i
הפעלה של מדדים בצד הלקוח באפליקציה
מדדים בצד הלקוח מופעלים כברירת מחדל בספריית הלקוח של Bigtable ל-Node.js החל מגרסה 6.4.0.
אופציונלי: ביטול ההסכמה לשליחת מדדים בצד הלקוח
אתם יכולים להשבית את השימוש במדדים בצד הלקוח.
const bigtable = new Bigtable({metricsEnabled: false});
צפייה במדדים ב-Metrics Explorer
נכנסים לדף Metrics Explorer במסוף Google Cloud .
בוחרים את הפרויקט.
לוחצים על בחירת מדד.
חיפוש של
bigtable.googleapis.com/client.בוחרים מדד,
group byשיטה וסטטוס, ובוחרים פונקציית צבירה. כדי לראות אפשרויות נוספות, אפשר לעיין במאמר איך בוחרים מדדים כשמשתמשים ב-Metrics Explorer.
אחרי שמפעילים את המדדים בצד הלקוח, צריך להפעיל את האפליקציה למשך דקה לפחות לפני שבודקים אם יש מדדים שפורסמו.
הצגת מדדים במעקב ב-Bigtable
בדף Bigtable monitoring מוצגים תרשימים של המדדים הבאים בצד הלקוח:
- זמן אחזור של קריאה בצד הלקוח
- זמן האחזור של כתיבה בצד הלקוח
- זמן האחזור של ניסיון קריאה בצד הלקוח
- זמן האחזור של ניסיון כתיבה בצד הלקוח
כדי לראות את המדדים בצד הלקוח בדף Monitoring:
פותחים את רשימת מופעי Bigtable במסוף Google Cloud .
לוחצים על המופע שרוצים לראות את המדדים שלו.
בחלונית הימנית, לוחצים על מעקב. במסוף Google Cloud מוצגת סדרה של תרשימים לגבי המופע.
גוללים בחלונית כדי לראות את המדדים בצד הלקוח.
אופציונלי: כדי לראות מדדים ברמת הטבלה, לוחצים על טבלאות.
אופציונלי: כדי לראות מדדים של פרופילים של אפליקציות ספציפיות, לוחצים על פרופילים של אפליקציות.
מידע נוסף זמין במאמר בנושא מעקב אחרי Bigtable.