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

בדף הזה מוסבר איך להתקין, להגדיר ולהשתמש במדדים של Bigtable בצד הלקוח.

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

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

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

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

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

    כניסה ל-IAM

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

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

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

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

  6. מחפשים את האפשרות 'כתיבת מדדי מעקב' ובוחרים את התוצאה.

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

הפעלת Cloud Monitoring API

  1. במסוף Google Cloud , נכנסים לדף 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 במסוף Google Cloud .

    כניסה ל-Metrics Explorer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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