EL+Serilog日志

简介

Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合:

安装

Elasticsearch安装

  • 你可以从 elastic 的官网 https://www.elastic.co/cn/downloads/elasticsearch获取最新版本的 Elasticsearch。
  • windows系统上:bin\elasticsearch.bat
  • 接着我们运行:curl 'http://localhost:9200/?pretty'
  • 我们会得到
{
  "name" : "Tom Foster",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.1.0",
    "build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87",
    "build_timestamp" : "2015-11-18T22:40:03Z",
    "build_snapshot" : false,
    "lucene_version" : "5.3.1"
  },
  "tagline" : "You Know, for Search"
}

配置elasticsearch.yml 在config目录下

 ---------------------------------- Cluster -----------------------------------
cluster.name: 你的引用
node.name: node-101
----------------------------------- Paths ------------------------------------
path.data: 数据路径
path.logs: 日志路径
---------------------------------- Network -----------------------------------
这里不贴出来了。配置成以下之后不知道为什么运行不起来
network.host: 0.0.0.0
http.port: 9200
--------------------------------- Discovery ----------------------------------
http.cors.enabled: true 
http.cors.allow-origin: "*" 
node.master: true 
node.data: true 

Sense安装

  • Sense 是一个 Kibana 应用 它提供交互式的控制台,通过你的浏览器直接向 Elasticsearch 提交请求。
  • 1:在 Kibana 目录下运行下面的命令,下载并安装 Sense app
  • 2:NOTE:你可以直接从这里 https://download.elastic.co/elastic/sense/sense-latest.tar.gz 下载 Sense
  • 接着启动kibana
  • 在你的浏览器中打开 Sense: http://localhost:5601/app/sense 。

Kibana安装

  • 具体地址官网下载即可
  • kibanan.yml修改
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

logstash安装

在config中新建logstash.conf

input {

    file {

        type => "nginx_access"

        path => "路径"

    }

}

output {

    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "access-%{+YYYY.MM.dd}"
    }

    stdout {

        codec => json_lines
    }
}
  • 然后依次启动就行了。这里简单赘述下

Serilog

简介

  • Serilog 是一个用于.NET应用程序的日志记录开源库,配置简单,接口干净,并可运行在最新的.NET平台上,与其他日志库不同, Serilog 是以功能强大的结构化事件数据为基础构建的, 支持将日志输出到控制台、文件、数据库和其它更多的方式,支持参数化日志模板,非常灵活。
  • 首先,使用 NuGet 方式安装 Serilog 核心库
Install-Package Serilog
Install-Package Serilog.Sinks.Console

//配置
 public static void ConfigureSerilogConfig(this IServiceCollection services, IConfiguration configuration)
        {
            Serilog.Log.Logger = new LoggerConfiguration()
              .ReadFrom.Configuration(configuration)
              .CreateLogger();
      }

//json配置
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.Async", "Serilog.Sinks.File" ],
    "LevelSwitches": { "$controlSwitch": "Verbose" },
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Debug",
        "System": "Debug",
        "System.Net.Http.HttpClient": "Debug"
      }
    },
    "WriteTo:Async": {
      "Name": "Async",
      "Args": {
        "configure": [
          { "Name": "Console" }
        ]
      }
    },
    "WriteTo:Elasticsearch": {
      "Name": "Elasticsearch",
      "Args": {
        "nodeUris": "http://localhost:9200;http://remotehost:9200/",
        "indexFormat": "operation-broadcast-api-{0:yyyy.MM.dd}",
        "autoRegisterTemplate": true
      }
    },
    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
    "Properties": {
      "Application": "operation"
    }
  },

具体得相关配置可以参照

  • serilog-settings-appsettings
  • serilog-settings-configuration
  • serilog-sinks-elasticsearch
    以上百度获取github里面都有说明。访问官方文档也可以

你可能感兴趣的:(EL+Serilog日志)