2017-03-22 6 views
3

私は、Premises上のAzure Service Fabric上で動作するいくつかのマイクロサービスからなるアプリケーションを作成しています。私はWindows Server上でこれをホストします。AzureサービスファブリックサービスをPremiseにログする

ロギングの推奨方法は何ですか? Windows用のイベントトレース(ETW)の使用について、私は何かを読んだ。私はこれを使うべきですか?ログデータを一元的にどのように収集するのですか?

また、ASP.NET MVCコアロギングを使用してログファイルを中央のファイル共有に保存する必要がありますか?

答えて

3

正直言って、私はデフォルトのSFロギングをすべて取り除き、通常のアプリケーションで使用する何らかの標準を使用します。 ETWは使いにくい標準ではないロギング手法を導入しています。 .NETコアを将来使用する予定の場合は、Windowsプラットフォーム以外でETWを使用することはできません。適切なシンクでLog4Net、Serilog、NLogなどを見てください。同じサービスのインスタンスが多数あるため、SFコンテキストを使用してロギングを強化し、どこから来るのかを理解する必要があります。私は、ログを理解する最も簡単な方法であるため、PremiereとAzureで稼働するプロダクションアプリケーションにSerilog + Seq(http://getseq.net)を使用します。

4

Azure Diagnostics EventFlowを使用して、サービスDabricサービスによって生成されたETWイベントを取得できます。新しいSFサービスで用意されているService/ActorEventSourcesを使用してカスタムイベントを追加することで、サービスからのETWイベントを、基になるService Fabricフレームワークが生成するETWイベントの先頭に記録できます。

EventFlowでは、入力(ETWイベント)と出力を設定できます。ここであなたに合った出力を選ぶことができます。例えば、あなたがオン・プレミアで走っていて、エラスティック・セットアップをしているなら、ETWイベントをそれにルーティングしてそこで検索可能にすることができます。たとえば、独自のデータベースにログを記録する場合は、独自の出力でEventFlowを拡張することもできます。

関連する問題