mirror of
https://github.com/goldbergyoni/nodebestpractices.git
synced 2025-10-30 09:05:43 +08:00
fix
This commit is contained in:
@ -4,9 +4,9 @@
|
||||
|
||||
### 一段落説明
|
||||
|
||||
どちらにしろログステートメントを出力しているのだから、エラーやコアメトリクスをトレースできるような本番情報をラップアップするインターフェイスが必要なのは明らかです (例えば、毎時何個のエラーが発生しているか、最も遅いAPIエンドポイントはどれかなど)。すべてのボックスをチェックする堅牢なロギングフレームワークに適度な努力を投資してはどうでしょうか?これを実現するためには、3つのステップについて熟考した上での決断が必要です。
|
||||
どちらにしろログステートメントを出力しているのだから、エラーやコアメトリクスをトレースできるような本番環境の情報をラップアップするインターフェイスが必要なのは明らかです (例えば、毎時何個のエラーが発生しているか、最も遅いAPIエンドポイントはどれかなど)。すべてのボックスをチェックする堅牢なロギングフレームワークに適度な努力を投資してはどうでしょうか?これを実現するためには、3つのステップについて熟考した上での決断が必要です。
|
||||
|
||||
**1. スマートロギング** – 最低限、[Winston](https://github.com/winstonjs/winston)、[Bunyan](https://github.com/trentm/node-bunyan) のような評判の良いロギングライブラリを使用し、各トランザクションの開始と終了時に意味のある情報を書く必要があります。また、ログステートメントをJSONとしてフォーマットし、すべてのコンテキストプロパティ(ユーザーID、操作タイプなど)を提供して、操作チームがそれらのフィールドを操作できるようにすることを検討してください。また、各ログ行に一意のトランザクションIDを含めてください。詳細については、以下の「トランザクションIDをログに書き込む」を参照してください。最後に考慮すべき点として、Elastic Beat のようにメモリや CPU のようなシステムリソースをログに記録するエージェントも含まれています。
|
||||
**1. スマートロギング** – 最低限、[Winston](https://github.com/winstonjs/winston)、[Bunyan](https://github.com/trentm/node-bunyan) のような評判の良いロギングライブラリを使用し、各トランザクションの開始と終了時に意味のある情報を書く必要があります。また、ログステートメントを JSON としてフォーマットし、すべてのコンテキストプロパティ(ユーザーID、操作タイプなど)を提供して、運用チームがそれらのフィールドを操作できるようにすることを検討してください。また、各ログ行に一意のトランザクションIDを含めてください。詳細については、以下の「トランザクションIDをログに書き込む」を参照してください。最後に考慮すべき点として、Elastic Beat のようにメモリや CPU のようなシステムリソースをログに記録するエージェントも含まれています。
|
||||
|
||||
**2. スマートアグリゲーション** – サーバーのファイルシステムに関する包括的な情報を入手したら、定期的にこれらのデータを集約し、容易にし、可視化するシステムにプッシュしてください。 例えば、Elastic stack は、データを集約して可視化するためのすべてのコンポーネントを提供する、人気のある無料の選択肢です。多くの商用製品が同様の機能を提供していますが、それらはセットアップ時間を大幅に削減し、ホスティングを必要としません。
|
||||
|
||||
@ -14,13 +14,13 @@
|
||||
|
||||
<br/><br/>
|
||||
|
||||
### 可視化の例: Kibana (Elastic スタックの一部) はログコンテンツの高度な検索を容易にします。
|
||||
### 可視化の例: Kibana (Elastic Stack の一部) はログコンテンツの高度な検索を容易にします
|
||||
|
||||

|
||||
|
||||
<br/><br/>
|
||||
|
||||
### 可視化の例: Kibana (Elastic スタックの一部) はログに基づいてデータを可視化します。
|
||||
### 可視化の例: Kibana (Elastic Stack の一部) はログに基づいてデータを可視化します
|
||||
|
||||

|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
> いくつかの(ロガーのための)要件を確認してみましょう:
|
||||
> 1. 各ログ行にタイムスタンプを付けます。これは非常にわかりやすいものです - 各ログエントリがいつ発生したかがわかるはずです。
|
||||
> 2. ロギングのフォーマットは、機械だけでなく人間にも消化しやすいものでなければなりません。
|
||||
> 2. ロギングのフォーマットは、機械だけでなく人間にも分かりやすいものでなければなりません。
|
||||
> 3. 複数の設定可能な送信先ストリームを許可します。例えば、トレースログを一つのファイルに書き込んでいるが、エラーが発生したときに同じファイルに書き込んで、次にエラーファイルに書き込んで、同時に電子メールを送信する...といった具合です。
|
||||
|
||||
<br/><br/>
|
||||
|
||||
Reference in New Issue
Block a user