Closed sinmetal closed 4 years ago
App Engine, HTTP LB などの外に公開されているもののリクエストログが大きくなりがち。 現在のログの出力状況はConsoleで確認できる。 無料枠が月額50GBあるので、50GB以内に余裕で収まってるような状況であれば、特に問題ない。
ログを除外する設定を行うことができる。 https://cloud.google.com/logging/docs/exclusions?hl=en
設定は Logs integestion
のoptionから開始できる。
Exportと同じように除外するログを取得できるようにフィルタリング条件を設定する。
Percent to Exclude
の値が、除外率でデフォルトは100%除外するようになっているので、サンプリングしたような感じだと、ここの値を調整する。
ログの除外設定は Logs integestion
の Exclusions
tab で確認できる。
一時的にDisableにすることもできるので、アプリケーションのリリース時はDisableにしておいて、問題なければ、Enableに戻すようなこともできる。
急激なトラフィック増加や、アプリケーションのバグなどでログを吐きすぎたことを検知するために、Log出力量じたいをStackdriverでモニタリングして、アラートを投げることができるようになっている。
ログを除外すると完全に見えなくなるが、それだと、3日前にほげほげが発生していたが、なんだったのか?みたいなの確認するのが難しくなる。また、リクエスト数の分析などができなくなる。
そのような場合、Exportの設定をしておくことで、ログをCloud Storage, BigQuery, PubSubに出力できる。除外設定を行っていたとしても、Exportは有効になる。なので、まったくStackdriver Loggingを見ないのであれば、100%除外して、全部Exportしてもよい。
Cloud Storageの場合は1h毎にNEWLINE_DELIMITED_JSONで出力され、BigQuery, PubSubはニアリアルタイムに挿入される。調査や分析のために利用する場合は、Cloud StorageかBigQueryだろう。BigQueryの場合はStremiang Insertの料金がかかるが、 $0.05/GB
ぐらいなので、Stackdriver Loggingの十分の一のお値段である。その金額が許容範囲なら、BigQueryが最も便利だ。
ログのExport設定 の話を追加しましたー。
一言で言うと、除外とExportは別々に動くので、100%除外しても、Exportには出てくるよ!って感じです。
WHAT
2018年6月30日からStackdriverの料金体系が大きく変わっていくので、それに備える https://cloud.google.com/stackdriver/pricing_v2?hl=en
料金体系変更の概要
今までは
Standard Tier
,Premium Tier
の2つの料金体系で、Premium Tier
にするとAlert先の増加など、機能が解放されるという形だった。 新しい料金体系は、機能はすべて同じで、LoggingやMetricなどのトラフィック量に対して課金されるようになった。 ある程度、無料枠があるので、小さなProjectは機能がフルに使えるようになってハッピーな感じだが、トラフィックが多い大きなProjectは大きく課金されないようにログの除外などの設定をしてあげる必要がある。Stackdriver 料金変更スケジュール
WHY
無料だったものが有料になるものも存在するため、料金にびっくしりないように。