問題タブ [google-cloud-monitoring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - CLOUD_SDK_CREDENTIALS_WARNING ほとんどのサーバー アプリケーションでは代わりにサービス アカウントを使用することをお勧めします
コンテキスト: FireStore ダッシュボードからデータを取得 (ダウンロード) する方法を学びました。明らかに、ブラウザで Google ダッシュボードを開いて、Google Dasboard を所有していることを目で確認する方がはるかに簡単です。とはいえ、個人的な理由から、私の会社ではオペレーターは 3 つ目のダッシュボードを見ることができません。内部ダッシュボードのみを表示できます。ダッシュボードに入力するために使用される同じデータを取得/ダウンロードし、Dynatrace/ELK に基づく内部ソリューションにインポートできるいくつかの回避策を試しています。
学習目的で、Google ダッシュボードのデータをダウンロードするために、次の手順に従いました。
1 - gcloud を使用して ACCESS_TOKEN を取得する
2 - 上記の ACCESS_TOKEN を使用して、次のようなダッシュボード データを取得します。
明らかに、これはフィルター基準を満たす接続の数を取得する方法の単なる例です。Google Cloud MetricsとGoogle Cloud API v3に従って API とフィルターを調整しながら検索を続けることができます
今回APIバージョン1からDashboardメタデータを取得する他の例は
gcloud から ACCESS-TOKEN を取得する際の警告は、認証ガイダンスを確認することを奨励し、私はそれを実行しました。この警告を修正する方法についても、「アプリケーションが Cloud SDK のエンド ユーザー資格情報を引き続き使用すると、「クォータを超えました」または「API が有効になっていません」というエラーが表示される可能性がある」理由についても説明されていません。ダッシュボードからデータを取得するためのトリックが機能していることはわかりますが、ACCESS-TOKEN を取得するために奇妙な方法に頼っているようです。
したがって、私の率直な質問は次のとおりです。ACCESS-TOKEN を手動で取得し、そのような警告を回避して curl/postman で使用するための適切な手順は何ですか?
このstackoverflowの回答に基づいて、根本的な原因は「...このエラーメッセージは、サービスアカウントではなくユーザーアカウントを使用していることを意味します...」どうすれば修正できますか? サービス アカウントを作成する必要がありますか? もしそうなら、どのように?この受け入れられた回答の最後に、「...真のアプリケーションのデフォルトを使用するには、gcloud auth application-default loginを使用できます...」と読みました。これは、gcloudでログを記録する方法とまったく同じです:gcloud auth application-default loginを実行します、Google SingleSignOnを開くと、Firebaseアカウントに登録したのと同じユーザーであるメールを選択します。回答には、「... 特定のサービス アカウントを関連付ける方法は gcloud auth activate-service-account --key-file です ....」 も記載されています。約?
関連する場合、私の場合、Firebase プロジェクトで FireStore のみを使用しています (FireStore 以外は使用していません)。
***ジョンの回答後に編集
このプロジェクトは間もなく本番環境に移行します。
1 - 当社のモバイル アプリは、当社の内部マイクロサーブに投稿することで送金を作成します。このようなポスト リクエストは、内部 NodeJs サーバーから生成された CustomToken を返します。
2 - 当社の内部マイクロサービスは、そのような転送を Firestore にレプリケートし、それに応じて Firestore の状態を更新します。
3 - モバイル アプリのポーリングまたは内部マイクロサービスをリッスンしてステータスを取得する代わりに、Firestore をリッスンして、それぞれのドキュメントからステータスを取得します。リッスンするために、ステップ 1 の投稿から返された CustomToken を使用します。当社は、このプロジェクトで Google Firestore のリアルタイム データベース機能を利用したいと考えています (リアクティブ アプローチ)。
私がやっていることをあなたの声明と比較すると、何か考慮事項がありますか?
CustomToken は、この NodeJs サーバーで内部的に作成され、Google Firebase からの事前のユーザー認証/ユーザーから抽出された uid に応じて作成されます。
私たちのモバイル (Angular の例ですが、IOS と Android の考え方は同じです) には、次のようにダウンロードした SERVICE_ACCOUNT_JSON_FILE があります。
環境.ts:
app.component.ts
CustomToken の作成とモバイルからのその使用の両方がサービス アカウントに完全に依存していることを理解しています。私は正しいですか?いくつかの概念を見逃していて、舞台裏で USER CREDENTIAL を使用していて、DEV 環境で適切に動作する何かが本番環境で驚きをもたらすでしょうか? 明らかに、この質問はすべて私の無料アカウントからのものですが、実稼働環境では有料アカウントになりますが、コードと手順はこことまったく同じです。
google-cloud-stackdriver - VM にインストールされた GCP スタックドライバ エージェントが毎分奇妙なログを送信する
次の問題で私を助けてください。
node.js にバックエンド サービスがあり、GCE VM にデプロイしました。正常に動作していますが、ロギングおよびモニタリング エージェントをインストールした後、ログ ビューアに非常に奇妙なログが表示されます。そのログを生成する有料を見ました。スタックドライバーエージェントです。
ここにそれらがあります:
そのため、毎分、そのようなログが表示されます。stackdriver-agent サービスを停止すると、それらは消えます。私のプロジェクトには 4 つの VM があります。そして、そのような問題が発生するのは、Cent OS7 VM と Ubuntu 18 VM の 2 つだけです。
prometheus - Google Cloud で Grafana kNative ダッシュボードを再作成する方法
Google Kubernetes Engine クラスターに Prometheus と Grafana をインストールする kNative Observability プラグインを使用しています。
2 つの問題があります。
- kNative の最新バージョンでは、プラグインは非推奨です
- プラグインは Prometheus ポッド内にログを保存し (私の推測では)、高負荷時にクラッシュすることがあります。
Google Cloud Monitoring で Grafana ダッシュボードを再作成する方法はありますか? より良い質問は、Prometheus によって記録された kNative ログを Google Cloud の環境に取得する方法はないかということです。
google-cloud-platform - Google ロード バランサーがモニタリング ダッシュボードに表示されない
バックエンド サービスを使用してグローバル ロードバランサを作成し、Google Cloud プロジェクトでのロギングを有効にしました。Load Balancer のグラフとメトリックは Monitoring ダッシュボードに表示されるはずですが、グラフとメトリックは作成されませんでした。
Google Cloud ドキュメントでは、プロジェクトにロード バランサが存在する場合、ロード バランサ ダッシュボードを使用する準備ができているように見えます。また、ロード バランサー ダッシュボードを手動で作成する方法も見つかりません。