В документации Google отсутствует четкий ответ, если это возможно, и как получить образец metri c из API мониторинга - PullRequest
1 голос
/ 02 мая 2020

Я очень внимательно посмотрел на API мониторинга . Насколько я прочитал, можно использовать gcloud для создания политик мониторинга и редактирования политик ( Использование Aleert API ).

Тем не менее, с одной стороны, кажется, что gcloud умеет только создавать и редактировать параметры политик, а не читать результат из таких политик. С этой страницы я читаю следующие параметры:

Creating new policies
Deleting existing policies
Retrieving specific policies
Retrieving all policies
Modifying existing policies

С другой стороны, я читаю из результат неудавшегося запроса

Summary of the result of a failed request to write data to a time series.

Так что звонит в мой звонок Имейте в виду, что я могу получить список результатов, как все неудавшиеся запросы на запись в течение определенного периода. Но как?

Пожалуйста, мой простой вопрос: могу ли я каким-либо образом либо прослушать события оповещения, либо получить список результатов оповещения, выдав Monitoring API v3 ?.

Я вижу tag_firestore_instance , как-то связанный с firestore, но как его использовать и какую информацию я могу найти? Я нигде не могу найти, как его использовать. Может быть, как обычно получить (например, почтальон / curl) или из оболочки gcloud.

PS .: Этот вопрос был первоначально размещен в Google Group , но я был зашифрован, чтобы спросить здесь.

*** Отредактировано после предложения Алекса

У меня есть Angular страница, прослушивающая документ из моей базы данных Firestore

export class AppComponent {
  public transfers: Observable<any[]>;

  transferCollectionRef: AngularFirestoreCollection<any>;

  constructor(public auth: AngularFireAuth, public db: AngularFirestore) {
    this.listenSingleTransferWithToken();
  }

  async listenSingleTransferWithToken() {
    await this.auth.signInWithCustomToken("eyJ ... CVg");
    this.transferCollectionRef = this.db.collection<any>('transfer', ref => ref.where("id", "==", "1"));
    this.transfers = this.transferCollectionRef.snapshotChanges().map(actions => {
      return actions.map(action => {
        const data = action.payload.doc.data();
        const id = action.payload.doc.id;
        return { id, ...data };
      });
    });
  }
}

Итак, я понимаю, что по крайней мере один счетчик считываний должен вернуться с

name: projects/firetestjimis
filter: metric.type = "firestore.googleapis.com/document/read_count"
interval.endTime: 2020-05-07T15:09:17Z

Try This API

1 Ответ

1 голос
/ 06 мая 2020

Было немного трудно понять, что вы говорите, но вот что я понял.

Это список доступных метрик Firestore: https://cloud.google.com/monitoring/api/metrics_gcp#gcp -firestore

Затем вы можете передать эти типы метри c этому API https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list

На этой странице я использовал инструмент "Попробуйте этот API" справа сторона и заполнено следующим

name = projects/MY-PROJECT-ID

filter = metric.type = "firestore.googleapis.com/api/request_count"

interval.endTime = 2020-05-05T15:01:23.045123456Z

В инспекторе chrome я вижу, что это запрос GET, который сделал инструмент: https://content-monitoring.googleapis.com/v3/projects/MY-PROJECT-ID/timeSeries?filter=metric.type%20%3D%20%22firestore.googleapis.com%2Fapi%2Frequest_count%22&interval.endTime=2020-05-05T15%3A01%3A23.045123456Z&key=API-KEY-GOES-HERE

РЕДАКТИРОВАТЬ: вышеуказанное вернуло 200, но с пустой полезной нагрузкой json. Нам также нужно было добавить следующую запись, чтобы получить данные для заполнения

interval.startTime = 2020-05-04T15:01:23.045123456Z

Также попробуйте перейти здесь console.cloud.google.com/monitoring/metrics-explorer и введите firestore в поле «Найти тип ресурса и метрику c» и посмотрите, заполнены ли данные на собственных панелях Google. (Это для подтверждения того, что на самом деле есть данные для вас)

...