הגדרת מדדים בצד הלקוח

מדדים בצד הלקוח של Bigtable מאפשרים לכם לעקוב אחרי ביצועי האפליקציה, לעקוב אחרי זמני האחזור של הבקשות ולאבחן בעיות בקישוריות.

מדדים מצד הלקוח זמינים למשתמשים בספריות הלקוח הבאות:

מידע רקע והגדרות של מדדים מופיעים במאמרים סקירה כללית על מדדים מצד הלקוח ותיאורים של מדדים מצד הלקוח.

הוספה או אישור של הרשאות לחשבון שירות

כדי להוסיף הרשאות IAM לחשבון השירות, מבצעים את הפעולות הבאות:

  1. נכנסים לדף IAM במסוף Cloud de Confiance .

    כניסה לדף IAM

  2. בוחרים את הפרויקט שבו יצרתם את אשכול Bigtable.

  3. מחפשים את חשבון השירות שרוצים להוסיף לו את ההרשאה.

  4. לוחצים על עריכת הגורם המורשה.

  5. לוחצים על 'הוספת תפקיד נוסף'.

  6. מחפשים את האפשרות 'כתיבת מדד לניטור' ובוחרים את התוצאה.

  7. לוחצים על Save.

הפעלת Cloud Monitoring API

  1. במסוף Cloud de Confiance , נכנסים לדף APIs & Services.

    כניסה אל APIs and services

  2. בוחרים את הפרויקט שבו יצרתם את אשכול Bigtable.

  3. לוחצים על Enable APIs and Service.

  4. חיפוש של Monitoring.

  5. בתוצאות החיפוש, לוחצים על Cloud Monitoring API.

  6. אם מוצג הכיתוב 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

  1. מורידים ומתקינים את הגרסה האחרונה של לקוח Bigtable HBase ל-Java. כדי להפעיל מדדים בצד הלקוח, צריך להשתמש בגרסה 2.6.4 ואילך.

  2. יוצרים פרויקט Maven ריק.

  3. קובעים את התלות של הארטיפקט שמתאימה לתרחיש לדוגמה. גרסאות 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.
  4. מעדכנים את הקובץ 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

  1. מורידים ומתקינים את ספריית הלקוח העדכנית של Bigtable ל-Java. כדי להשתמש במדדים בצד הלקוח, אתם צריכים גרסה 2.16.0 ואילך.
  2. מעדכנים את קובץ 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

  1. מורידים ומתקינים את ספריית הלקוח העדכנית של Bigtable ל-Node.js.

    כדי להשתמש במדדים בצד הלקוח, צריך גרסה 6.2.0 ואילך. קובץ package.json צריך להיראות בערך כך:

    {
      "dependencies": {
        "@google-cloud/bigtable": "^6.2.0"
      }
    }
    
  2. בפרויקט, מתקינים מחדש את מודולי 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

  1. נכנסים לדף Metrics Explorer במסוף Cloud de Confiance .

    כניסה ל-Metrics Explorer

  2. בוחרים את הפרויקט.

  3. לוחצים על בחירת מדד.

  4. חיפוש של bigtable.googleapis.com/client.

  5. בוחרים מדד, group byשיטה וסטטוס, ובוחרים מצבר. אפשרויות נוספות מפורטות במאמר איך בוחרים מדדים כשמשתמשים ב-Metrics Explorer.

אחרי שמפעילים מדדים בצד הלקוח, צריך להפעיל את האפליקציה למשך דקה לפחות לפני שבודקים אם יש מדדים שפורסמו.

הצגת מדדים במעקב ב-Bigtable

בדף Bigtable monitoring מוצגים תרשימים של המדדים הבאים בצד הלקוח:

  • זמן אחזור של קריאה בצד הלקוח
  • זמן האחזור של כתיבה בצד הלקוח
  • זמן האחזור של ניסיון קריאה בצד הלקוח
  • השהיה בניסיון כתיבה בצד הלקוח

כדי לראות את המדדים בצד הלקוח בדף Monitoring:

  1. במסוף Cloud de Confiance , פותחים את רשימת מופעי Bigtable.

    פתיחת רשימת המופעים

  2. לוחצים על המופע שרוצים לראות את המדדים שלו.

  3. בחלונית הימנית, לוחצים על מעקב. במסוף Cloud de Confiance מוצגת סדרה של תרשימים לגבי המופע.

  4. גוללים בחלונית כדי לראות את המדדים בצד הלקוח.

  5. אופציונלי: כדי לראות מדדים ברמת הטבלה, לוחצים על Tables (טבלאות).

  6. אופציונלי: כדי לראות מדדים של פרופילים של אפליקציות ספציפיות, לוחצים על פרופילים של אפליקציות.

מידע נוסף זמין במאמר בנושא מעקב אחרי Bigtable.

המאמרים הבאים