这是在ASP.NET Core 3.X中使用Serilog.AspNetCore系列文章的第四篇文章:。...在ASP.NET Core 2.2+中提供的健康检查终结点非常适合这些探针。...在ASP.NET Core 3.x中,可以使用终结点路由来配置健康检查。...第二种方法使用了与我上一篇文章中使用的方法类似,在该方法中,我们获得了EndpointRoutingMiddleware为给定请求选择的IEndpointFeature。...-对于无错误,我们检查是否选择了显示名为“Health check”的端点,如果选择了,则使用级别Verbose,否则使用Information。
ASP.NET Core 提供运行状况检查中间件和库,以用于报告应用基础结构组件的运行状况。 运行状况检查由应用程序作为 HTTP 终结点公开。...可以监视内存、磁盘和其他物理服务器资源的使用情况来了解是否处于正常状态。 运行状况检查可以测试应用的依赖项(如数据库和外部服务终结点)以确认是否可用和正常工作。...现在基于这些结果状态码,我们可以监视系统采取相关的操作。 从.NET Core2.2开始,我们不需要为运行状态在去自定义检查控制器和接口,而是框架本身已经为我们提供了运行状况的检查服务。...但是这样对于我们刚才的需求是满足不了的,那么我们如何自定义我们的健康度检查呢?...健康检查界面 Install-Package AspNetCore.HealthChecks.UI 安装完成后,需要相应地在ConfigureServices()和Configure()方法中调用相应的服务方法
ASP.NET Core 提供运行状况检查中间件和库,以用于报告应用基础结构组件的运行状况。 运行状况检查由应用程序作为 HTTP 终结点公开。...可以监视内存、磁盘和其他物理服务器资源的使用情况来了解是否处于正常状态。 运行状况检查可以测试应用的依赖项(如数据库和外部服务终结点)以确认是否可用和正常工作。...但是这样对于我们刚才的需求是满足不了的,那么我们如何自定义我们的健康度检查呢?...如果我们有多个运行状况检查任务来分析哪个任务使整个服务健康状态变为”不正常“,这将非常有用。...健康检查界面 Install-Package AspNetCore.HealthChecks.UI 安装完成后,需要相应地在ConfigureServices()和Configure()方法中调用相应的服务方法
4部分-从Serilog请求记录中排除运行状况检查端点 作者:依乐祝 译文地址:https://www.cnblogs.com/yilezhu/p/12243984.html 原文地址:https...在本文中,我将展示如何创建action/page过滤器来为您记录这些属性,以便中间件可以在后续创建日志时访问。 Serilog的创建者Nicholas Blumhardt之前已经解决了这个话题。...记录来自MVC的其他信息 就目前而言,ASP.NET Core中的一个特征是许多行为被MVC“基础结构”锁定在了MVC框架内部来实现。端点路由是采用MVC功能并将其下移到核心框架中的首要工作之一。...ASP.NET Core团队一直在努力将更多MVC特定功能(例如模型绑定或操作结果)从MVC中移除,然后“下推”到核心框架中。...下一节让我们一起探讨下如何从Serilog请求记录中排除运行状况检查端点。
有关更多信息,请参见Kestrel - 从 ASP.NET Core 2.2 迁移到 3.0。 默认启用 HTTP/2 默认情况下,Kestrel 中为 HTTPS 端点启用了 HTTP/2。...终结点和中间件与其他基于 ASP.NET Core 的技术(例如运行状况检查)进行良好的编排。 终结点可以在中间件和 MVC 中实现各种策略,例如 CORS 或者授权等。...过滤器和特性 (attribute) 可以被放置在控制器的方法上。 有关更多信息,请参见 ASP.NET Core 中的路由。 运行状况检查 运行状况检查通过通用主机使用终结点路由。...有关更多信息,请参见以下文章: 运行状况检查 - 从 ASP.NET Core 2.2 迁移到 3.0 ASP.NET Core 中的运行状况检查 HttpContext 上的管道 现在可以使用 System.IO.Pipelines...减少整个框架的内存分配,包括中间件的各类场景和路由。 减少 WebSocket 连接的内存使用量。 减少 HTTPS 连接的内存使用量,并提高吞吐量。
>microprofile 要为微服务创建新的运行状况检查,在实现HealthCheck接口的任何类上使用@Health批注。...1 使用@Health批注在微服务中创建新的运行状况检查。 2 运行状况检查类必须实现HealthCheck接口。...使用HTTP检查可以很好地与MicroProfile健康规范运行状况检查端点配合使用,因为如果运行状况检查成功,它们将返回HTTP状态200,如果失败则返回HTTP状态503。...要使用Web控制台创建探针,确保选择了当前项目,然后选择Applications→Deployments并选择微服务的部署: ? ? ? ?...四、使用fabric8 Maven插件定义运行状况检查资源 fabric8 Maven插件提供了一种简单的方法,可以为部署在OpenShift Container Platform上的微服务自动创建应用程序运行状况检查
.NET Core中提供了开箱即用的运行状况检查,首先,我将在.NET Core API应用程序中执行运行状况检查,接下来,我们将使用DbContext集成SQL Server或数据库的运行状况检查,最后是如何实现自定义服务的运行状况检查...在ASP.NET Core中实现健康检查 要实现运行状况检查,您需要在项目中安装 Microsoft.AspNetCore.Diagnostics.HealthChecks 。...接下来,在ConfigureServices方法中添加运行状况检查中间件。...IServiceCollection services) { services.AddHealthChecks(); services.AddControllers(); } 然后修改Configure方法,使用中间件...IHealthCheck 一些情况下,默认的健康检查可能不满足我们的需求,那么可以继承 IHealthCheck 接口,自定义我们的健康检查的逻辑。
这是该系列的第二篇文章:在ASP.NET Core 3.0中使用Serilog.AspNetCore。...记录MVC属性[敬请期待] 第4部分-从Serilog请求记录中排除运行状况检查端点[敬请期待] 作者:依乐祝 译文地址:https://www.cnblogs.com/yilezhu/p/12227271.../ 在我的上一篇文章中,我描述了如何配置Serilog的RequestLogging中间件为每个请求创建“摘要”日志,以替换默认情况下从ASP.NET Core获取的10个或更多日志。...在本文中,我将展示如何向Serilog的摘要请求日志中添加其他元数据,例如请求的主机名,响应的内容类型或从ASP.NET Core 3.0中使用的终结点路由中间件所选择的端点名称。...RequestLoggingOptions通过设置所提供IDiagnosticContext实例的值,我们基本上使用完全相同的方法来定制中间件所使用的方法。
我很高兴地宣布ASP.NET Core 2.2现在作为.NET Core 2.2的一部分提供! 如何获取?...新特性 此ASP.NET Core版本的主旨是在构建Web / HTTP API方面提高开发人员的工作效率和平台功能,详情请参考: 与流行的Open API(Swagger)库更好地集成,包括使用代码分析器进行设计时检查...引入端点路由,在MVC中提高了20%的路由性能 使用LinkGenerator类改进URL生成并支持 路由参数变换器 (以及来自Scott Hanselman的帖子) 用于应用程序运行状况监视的New...如果您使用进程内托管在.NET Core 2.2上运行ASP.NET Core应用程序,则只需在Azure门户中启用64位选项,该站点现在将以64位进程运行。...有关如何在Azure App Service中使用其他配置在64位进程中运行ASP.NET Core应用程序的其他信息,请参阅此文章。
Dapr 是用于构建云原生应用程序的开发人员框架,可以更轻松帮助开发人员在 Kubernetes 上构建运行多个微服务,并与外部状态存储/数据库、机密存储、发布/订阅代理以及其他云服务和自托管解决方案进行交互...2022年10月13日正式发布了1.9版本,Dapr v1.9.0 版本提供了几项新功能,包括可插入组件、弹性指标和应用运行状况检查,以及核心运行时和组件中的许多修复。...只需使用任何支持gRPC 的语言编写一个带有 gRPC 服务的组件,将二进制文件放入文件系统中,即可开始使用。在Sample 仓库里提供了一个 .NET的模板例子[4]。...可观察性:弹性能力指标 已添加用于弹性能力[6]的指标,能够跟踪以下各项的数量: 已加载弹性策略 执行弹性策略的次数 可靠性:应用程序运行状况检查 应用运行状况检查[7]是一项新功能,允许探测应用程序的运行状况并对状态更改做出反应...还可以通过对特定目标使用其他关键字来修改它们以使其更具体。 服务调用:应用中间件 现在,在进行服务到服务调用时,可以使用任何中间件组件。例如,用于零信任环境中的令牌验证或应用 OAuth 策略。
/ health Endpoint 该/健康端点被用来检查正在运行的应用程序的运行状况或状态。它通常由监控软件执行,以提醒我们运行的实例是否因其他原因而关闭或变得不健康。...创建新端点 除了使用Spring Boot提供的现有端点之外,我们还可以创建一个全新的端点。...进一步定制 出于安全考虑,我们可能会选择通过非标准端口公开执行器端点 - 可以轻松地使用management.port属性来配置它。 另外,正如我们已经提到的,在1.x....此外,可以通过实施正确的适配器来添加即将到来的技术。 最后,JMX仍然支持在没有任何其他代码的情况下公开端点。 4.2。重要变化 与以前的版本不同,Actuator禁用了大多数端点。...但是,添加了新的接口ReactiveHealthIndicator以实现响应式运行状况检查。
实施健康检查 在Kubernetes模型中,可以依赖集群控制平面来修复损坏的应用程序或服务。它通过检查应用程序Pod的运行状况,重新启动或重新安排不健康或无响应的容器来实现此目的。...要将应用程序运行状况正确地传递给Kubernetes控制平面,您应该实现自定义应用程序运行状况检查,以指示应用程序何时运行并准备好接收流量。...然后,Prometheus可以在HTTP端点上删除这些指标(例如/metrics)。 在设计应用程序的工具时使用的有用方法是RED方法。...实现此检测以及上面讨论的运行状况检查将允许您快速检测并从发生故障的应用程序中恢复。 除了考虑和设计用于发布遥测数据的功能之外,您还应该规划应用程序如何在基于群集的分布式环境中登录。...如果您已经实施了足够的运行状况检查,日志记录和监视,则可以快速收到警报并调试生产问题,但是在重新启动和重新部署容器之后采取措施可能会很困难。
健康检查 主动运行状况检查可以在每个上游群集的基础上进行配置。如服务发现部分所述,主动运行状况检查和SDS服务发现类型齐头并进。但是,即使使用其他服务发现类型,也有其他需要进行主动健康检查的情况。...这个过滤器有几种不同的操作模式: 不通过:在此模式下,运行状况检查请求永远不会传递到本地服务。Envoy将根据服务器当前的耗尽状态,以200或503响应。...在这种情况下,在使用/ healthcheck / fail管理端点时,能够快速排除上游主机仍然很有用。...请注意,只有在主机的集群配置了活动的健康状况检查时才会发生这种情况如果Envoy已通过/ healthcheck / fail admin端点标记为失败,则运行状况检查过滤器将自动设置此标头。...例如,在云自动扩展或容器环境中使用最终一致的服务发现时,主机可能会消失,然后以相同的IP地址返回,但会以不同的主机类型返回。解决这个问题的一个办法是为每个服务类型设置不同的HTTP健康检查URL。
最近,在Kountable,我们在所有应用程序上都设置了*/public/health点。此健康检查将告诉我们有关应用程序的信息。首先,应用程序是否正常运行*(已启动并准备就绪)。...运行状况检查可用于在蓝绿色部署期间验证安装的版本(commit)以及运行状况和连接状态。如果所有这些都通过,再加上其他综合测试,我们可以自动将该部署升级为生产。...任务部署上没有AWS错误。唯一的选择是查看CloudWatch日志,您会看到您的服务每分钟启动和停止。...Pod:尽量减少影响 Pods的概念有许多不同的迭代,从数据中心设计,VMware Pods到Kubernetes Pods。Pod有多种使用或设计的方式。...例如,您可能有用于核心应用程序的Pod,有另一个用于分析或日志记录的Pod。在AWS设置中,您可以按AWS区域拥有应用程序Pod,然后可以将客户分配给全球所有或几个区域中每个区域的Pod。
对于大多数应用程序来说,这些检查就足够了。如果你的应用程序提供了用于运行状况(或准备就绪)检查的 gRPC 端点,则很容易重新调整 exec 探针的用途,将其用于 gRPC 运行状况检查。...在博客文章Kubernetes 上检查 gRPC 服务器健康[1]中,Ahmet Alp Balkan 描述了如何做到这一点——这是一种至今仍在工作的机制。...有一个常用工具可以实现这一点,该工具创建[2]于 2018 年 8 月 21 日,并于2018 年 9 月 19 日[3]首次发布。 这种 gRPC 应用健康检查的方法非常受欢迎。...使用 GitHub 上的基本搜索,发现了带有 grpc_health_probe 的3,626 个 Dockerfiles 文件[4]和6,621 个 yaml 文件[5](在撰写本文时)。...由于特性门 GRPCContainerProbe 在 1.24 中是默认启用的,因此许多供应商都有现成提供此功能。因此,你可以在自己选择的平台上创建 1.24 集群。
虽然这在网络社区引起了相当多的争议。知名安全研究员特洛伊亨特创建了一个 为什么不适用HTTPS ?跟踪不使用HTTPS的大型网站的网站。...要在ASP.NET Core应用程序中强制使用HTTPS,ASP.NET Core 2.1版本已经默认支持HTTPS。...在对应用程序进行必要的更改以使用较新版本之后,就应用程序的整体运行状况而言,升级是最安全的。...OWASP ZAP安全工具是针对在运行活动的应用程序进行渗透测试的代理。它是一个受欢迎的(超过4k星)免费的开源项目,托管在GitHub上。...然后,它将访问这些新找到的URL并以递归方式继续,为您的Web应用程序创建URL映射。 Active Scan工具将根据潜在漏洞列表自动测试你选择的目标。
一旦在类路径上使用执行器,便可以立即使用几个端点。与大多数Spring模块一样,我们可以通过多种方式轻松地对其进行配置或扩展。...我们可以检索指标或应用程序的运行状况。另外,我们可以优雅地终止我们的应用程序或更改日志记录配置。 为了让它工作,执行器需要Spring MVC通过HTTP公开其端点。不支持其他技术。.../health端点 /health端点用于检查正在运行的应用程序的运行状况或状态。监视软件通常会执行此操作,以警告我们正在运行的实例出现故障或由于其他原因而变得不正常。例如。...创建新端点 除了使用Spring Boot提供的现有端点之外,我们还可以创建一个全新的端点。...输出: [ "This is message 1", "This is message 2" ] 进一步定制 为了安全起见,我们可能选择通过非标准端口公开执行器端点-可以轻松地使用management.port
状态页和健康指标 Eureka实例的状态页面和运行状况指示器分别默认为“/ info”和“/ health”,它们是Spring Boot Actuator应用程序中有用端点的默认位置。...如果您需要更多的控制健康检查,您可以考虑实施自己的com.netflix.appinfo.HealthCheckHandler。...Eureka实例和客户端的元数据 值得花点时间了解Eureka元数据的工作原理,以便您可以在平台上使用它。有主机名,IP地址,端口号,状态页和运行状况检查等标准元数据。...在Cloudfoundry上使用Eureka Cloudfoundry有一个全局路由器,所以同一个应用程序的所有实例都具有相同的主机名(在具有相似架构的其他PaaS解决方案中也是如此)。...这不一定是使用Eureka的障碍,但是如果您使用路由器(建议,甚至是强制性的,具体取决于您的平台的设置方式),则需要明确设置主机名和端口号(安全或非安全),以便他们使用路由器。
在现代应用程序架构中,您可以将应用程序作为可独立部署的小型微服务的集合来构建。不同的团队可以构建单独的微服务并选择其编程语言和工具。但是,微服务必须进行通信,应用程序代码才能正常运行。...强制执行安全策略对于监管合规至关重要。 服务网格有哪些优势? 服务网格提供了一个集中的专用基础设施层,用于处理分布式应用程序中复杂的服务到服务通信。...服务发现 服务网格提供自动服务发现,可以减少管理服务端点的运维负担。它们使用服务注册表来动态发现和跟踪网格中的所有服务。无论服务位于何处或底层基础设施如何,都可以无缝地相互查找和通信。...它通过加密流量来帮助确保数据的机密性和完整性。您还可以强制执行授权策略,以控制哪些服务访问特定端点或执行特定操作。 监控 服务网格提供全面的监控和可观测性功能,可深入了解服务的运行状况、性能和行为。...Istio 的第 7 层代理在与主服务相同的网络环境中作为另一个容器运行。从这个位置,它可以拦截、检查和操作所有通过容器组的网络流量。但是,主容器不需要任何改动,甚至不需要知道这种情况正在发生。
我们已将这些功能作为预览版本的一部分发布,您可以通过以下链接阅读这些功能: 与流行的Open API(Swagger)库更好地集成,包括使用代码分析器进行设计时检查 引入端点路由,在MVC中提高了20%...的路由性能 使用LinkGenerator类改进URL生成并支持路由参数变换器(以及来自Scott Hanselman的文章) 用于应用程序运行状况监视的新的健康检查API IIS进程内托管支持,吞吐量提高了...集成 我们很高兴地宣布,BeatPulse项目现在支持新的Health Checks API,这意味着您可以使用他们的强大支持轻松添加对数十种流行系统和依赖项的检查。...如果您使用进程内托管在.NET Core 2.2上运行ASP.NET Core应用程序,则只需在Azure门户中启用64位选项,该站点现在将以64位进程运行。...有关如何在Azure App Service中使用其他配置在64位进程中运行ASP.NET Core应用程序的其他信息,请参阅此文章。
领取专属 10元无门槛券
手把手带您无忧上云