Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合:
1|1安装
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.0http.port:9200---------------------------------Discovery----------------------------------http.cors.enabled:truehttp.cors.allow-origin:"*"node.master:truenode.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: 5601server.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 } }
- 然后依次启动就行了。这里简单赘述下
2|0Serilog
2|1简介
- Serilog 是一个用于.NET应用程序的日志记录开源库,配置简单,接口干净,并可运行在最新的.NET平台上,与其他日志库不同, Serilog 是以功能强大的结构化事件数据为基础构建的, 支持将日志输出到控制台、文件、数据库和其它更多的方式,支持参数化日志模板,非常灵活。
- 首先,使用 NuGet 方式安装 Serilog 核心库
Install-Package Serilog Install-Package Serilog.Sinks.Console //配置publicstaticvoidConfigureSerilogConfig(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里面都有说明。访问官方文档也可以