问题标签 [health-check]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5134 浏览

c# - 健康检查、ASP.NET Web API

在我的工作中,我被要求在一个用 C# 编写的 ASP.NET Web API 2 中实现健康检查。我已经搜索过,但所有文档都是针对 ASP.NET Core 及其实现的,有人知道如何在经典/完整的 .NET Framework 中实现健康检查功能吗?

0 投票
1 回答
653 浏览

kubernetes - 我应该为 Kubernetes 健康检查实现一个专用的 api 端点吗?

我在 Kubernetes 集群上部署了一个 next.js 前端服务器和一个 express.js 后端服务器,它发出自动运行状况检查,当前位于两台服务器的根路径(“/”)上。

我的问题是,我应该实现自己的运行状况检查路由,例如“ /health”,然后在该路由上返回 200 HTTP 响应代码,还是应该让它保持现在的状态?

恐怕我会在两台服务器上的根路径(“/”)端点上实现很多功能,这会给我的两台服务器带来更多压力,因为集群会继续向这些端点发出请求。

0 投票
0 回答
31 浏览

spring - 如何在 Spring Application(不是 SpringBoot Application)中配置 Springboot 的 2.x 执行器?

我的应用程序使用的是 Spring 而不是 SpringBoot,但我想使用 SpringBoot 的 2.x Actuator 执行运行状况检查。这种组合对任何人都有效吗?

0 投票
2 回答
557 浏览

asp.net-core - AddWebhookNotification 调用Controller中的方法

我在我的 StartUp.cs 中配置了这个:

在控制器中:

看门狗应用程序在 appSettings.json 中配置为侦听不同的 API。到目前为止一切正常,但是,如果我强制出错,我希望收到一封通知电子邮件。这个想法是,当任何健康状况发生错误时,您会发送一封电子邮件。

环境:

  • .NET 核心版本:3.1
  • 健康检查版本:AspNetCore.HealthChecks.UI 3.1.0
  • 操作系统:Windows 10
0 投票
2 回答
2258 浏览

c# - .NET Core HealthCheck - 使用依赖注入和参数添加 HealthCheck

我有不同的类继承基类。基类实现接口 IHealthCheck。每个类都有一个构造函数,根据类需要一个记录器和参数。例如 :

我有一个 appSettings.json,它允许我在我的健康检查服务中配置几个诊断。

我在 App.xaml.cs 中获得了诊断列表,并尝试将它们添加到 HealthCheck 列表中。

问题是我不能使用旁边的参数进行依赖注入,而且我不知道什么是最好的解决方案......

这是我的代码的一些部分。

OnStartup 方法:

configureService 方法:

而 CreateHealthCheck 方法问题出在哪里:

如您所见,我无法创建 ConnectionHealthCheck 类的实例,因为我无法访问 ILogger 对象...

那么我该怎么做呢?我考虑了不同的解决方案,但我没有答案或方法

  • 不在 App.xaml.cs 中而是在之后构建 HealthCheck 服务?(在我可以访问 serviceCollection 和记录器的示例视图模型中)

  • 找到一种方法让记录器在 CreateHealthCheck 方法中使用它?

  • 做类似的事情,但我不知道什么时候可以传递参数

    serviceCollection.AddHealthChecks().AddCheck<ConnectionHealthCheck>(nameof(ConnectionHealthCheck));

0 投票
1 回答
609 浏览

docker - 如何在 Circle-Ci 中进行健康检查 curl 调用

我正在尝试在我的 circleci 工作流程中进行健康检查,以查看应用程序是否编译成功。尽管应用程序构建在 circleci 上,但curl永远无法找到 localhost 端口。

我已经在我的机器上本地尝试过,效果很好。

以下是我的工作流程工作:

该应用程序成功编译。但是,第二行总是返回以下内容:

我也尝试过使用wait-on-wait-on http://localhost:4000/.well-known/apollo/server-health && curl http://localhost:4000/.well-known/apollo/server-health

我还在构建后将 curl 调用放在单独的运行步骤中

我也尝试过使用docker exec,但它只是告诉我它找不到我的 docker 容器(然后指定 docker 容器图像哈希)。

如果我删除分离标志-d,那么它将显示它已成功启动。

默认 PORT 设置为 4000,我在 docker run 命令中添加了一个标志以包含--env PORT=4000以确认它。没有影响任何东西,但我知道它正在运行。

我还pm2尝试了服务器,因为默认情况下相同的终端将可用。这将运行但没有区别。

真的只是想卷曲我知道在一个circleci工作中加载的服务器。

入口点 CMD [ "node", "index.js" ]

编辑:

我离成功的结果越来越近了。

脚本

curl1如果成功则返回(返回 200),0否则返回。我还安装了一个名为的包start-server-and-test,它启动服务器,等待它完成然后运行最终脚本。它通常用于柏树,但也适用于这里。

这是结果

尽管成功了,为什么它会返回 ERR?

0 投票
1 回答
153 浏览

amazon-web-services - UnHealthyHostCount 的 CloudWatch 警报是否尊重 HealthCheckGracePeriodSeconds?

我有一个关于不健康主机的警报,它在部署期间发出警报并打开和关闭 ECS 服务。我已尝试按照此处HealthCheckGracePeriodSeconds : 600的建议添加,这将允许 10 分钟的启动时间,这对于服务开始响应健康检查来说已经足够了,但仍然会发出警报。

我真的不想更改警报,因为我希望它对环境中可能发生的任何问题都非常敏感,但可能会被迫因为此时我设置的警报可能有点嘈杂。

0 投票
1 回答
142 浏览

asp.net-core - 运行时 AspNetCore HealthCheck UI 的端点配置

我找不到在运行时更改Asp.net Core HealthCheck UI端点配置的解决方案。它可以在 appsettings.json 或 Startup 中配置,但我需要在运行时控制端点。(例如基于集成事件)有什么想法吗?

0 投票
1 回答
3000 浏览

azure - 配置 Azure 应用程序网关以从 Azure 存储容器为静态网站提供服务

我需要一些帮助来解决 Azure 应用程序网关的问题。

我的想法是从 Azure 存储容器提供 SPA,因此我配置了启用静态网站的存储帐户。后端将由容器实例提供服务,但为简单起见,我只是路由到静态 url ( https://www.lipsum.com/ )。

我想做这样的事情:

  • 当我访问"/"时,我可以访问我的静态网站
  • 当我访问“/backend”时,我可以访问我的后端 API(在本例中为“https://www.lipsum.com/”)
  • 当我访问任何其他路径时,我可以访问我的静态网站

我将我的应用程序后端池配置为指向两个 url(我的静态网站和我的虚拟后端),但我的静态网站始终是Unhealthy后端健康

如果我在我的 AG IP 中访问“/backend”,我正在查看 ipsum 站点,但如果我访问“/”,我会收到502 Bad Gateway Error。

如果有人可以帮助我解决这个问题,我将不胜感激

0 投票
0 回答
319 浏览

powershell - Docker Healthcheck 没有运行 powershell 命令?

我正在使用 Docker,并且创建了一个 Dockerfile,它将我的 dotnet 应用程序转换为图像。然后我可以运行这个图像,一切正常。我正在使用mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809 作为基础。

现在,我想添加 Docker 的“HealthCheck”功能。在那个 HealthCheck 中,我想使用一些 Powershell 逻辑,但是从我使用 Powershell 的那一刻起,de HealthCheck 就被归类为不健康的。

例如:

导致容器不健康。

例如:

结果是一个健康的容器

我尝试插入的任何 powershell 逻辑(返回或退出 0)都会给我不健康的容器。现在,我认为这是powershell只是错误的逻辑是什么。

任何人都可以提示我在我的 Docker Healthcheck 中获取一些 powershell 代码登录做错了什么?我需要在 HealthCheck 中使用这个 powershell 代码,原因并不重要。

谢谢


编辑:我也试过:

两者都有相同的结果:一个不健康的容器。