ElasticSearch+Kibana+Serilog快速搭建统一的日志中心

 

前言

因目前项目上使用的基于ABP框架的微服务架构,另使用Docker Swarm搭建的整个服务集群,应用服务、集群节点、Docker容器等多服务、多种类型的日志信息,目的是将整个系统的日志汇总,并可统一进行查看、搜索、筛选等。

 

一、为什么采用ElasticSearch+Kibana+Serilog?

1.Serilog是支持直接向ElasticSearch推送日志信息的,使用习惯及添加方式都更比较符合原有的开发习惯及目前已使用的Abp框架

2.ElasticSearch 效率高、搜索快、稳定性高,也是abp.io的示例推荐使用

3.Kibana 可视化日志工具,可支持多种类型、多种形式展示

二、搭建步骤

1.引入所需Nuget包

Serilog

Serilog.Sinks.Elasticsearch

Serilog.Extensions.Logging

2.在Startup中加入以下代码

 在Startup构造函数添加以下代码:


var elasticUri = configuration["ElasticSearch:Url"];
Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Information()
    .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
    .Enrich.WithProperty("Application", configuration["ElasticSearch:Application"])
    .Enrich.FromLogContext()
    .WriteTo.File("Logs/logs.txt")
    .WriteTo.Elasticsearch(
      new ElasticsearchSinkOptions(new Uri(elasticUri))
           {
              MinimumLogEventLevel = LogEventLevel.Information,
              AutoRegisterTemplate = true,
              //注意:需要与ElasticSearch的版本保持一致
              AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv7,
              IndexFormat = configuration["ElasticSearch:IndexFormat"]
            })
           .CreateLogger();

在Configure方法中添加以下代码:

loggerFactory.AddSerilog();

3.在appsetting中增加以下配置

  "ElasticSearch": {
    "Url": "http://192.168.199.93:9200/",//ElasticSearch服务的地址
    "Application": "EvacuateService",//当前应用的名称
    "IndexFormat": "rungo.evacuate-{0:yyyy.MM}" //索引
  }

3.搭建ElasticSearch+Kibana

采用的是7.13.1版本的ElasticSearch和Kibana,需要注意的是ES和Kibana的版本号需尽量保持一致。建议使用Docker进行搭建,比较方便省事。

创建elasticsearch网络:

docker network create -d overlay elasticsearch

创建ElasticSearch服务:

docker service create --name elk7 --network elasticsearch -e TZ=Asia/Shanghai -e "discovery.type=single-node"  -p 9200:9200 -p 9300:9300 elasticsearch:7.13.1

创建Kibana服务:

docker service create --name kibana --network elasticsearch -e TZ=Asia/Shanghai -e  ELASTICSEARCH_URL=http://192.168.199.93:9200 -e ELASTICSEARCH_HOSTS=http://192.168.199.93:9200 \
-e xpack.reporting.capture.browser.chromium.disableSandbox=true -e elasticsearch.ssl.verificationMode=null --publish 5601:5601 kibana:7.13.1

在创建kibana是可能会遇到有些插件支持的情况,可自行百度禁用即可

4.Kibana的简单使用

搭建成果后访问9200如图所示:

访问5601如图所示:


需先配置需要查找的索引才能有数据可以展示

左侧菜单-Management-Stack Management-Kibana-Index Patterns(注意如果是6.x或是5.x版本会少很多东西,不过都会有Kibana的Index Patterns配置功能,使用方式是一样的)

配置的Index Pattern主要根据之前在应用中的appsetting中的IndexFormat的格式有关,建议连通之后可先将应用跑一下往ES中推一些日志数据,再配置Index Pattern。

字段选择 @timestamp即可

配置完成后到Analytics-Discover中查看信息

有其余要求可自定义,还可以使用Filebeat等其余工具将容器、数据库日志、操作系统日志、监控等信息收集并发送到ES。

 

总结

统一的日志中心针对多服务、多应用、集群等复杂环境的兼容性、可靠性都不错,也值得推荐,对于单体应用或是较为单一的系统就可能不太需要了,可根据具体情况自行选择。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装和部署ElasticsearchKibana,你可以按照以下步骤进行操作: 1. 首先,你需要从Elasticsearch官网下载Elasticsearch的安装包。你可以使用以下命令来下载最新版本的Elasticsearch安装包: ``` wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz ``` 2. 下载完成后,解压缩安装包。你可以使用以下命令来解压缩文件: ``` tar -xzf elasticsearch-6.7.0.tar.gz ``` 3. 进入解压缩后的目录: ``` cd elasticsearch-6.7.0 ``` 4. 接下来,你需要修改Elasticsearch的配置文件。你可以使用任何文本编辑器打开`config/elasticsearch.yml`文件,并进行必要的配置更改。例如,你可以修改绑定的IP地址、端口号等。 5. 完成配置后,你可以启动Elasticsearch。使用以下命令启动Elasticsearch: ``` ./bin/elasticsearch ``` 6. 启动后,你可以访问`http://localhost:9200`来验证Elasticsearch是否成功启动。你应该能够看到Elasticsearch的信息。 7. 现在,你可以继续安装和部署Kibana。从Kibana官网下载Kibana的安装包。你可以使用以下命令来下载最新版本的Kibana安装包: ``` wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz ``` 8. 下载完成后,解压缩Kibana的安装包。你可以使用以下命令来解压缩文件: ``` tar -xzf kibana-6.7.0-linux-x86_64.tar.gz ``` 9. 进入解压缩后的目录: ``` cd kibana-6.7.0-linux-x86_64 ``` 10. 接下来,你需要修改Kibana的配置文件。你可以使用任何文本编辑器打开`config/kibana.yml`文件,并进行必要的配置更改。例如,你可以修改Elasticsearch的连接地址、端口号等。 11. 完成配置后,你可以启动Kibana。使用以下命令启动Kibana: ``` ./bin/kibana ``` 12. 启动后,你可以访问`http://localhost:5601`来访问Kibana的Web界面。在Kibana中,你可以进行数据可视化和分析等操作。 通过按照以上步骤,你可以成功安装和部署ElasticsearchKibana。记得根据你的具体需求进行配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值