OpenResty Edge におけるエラーログファイルの設定
本日は、OpenResty Edge においてアプリケーションのエラーログとグローバルエラーログを確認する方法をご紹介いたします。
サンプルアプリケーションのエラーログ
いつものように、OpenResty Edge の Admin Web コンソールにアクセスしましょう。これは当社のコンソールのサンプルデプロイメントです。各ユーザーには独自のローカルデプロイメントがございます。
引き続き、test-edge.com ドメインのサンプルアプリケーションを使用いたします。
このアプリケーションに移動いたします。
ここをクリックして、このアプリケーションのエラーログをご確認ください。
ご覧のとおり、すでにいくつかのエラーログが記録されています。このページにはエラーログに関する重要な情報が表示されています。
例えば、リクエスト ID、エラーログメッセージ、ホスト名、リクエストボディ、クライアント IP アドレスなどです。
ここで、アプリケーションに変更を加えてみましょう。変更後に test-edge.com ドメインにアクセスすると、新しいエラーログメッセージが生成されます。
ここでは、すでにページルールを定義しています。
このページルールは、事前に定義されたアップストリームへのリバースプロキシを設定しています。
Upstreams ページに移動しましょう。
アップストリームサーバーを編集します。
このアップストリームサーバーを無効化します。アップストリームサーバーが無効化されると、アプリケーションにアクセスした際に Bad Gateway エラーが発生します。
この変更を保存します。
いつものように、先ほどの変更を反映させるために新しいバージョンをリリースする必要があります。
このボタンをクリックします。
リリースします!
新しいバージョンがすべてのゲートウェイサーバーに同期されました。
これで、新しいページルールがすべてのゲートウェイクラスターとサーバーにプッシュされました。
これらの設定変更にはサーバーのリロード、再起動、またはバイナリのアップグレードは必要ありません。そのため、非常に効率的でスケーラブルです。
では、リクエストを送信してみましょう。
ターミナルで、curl を使用してリクエストを送信します。
curl -sSI http://test-edge.com
ご覧のとおり、Bad Gateway エラーが返されました。このエラーはアプリケーションのエラーログに記録されます。
また、サーバーからのレスポンスにリクエスト ID が含まれていることがわかります。この ID をコピーして、対応するログ情報を検索するのに使用します。
アプリケーションのエラーログページに戻りましょう。エラーログ情報を確認します。
予想通り、先ほどのリクエストがエラーログを生成しました。新しく生成されたエラーログがリストの一番上に表示されています
Openresty.com のエラーログ
このアプリケーションのエラーログは比較的少ないです。次に、オンラインの他のアプリケーションのエラーログを見てみましょう。
アプリケーションリストページに移動します。
OpenResty.com ウェブサイトのエラーログを確認してみましょう。
そのページに移動します。
エラーログページに移動します。ここにはより多くのエラーログが記録されています。
上部のフィルタリングクエリ条件は、問題を正確に特定するのに役立ちます。
例えば、リクエスト ID でフィルタリングできます。
またはゲートウェイでフィルタリングできます。
サーバーも、
エラーログレベルも、
そして、時間間隔でもフィルタリングできます。
では、ゲートウェイでメッセージをフィルタリングしてみましょう。
aws-us-west ゲートウェイを選択します。
ご覧のとおり、aws-us-west ゲートウェイにはエラーログがありません。
グローバルエラーログ
アプリケーションのエラーログを確認した後、グローバルエラーログを見てみましょう。グローバルエラーログは Dashboard ページに表示されます。
では、Dashboard ページに移動してグローバルエラーログを確認しましょう。
3 種類のエラーログがあることがわかります。
グローバルエラーログ。
Admin サイトのエラーログ。
ログサーバーのエラーログ。
まず、グローバルエラーログを見てみましょう。
グローバルエラーログはゲートウェイサーバーによって収集され、特定のアプリケーションに属していません。
エラーログをフィルタリングすることができます。
次に、Admin サイトのエラーログを見てみましょう。
これらのエラーログは Admin コンソールから収集されたものです。
ログの条件フィルタリングもサポートしています。
例えば、ログレベル「Error」を選択できます。
「Error」レベルと繰り返し回数が1回以上のログがハイライト表示されていることがわかります。
最後に、ログサーバーのエラーログを見てみましょう。
このページには OpenResty Edge ログサーバーからのエラーログが表示されています。
ここでもログをフィルタリングすることができます。
ご覧のとおり、グローバルエラーログとアプリケーションエラーログにはログレベルがありますが、すべてのレベルのログがシステムによって報告されるわけではありません。
グローバル設定ページで報告するログレベルを設定できます。
ここでは「warn」に設定しています。これは警告レベル以上のログのみが報告されることを意味します。
設定可能なエラーログレベルには「warn、error、crit、alert」などがあります。
ローカルデプロイメントでは、任意のログレベルを設定することができます。
サーバー上でのエラーログの確認
では、OpenResty Edge ゲートウェイサーバーにログインして、error.log ファイルを確認してみましょう。
最後のエラーログメッセージを確認します。
ゲートウェイサーバーのエラーログメッセージはここに書き込まれています。
このコマンドを実行します。
ゲートウェイサーバーのエラーログメッセージを確認できます。
サーバーからログアウトします。
次に、OpenResty Edge の Admin サーバーにログインして、error.log ファイルを確認しましょう。
最後のエラーログメッセージを確認します。
OpenResty Edge Admin のエラーログメッセージはここに書き込まれています。
このコマンドを実行します。
OpenResty Edge Admin のエラーログメッセージを確認できます。
OpenResty Edge について
OpenResty Edge は、マイクロサービスと分散トラフィックアーキテクチャ向けに設計された多機能ゲートウェイソフトウェアで、当社が独自に開発しました。トラフィック管理、プライベート CDN 構築、API ゲートウェイ、セキュリティ保護などの機能を統合し、現代のアプリケーションの構築、管理、保護を容易にします。OpenResty Edge は業界をリードする性能と拡張性を持ち、高並発・高負荷シナリオの厳しい要求を満たすことができます。K8s などのコンテナアプリケーショントラフィックのスケジューリングをサポートし、大量のドメイン名を管理できるため、大規模ウェブサイトや複雑なアプリケーションのニーズを容易に満たすことができます。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能
翻訳
英文版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!