ElasticSearch+NLog は .Net Core 分散ログ管理を実装します

ElasticSearch+NLog は .Net Core 分散ログ管理を実装します

[[385847]]

この記事はWeChatの公開アカウント「UP Technology Control」から転載したもので、著者はconan5566です。この記事を転載する場合は、UP Technology Controlの公式アカウントまでご連絡ください。

概要

Elasticsearch は、ログ分析、全文検索、構造化データ分析など、さまざまなシナリオで幅広く使用でき、複数の専用システムを維持するコストを大幅に削減できるため、オープンソース コミュニティで非常に人気があります。システムでは、ログがファイルとして出力されると、システムログを閲覧するのが非常に不便になります。ログがデータベースに保存されている場合、全文検索は実行できません。ここでは、ログを ElasticSearch に出力し、Kibana を使用してログを検索します。

実装

1. esサービスアドレスを設定する

  1. {
  2. 「接続文字列」 : {
  3. "ElasticSearchServerAddress" : "http://localhost:9200"  
  4. },
  5. 「ログ」 : {
  6. 「ログレベル」 : {
  7. 「デフォルト」 「警告」  
  8. }
  9. },
  10. 「許可ホスト」 : 「*」  
  11. }

2. nlog.configを構成する

  1. <?xml バージョン = "1.0"エンコーディング = "utf-8" ?>
  2. <nlog xmlns= "http://www.nlog-project.org/schemas/NLog.xsd"  
  3. xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  
  4. 内部ログコンソール = "true" >
  5. <拡張機能>
  6. < アセンブリを追加= "NLog.Targets.ElasticSearch" />
  7. </拡張子>
  8.  
  9. <ターゲット>
  10. <! --ElasticSearch はログ情報を保存します -->  
  11. <ターゲット= "ElasticSearch" xsi:type= "ElasticSearch"接続文字列名 = "ElasticSearchServerAddress"  
  12. index = "userapi-${date:format=yyyy.MM.dd}" documentType = "doc" includeAllProperties = "true"  
  13. レイアウト= "[${date:format=yyyy-MM-dd HH\:mm\:ss}][${level}] ${logger} ${message} ${exception:format=toString}" >
  14. <フィールド= "MachineName"レイアウト = "${machinename}" />
  15. <フィールド= "時間"レイアウト = "${longdate}" />
  16. <フィールド= "レベル"レイアウト = "${level:uppercase=true}" />
  17. <フィールド= "logger"レイアウト = " ${logger}" />
  18. <フィールド= "メッセージ"レイアウト = " ${message}" />
  19. <フィールド= "例外"レイアウト = " ${exception:format=toString}" />
  20. <フィールド= "プロセスID"レイアウト = " ${プロセスID}" />
  21. <フィールド= "スレッド名"レイアウト = " ${スレッド名}" />
  22. <フィールド= "stacktrace"レイアウト = " ${stacktrace}" />
  23. <フィールド= "プロパティ"レイアウト = "${machinename} ${longdate} ${level:uppercase=true} ${logger} ${message} ${exception}|${processid}|${stacktrace}|${threadname}" />
  24. </ターゲット>
  25. </ターゲット>
  26. <ルール>
  27. <logger name = "*" minlevel= "INFO" writeTo= "ElasticSearch" />
  28. </ルール>
  29. </nlog>

3. テスト書き込みログ

  1. // API/を取得する 
  2. [HttpGet]
  3. パブリックActionResult<IEnumerable<文字列>> Get()
  4. {
  5. var result = 新しい文字列[] { "value1" "value2" };
  6. _logger.LogInformation(JsonConvert.SerializeObject(結果));
  7. 結果を返します
  8. }

効果

<<:  VMware は仮想化を加速するために SmartNIC をサポートしています

>>:  Hongmeng HarmonyOS 開発中の分散フロー開発における一般的なエラーに関する FAQ

推薦する

SEO の観点からプレーンテキスト リンクの効果を探る

伝統的なSEOの概念から見ると、ハイパーテキストリンク、アンカーテキストリンク、プレーンテキストリン...

クラウドレイヤーはデジタルコラボレーション設計イノベーション機能を実現します

近年、伝統的な製造業の変革と向上は常に中国政府の取り組みの焦点となってきた。今年の政府活動報告は、「...

Vultr クラウド サーバーはどうですか?シカゴデータセンターのクイックレビュー

混雑した米国西海岸に飽きたら、米国中部を検討してみましょう。 Vultr は、米国中部のダラスとシカ...

貴州省のビッグデータとクラウドコンピューティングの学部卒業生第1期生が卒業、就職の心配なし

[[235895]] 「入社2日目から業務に慣れ、開発業務に取り組み始めました。」貴州大学省実証ソフ...

Kafka が高速である 6 つの理由

[[335450]]この記事はWeChatの公開アカウント「JavaKeeper」から転載したもので...

#restock #providerservice - 1.68€/KVM/512m ram/ロサンゼルス/quadranet

ブラックフライデーに providerservice がプロモーションを実施し、世界中のファンが殺到...

limitlesshost-ロシア VPS/$7/1g メモリ/25g ハードディスク/1T トラフィック

limitlesshost.net は 2009 年に設立されたホスティング会社です。Web サイト...

SEO 業界におけるこれら 8 つの「本当の」嘘を信じますか?

SEO 業界におけるこれら 8 つの嘘を信じますか? あなたは SEO の同僚であり、顧客を騙すため...

2019 年のトップ 6 DevOps ツール

DevOps は、開発者と運用担当者の両方にとって非常に重要なシステムとして、2019 年以降も着実...

1 か月半で新しいサイトに重みとトラフィックを持たせた方法について簡単に説明しましょう。

今年の初め、適当な仕事が見つからず、2か月間家にいて両親に頼って暮らしていました。しかし、私は家で両...

エッジコンピューティングのセキュリティと課題

接続されたデバイスによって収集および送信されるデータの量が増加するにつれて、エッジ コンピューティン...

クラウドコンピューティングを導入するための5つの戦略

クラウド コンピューティングは、企業の IT 運用方法に革命をもたらし、人々の考え方も変えるでしょう...

#労働者の日# greengeeks-70% オフ/無制限ホスティング/無制限ウェブサイト構築/無料ドメイン名

労働者の日、中国の労働節に似ていますか? Greengeeksの仮想ホストが70%オフで販売されてお...

企業が導入できる優れたクラウドセキュリティソリューションとは

クラウド コンピューティング テクノロジーは急速に発展し続けており、企業はより高速で、より安価で、よ...

phpwindを例にnofollowの使い方を紹介します

Nofollow は 2005 年に Google によって導入されました。その機能は、スパイダーに...