Function Compute Release Log Keyword Second Search Function
こんなお悩みを抱えていませんか?
小王はプログラマーですが、最近 Function as a Service (FaaS) の使用中に頭を悩ませる問題にぶつかりました。FaaS アプリケーションで多数のエラーが発生しているものの、リクエスト数が多すぎてログページを呼び出すことができず、バグの原因を簡単かつ素早く特定できないという問題です。
小王にとって、開発や運用保守の中で自身のアプリケーションのエラーを確認するのは、もともとは日常的な作業でした。以前は、サーバーのローカル出力ログでキーワードを確認し、ロジックが正しいかどうかを検証してから、実行環境でエラーメッセージを確認すれば、エラーの根本原因はほぼ特定できていました。しかし今や、アプリケーションをクラウドにデプロイし、ビジネスの実行を FaaS プロバイダーに委ねると、FaaS プロバイダーが提供するログソリューションに頼って関連するデバッグ情報をクエリするしかなく、サーバー上でのデバッグのように直接エラーの原因を調査して修正する手段はありません。
この問題のせいで、小王は毎日数十、数百に上るリクエストリストを呼び出しログの中で目視で探し回り、目が限界に達しています。もはや我慢できなくなった小王は、自力で解決策を探り始めます。
主流の関数コンピューティング製品はどう対応しているか
小王が国内の主要な関数コンピューティング製品を比較したところ、ログの観点で 3 つの共通点があることがわかりました。
A. いずれも独自のログサービスシステムに依存してログストレージを管理している。
B. リクエストリストページをユーザーに公開し、各リクエスト配下にそのリクエストのすべてのログを含んでいる。
C. いずれもログサービスへの遷移による自律的なクエリをサポートし、複数の関数から同じログウェアハウスへの書き込みをサポートしている。
上記 3 つの共通点は理にかなっているように見えます。いずれも自社製の成熟したログサービスをログストレージシステムとして利用しており、ログのセキュリティを確保するとともに、良好なクエリ体験を提供しています。リクエスト単位のログも自然にユーザー間の分離を実現し、FaaS のイベント駆動という特性とも整合しています。ただし、バインドされたログサービスプロダクトへの遷移をサポートする設計については、評価が分かれるかもしれません。完全性や正確性には問題がなく、バインドされたログサービスはユーザーのビジネスログの信頼できるソースとして機能します。
一方でデメリットもあります。ユーザーが膨大なログ情報を前にしたとき、複数のアプリケーションやクラウドサービスの設定に関する情報が混在しているため、運用コストが確実に増大し、セルフサービスクエリ機能を使いこなすには長い学習期間が必要です。デバッグ時に開発者が最も気にしているのはエラースタックですが、ログサービスの中では関連性の低い情報が多く目に入ってきます。
必要なものがそのまま見える
Alibaba Cloud Function Compute は一目で問題を特定
ユーザーのログクエリ体験を最適化 — テキスト指向ロギング
より快適にご利用いただけるよう、Alibaba Cloud Function Compute (FC) は今年 2 月にログキーワード検索機能をリリースし、現在オンラインでご利用いただけます。次に、いくつかの例を使って、小王がこの機能でリクエストログを素早く特定し、目の負担を軽減できた方法をご紹介します。
(1) テキスト指向ロギング
呼び出しログ — キーワード検索ページでは、開発者は現在の関数の完全かつ詳細なビジネスログを確認できます。
(関数の初期化ログおよび呼び出しログを含みます。)ここでは、開発者はテキストのみに集中でき、Function Compute が Log Service ページのその他の不要な情報を取り除きます。
(2) クエリとハイライトのサポート
開発者はキーワード検索を使用する際、自由にテキストを入力できます。冒頭の画像のユーザーのように、注文番号などの特徴的な情報を検索ボックスに直接入力して、目的のログ情報をクエリできます。
以下は Yuque の動画カードです。リンクをクリックしてご覧ください:Screen Recording 2022-03-03 at 7.25.06 PM.mov
(3) 単純なクエリ構文の論理演算のサポート
キーワードクエリの検索ボックスでは、AND、OR、NOT などのフィールドを使ってテキストを連結できます(Log Service の構文に準拠)。これにより、ユーザーはより精密な検索を行えます。
リンクをクリックしてご覧ください:Screen Recording 2022-03-03 at 7.20.55 PM.mov
(4) カスタムランタイムにさらにユーザーフレンドリー
カスタムランタイムやカスタムコンテナなど、ユーザーによるカスタマイズが必要なランタイムについても、テキスト指向のログ表示とキーワード検索をサポートしており、コンテナ起動時のログも自然な形でユーザーに表示されます。
Alibaba Cloud Function Compute (FC) のカスタムコンテナで定番の Python Flask フレームワークを例にとります。コンテナの起動時の様子や、Python Flask サーバーの起動ログもコンソールに表示されます。同様に、イニシャライザーやカスタムランタイムからのログも収集できます。
ぜひお試しください
Alibaba Cloud Function Compute (FC) の関数詳細ページで「呼び出しログ」をクリックすると、現在の関数の呼び出し記録をクエリできます。「キーワード検索」タブで、関数の呼び出しログの内容を確認できます。
Alibaba Cloud Function Compute (FC) は、ユーザーに極めて高いエンジニアリング効率を提供し、コスト削減と効率向上を支援するだけでなく、プロダクトの利用体験がスムーズかどうかも重視しています。
ビジネス量の増加に伴い、ユーザーのログに対する要望も高まっています。関数コンピューティングコンソールのリクエストリストとキーワードクエリの組み合わせにより、開発者のログ要件を 100% カバーでき、問題を素早く特定してビジネスログを直接取得できます。
小王はプログラマーですが、最近 Function as a Service (FaaS) の使用中に頭を悩ませる問題にぶつかりました。FaaS アプリケーションで多数のエラーが発生しているものの、リクエスト数が多すぎてログページを呼び出すことができず、バグの原因を簡単かつ素早く特定できないという問題です。
小王にとって、開発や運用保守の中で自身のアプリケーションのエラーを確認するのは、もともとは日常的な作業でした。以前は、サーバーのローカル出力ログでキーワードを確認し、ロジックが正しいかどうかを検証してから、実行環境でエラーメッセージを確認すれば、エラーの根本原因はほぼ特定できていました。しかし今や、アプリケーションをクラウドにデプロイし、ビジネスの実行を FaaS プロバイダーに委ねると、FaaS プロバイダーが提供するログソリューションに頼って関連するデバッグ情報をクエリするしかなく、サーバー上でのデバッグのように直接エラーの原因を調査して修正する手段はありません。
この問題のせいで、小王は毎日数十、数百に上るリクエストリストを呼び出しログの中で目視で探し回り、目が限界に達しています。もはや我慢できなくなった小王は、自力で解決策を探り始めます。
主流の関数コンピューティング製品はどう対応しているか
小王が国内の主要な関数コンピューティング製品を比較したところ、ログの観点で 3 つの共通点があることがわかりました。
A. いずれも独自のログサービスシステムに依存してログストレージを管理している。
B. リクエストリストページをユーザーに公開し、各リクエスト配下にそのリクエストのすべてのログを含んでいる。
C. いずれもログサービスへの遷移による自律的なクエリをサポートし、複数の関数から同じログウェアハウスへの書き込みをサポートしている。
上記 3 つの共通点は理にかなっているように見えます。いずれも自社製の成熟したログサービスをログストレージシステムとして利用しており、ログのセキュリティを確保するとともに、良好なクエリ体験を提供しています。リクエスト単位のログも自然にユーザー間の分離を実現し、FaaS のイベント駆動という特性とも整合しています。ただし、バインドされたログサービスプロダクトへの遷移をサポートする設計については、評価が分かれるかもしれません。完全性や正確性には問題がなく、バインドされたログサービスはユーザーのビジネスログの信頼できるソースとして機能します。
一方でデメリットもあります。ユーザーが膨大なログ情報を前にしたとき、複数のアプリケーションやクラウドサービスの設定に関する情報が混在しているため、運用コストが確実に増大し、セルフサービスクエリ機能を使いこなすには長い学習期間が必要です。デバッグ時に開発者が最も気にしているのはエラースタックですが、ログサービスの中では関連性の低い情報が多く目に入ってきます。
必要なものがそのまま見える
Alibaba Cloud Function Compute は一目で問題を特定
ユーザーのログクエリ体験を最適化 — テキスト指向ロギング
より快適にご利用いただけるよう、Alibaba Cloud Function Compute (FC) は今年 2 月にログキーワード検索機能をリリースし、現在オンラインでご利用いただけます。次に、いくつかの例を使って、小王がこの機能でリクエストログを素早く特定し、目の負担を軽減できた方法をご紹介します。
(1) テキスト指向ロギング
呼び出しログ — キーワード検索ページでは、開発者は現在の関数の完全かつ詳細なビジネスログを確認できます。
(関数の初期化ログおよび呼び出しログを含みます。)ここでは、開発者はテキストのみに集中でき、Function Compute が Log Service ページのその他の不要な情報を取り除きます。
(2) クエリとハイライトのサポート
開発者はキーワード検索を使用する際、自由にテキストを入力できます。冒頭の画像のユーザーのように、注文番号などの特徴的な情報を検索ボックスに直接入力して、目的のログ情報をクエリできます。
以下は Yuque の動画カードです。リンクをクリックしてご覧ください:Screen Recording 2022-03-03 at 7.25.06 PM.mov
(3) 単純なクエリ構文の論理演算のサポート
キーワードクエリの検索ボックスでは、AND、OR、NOT などのフィールドを使ってテキストを連結できます(Log Service の構文に準拠)。これにより、ユーザーはより精密な検索を行えます。
リンクをクリックしてご覧ください:Screen Recording 2022-03-03 at 7.20.55 PM.mov
(4) カスタムランタイムにさらにユーザーフレンドリー
カスタムランタイムやカスタムコンテナなど、ユーザーによるカスタマイズが必要なランタイムについても、テキスト指向のログ表示とキーワード検索をサポートしており、コンテナ起動時のログも自然な形でユーザーに表示されます。
Alibaba Cloud Function Compute (FC) のカスタムコンテナで定番の Python Flask フレームワークを例にとります。コンテナの起動時の様子や、Python Flask サーバーの起動ログもコンソールに表示されます。同様に、イニシャライザーやカスタムランタイムからのログも収集できます。
ぜひお試しください
Alibaba Cloud Function Compute (FC) の関数詳細ページで「呼び出しログ」をクリックすると、現在の関数の呼び出し記録をクエリできます。「キーワード検索」タブで、関数の呼び出しログの内容を確認できます。
Alibaba Cloud Function Compute (FC) は、ユーザーに極めて高いエンジニアリング効率を提供し、コスト削減と効率向上を支援するだけでなく、プロダクトの利用体験がスムーズかどうかも重視しています。
ビジネス量の増加に伴い、ユーザーのログに対する要望も高まっています。関数コンピューティングコンソールのリクエストリストとキーワードクエリの組み合わせにより、開発者のログ要件を 100% カバーでき、問題を素早く特定してビジネスログを直接取得できます。
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
