Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ASP.NET Core使用Elasticsearch记录API请求响应日志实战演练

ASP.NET Core使用Elasticsearch记录API请求响应日志实战演练

作者头像
跟着阿笨一起玩NET
发布于 2020-05-06 15:03:32
发布于 2020-05-06 15:03:32
1.7K0
举报

一、ASP.NET Core WebApi如何设计一个日志中间件?

ASP.NET Core WebApi 一个良好的日志记录内容包含,唯一请求 Id(traceId),请求 url ,请求 body 内容,相应 body 内容,执行开始和执行结束时间,总耗时时间等等。通过组合 Docker,ElasticSearch,Kibana,ASP.NET Core 和 Serilog ,您获得了前所未有的便利性和功能,再也没有理由不再将日志记录整合到应用程序中了。。 • 一句话总结今天我们学习到达的目标? 如何在 ASP.NET Core 使用 Elasticsearch 和 Kibana 来存储和展示我们应用程序的请求详细日志。 ElasticSearch 和 Kibana 改变了这一切。而 Docker 已经使 ElasticSearch 和 Kibana 的启动和运行变得毫不费力。ElasticSearch 和 Kibana 提供的强大功能以及非常高的性能,再加上它是开源的,这真的令人印象非常深刻。  如果对本次分享课程《ASP.NET Core使用Elasticsearch记录请求响应日志实战演练》感兴趣的话,那么请跟着阿笨一起学习吧。 废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。 

二、ASP.NET Core WebApi如何存储应用程序请求相应日志?

• 什么是 ElasticSearch ?

简单来说,ElasticSearch 是一个开源数据库,非常适合索引日志和分析数据。

• 什么是 Serilog ?

Serilog 是 ASP.NET Core 的一个插件,可以简化日志记录。Serilog 有各种可用的接收器,例如,有纯文本、SQL 和 ElasticSearch 接收器等等。

三、使用 Docker 快速安装 Elasticsearch 和 Kibana

• 为什么我需要 ElasticSearch 和 Kibana ?

如果您曾经构建过应用程序,那么你一定记录过日志。我们经常去记录错误,但这些错误日志存储在服务器某处的文件文件里,经常会无法被访问。ElasticSearch 使任何类型的日志记录变得简单,易于访问和搜索。 ElasticSearch 令人难以置信的速度和简单的查询语言加上 Kibana 的图形界面,构成了强大的组合。如果您还没有使用 ElasticSearch 进行日志记录,我强烈建议您开始使用它。

四、ASP.NET Core WebApi 如何友好的检索和实时展示日志?

1)、关于日志的检索,可以通过开启服务端目录访问权限,方便进行检索查到定位日志。

• ASP.NET Core 开启目录浏览 EnableDirectoryBrowsing = true

2)、关于日志的实时展示,通过 kibana 工具来进行显示和分析。

• 什么是 Kibana ? Kibana 是开源的 ElasticSearch 的数据可视化用户界面。可以将 ElasticSearch 视为数据库,将 Kibana 视为 Web 用户界面,您可以使用它在 ElasticSearch 中构建图表和查询数据

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Logging with ElasticSearch, Kibana, ASP.NET Core and Docker
言归正传,本文聊一聊在ASP.NET Core3.1中集成ElasticSearch、Kibana日志查询系统。
有态度的马甲
2020/07/22
1.4K0
Logging with ElasticSearch, Kibana, ASP.NET Core and Docker
如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出
这是该系列的第一篇文章:在ASP.NET Core 3.0中使用Serilog.AspNetCore。
依乐祝
2020/02/14
1.8K0
如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出
ASP.NET Core WebApi构建API接口服务实战演练
一、ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过WebAPI用起来更简单,更轻量级,更流行。构建一个优秀的API依赖于伟大的框架,今天我们的主角当然是微软的跨平台轻量级HTTP服务框架——Asp.net Core WebApi。今天阿笨将给大家带来的分享课程是如何利用ASP.NET Core WebApi跨平台开发技术构建我们的API服务应用程序并在部署运行不同
跟着阿笨一起玩NET
2019/10/08
2.3K0
ASP.NET Core WebApi构建API接口服务实战演练
ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
  在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志、错误日志,可以让我们对于系统的运行情况做到很好的掌控。同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通过对这些数据进行集中分析,可以产生极大的价值。   在微服务的系统架构中,由于一个系统会被拆成很多个功能模块,每个模块负责不同的功能,对于日志系统的要求也会更高,比较常见的有 EFLK(ElasticSearch + Filebeat + LogStash + Kibana) 方案,而对于我们这种单体应用来说,由于程序的代码比较集中,所以我们主要采用手写日志帮助类或是使用第三方组件的形式进行日志信息的记录。
程序员宇说
2019/09/11
1.8K0
ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性
在我上篇文章中,我描述了如何配置Serilog的RequestLogging中间件以向Serilog的请求日志摘要中添加其他属性(例如请求主机名或选定的端点名称)。这些属性都在HttpContext中可用,因此可以由中间件本身直接添加。
依乐祝
2020/02/14
3.8K0
如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性
ASP.NET Core WebApi项目架构分层开发实战演练
阿笨这里推荐大家的一种比较传统经典的三层架构,一般就可以满足日常我们工作中的大部分项目开发需求。
跟着阿笨一起玩NET
2021/10/09
3.9K1
.Net Core with 微服务 - Elastic APM
上一次我们介绍了Seq日志聚合组件。这次要给大家介绍的是Elastic APM ,一款应用程序性能监控组件。APM 监控围绕对应用、服务、容器的健康监控,对接口的调用链、性能进行监控。在我们实施微服务后,由于复杂的业务逻辑,服务之间的调用会像蜘蛛网一样复杂。有了调用链监控后服务之间的调用可以用图像的方式展示出来,每个请求的性能,响应等都会记录下来。对于提前防范问题,以及排查问题有非常大的意义。
MJ.Zhou
2021/07/01
7610
【愚公系列】2022年12月 .NET CORE工具案例-PLG轻量级日志可视化服务
日志功能是几乎所有程序或系统都必备的一个功能。该文章通过使用Loki+Grafana来实现日志记录与可视化查询。
愚公搬代码
2022/12/20
7360
【愚公系列】2022年12月 .NET CORE工具案例-PLG轻量级日志可视化服务
asp.net core之日志
日志记录在应用程序开发中起着至关重要的作用,它可以帮助开发人员诊断和调试问题,同时也是监控和性能优化的重要工具。ASP.NET Core 提供了强大且灵活的日志记录功能,本文将详细介绍ASP.NET Core 中的日志记录,包括日志配置、日志类别级别、使用场景以及日志记录提供程序。
饭勺oO
2023/10/18
3410
asp.net core之日志
.NET开源分布式日志框架ExceptionLess实战演练(公开版)
3.4、在ASP.NET WebForm应用程序中如何将日志推送到Exceptionless
跟着阿笨一起玩NET
2019/03/14
5830
.net 温故知新【11】:Asp.Net Core WebAPI 入门使用及介绍
在Asp.Net Core 上面由于现在前后端分离已经是趋势,所以asp.net core MVC用的没有那么多,主要以WebApi作为学习目标。
SpringSun
2023/06/09
2.3K0
.net 温故知新【11】:Asp.Net Core WebAPI 入门使用及介绍
【ASP.NET Core 基础知识】--部署和维护--日志记录和错误处理
日志记录是一种记录系统运行状态、活动和事件的重要机制。在软件开发和系统管理中,日志记录扮演着关键角色,用于追踪应用程序的执行过程、监视系统的健康状况、诊断问题和安全审计等。在ASP.NET Core等现代Web开发框架中,日志记录是构建可靠、高性能应用程序的基础之一。 日志记录不仅仅是简单地将一些文本写入文件。它更多地涉及到收集、存储和分析各种类型的信息,这些信息可以包括但不限于:
喵叔
2024/05/24
2870
如何从Serilog请求日志记录中排除健康检查终结点
这是在ASP.NET Core 3.X中使用Serilog.AspNetCore系列文章的第四篇文章:。
依乐祝
2020/02/17
1.5K0
ASP.NET Core WebApi判断当前请求的API类型
在现代应用程序中,API 是各种服务和系统间进行数据交互的重要桥梁。不同的前端和客户端(如浏览器、移动端、桌面应用等)可能需要与服务器进行多种形式的通信,常见的 API 类型包括 RESTful API、GraphQL、gRPC 以及 SOAP Web 服务等。在 ASP.NET Core WebAPI 中,我们可能会面临一个需求:如何判断当前请求属于哪种 API 类型?
Michel_Rolle
2024/11/13
2.7K0
.NET周刊【8月第1期 2024-08-04】
https://www.cnblogs.com/baibaomen-org/p/18338447
InCerry
2024/11/23
1830
.NET周刊【8月第1期 2024-08-04】
Serilog高级玩法之用Serilog记录所选终结点附加属性
这是该系列的第二篇文章:在ASP.NET Core 3.0中使用Serilog.AspNetCore。
依乐祝
2020/02/14
1.9K0
Serilog高级玩法之用Serilog记录所选终结点附加属性
ASP.NET Core应用中如何记录和查看日志
日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性。我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger、LoggerFactory和LoggerProvider这三个核心对象组成。我们可以通过简单的配置实现对LoggerFactory的定制,以及对LoggerProvider添加。 目录 一、 配置LoggerFactory 二、以当前请求作为日志范围 三、记录异常日志 一、 配置LoggerFactory 我们在上面一节
蒋金楠
2018/01/15
1.8K0
ASP.NET Core应用中如何记录和查看日志
零基础写框架(3): Serilog.NET 中的日志使用技巧
Serilog 是 .NET 社区中使用最广泛的日志框架,所以笔者使用一个小节单独讲解使用方法。
痴者工良
2024/06/19
4390
零基础写框架(3): Serilog.NET 中的日志使用技巧
Serilog.AspNetCore&Serilog.Sinks.Async:提升 ASP.NET Core 日志性能实践
Serilog.AspNetCore 是一个用于 ASP.NET Core 应用程序的日志库,它允许将日志消息通过 Serilog 路由,从而实现灵活的日志记录功能。
郑子铭
2025/03/18
1670
Serilog.AspNetCore&Serilog.Sinks.Async:提升 ASP.NET Core 日志性能实践
ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布。这个版本包括许多伟大的新功能以及许多错误修复和一般的增强。这个版本包含了多个新的中间件组件、针对Windows的WebListener服务器、Razor视图编译以及Azure相关的特性。要将现有项目更新到ASP.NET Core 1.1 ,您需要执行以下操作: 1. 下载并安装更新的.NET Core 1.1  SDK 2. 按照.NET Core 1.1 升级公告(下一节介绍)中的说明将项目更新为使用.NET Core 1.1 3. 更新您
张善友
2018/01/19
2.6K0
推荐阅读
相关推荐
Logging with ElasticSearch, Kibana, ASP.NET Core and Docker
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档