当前位置: 首页 > news >正文

网站同时使用asp php重庆宣网站建设

网站同时使用asp php,重庆宣网站建设,怎样查找自己建设的网站,中国建筑官网一测二测成绩多少算及格前言 上篇我们讲了《如何使用App Metrics 做一个简单的APM监控》,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性能监控 首先我们来了解一下什么是健康检查(health checks)? 1.什么是健康检查? 健康检查…前言 上篇我们讲了《如何使用App Metrics 做一个简单的APM监控》,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性能监控 首先我们来了解一下什么是健康检查(health checks)? 1.什么是健康检查? 健康检查,其实这个名称已经很明确了,它是检查你的应用程序是否健康运行的一种方式。随着当前各类项目越来越多的应用程序正在转向微服务式架构健康检查就变得尤为关键。虽然微服务体系结构具有许多好处但其中一个缺点就是为了确保所有这些服务都正常运行的操作开销更高。你不在是监视一个庞大的整体项目的健康状况而是需要监控许多不同服务的状态甚至这些服务通常只负责一件事情。健康检查(Heatlh Checks)通常与一些服务发现工具结合使用如Consul  来监控您的微服务器来观测您的服务是否健康运行。 2.如何实施健康检查? 健康检查有很多种不同的方法但最常见的方法是将HTTP端点暴露给专门用于健康检查的应用程序。一般来说,如果一切情况都很好你的服务将返回200的状态码,然而任何非200的代码则意味着出现问题。例如如果发生错误你可能会返回500以及一些出错的JSON信息。 3.健康检查的常见情况 你的健康检查将基于你的应用程序或者你的微服务主要在做写什么事情,就检查什么. 不过我们也可以举例一些常见的健康检查内容 检查我的服务可以连接到数据库吗检查我的服务可以查询第三方API吗可能做一些只读操作 我的服务可以访问文件系统吗(IO是否正常)检查我的服务占用的内存或CPU是否高于某个阈值 下面我们就来讲解一下,如何使用App Metrics来实现我们的健康检查. 效果如图: 正文 这里就不创建新的项目了,直接拿上个项目的例子来写. App Metrics中的健康检查分为3种状态: 1.健康(绿),2.亚健康(黄),3.不健康(红).  颜色如上图所示 也含有一些内置的健康检查(后面讲解),我们先来讲一下如何自行创建健康检查 1.创建自己的健康检查 首先我们在Demo中创建一个健康检查的文件夹(当然,也可以是类库) 创建类,取名为 OKHealthCheck,继承HealthCheck(引用:using App.Metrics.Health),代码如下: public class OKHealthCheck: HealthCheck { public OKHealthCheck() : base(正常的检查(OKHealthCheck)) { } protected override TaskHealthCheckResult CheckAsync(CancellationToken token default(CancellationToken)) { //返回正常的信息 return Task.FromResult(HealthCheckResult.Healthy(OK)); } } 然后在Startup注入中,加入健康检查的注入 services.AddMetrics(options { options.GlobalTags.Add(app, sample app); options.GlobalTags.Add(env, stage); }) .AddHealthChecks()//这里是健康检查的注入 .AddJsonSerialization() .AddReporting( factory { factory.AddInfluxDb( new InfluxDBReporterSettings { InfluxDbSettings new InfluxDBSettings(database, uri), ReportInterval TimeSpan.FromSeconds(5) }); }) .AddMetricsMiddleware(options options.IgnoredHttpStatusCodes new[] { 404 }); 值得注意的是,这里的健康检查注入,是通过反射实现的,他会自动检测你项目引用的dll,找到继承过HealthCheck的类,自动全部注入. 然后我们运行,会发现我们的Grafana的健康检查仪表盘,多了条数据,如图: (注:这里说明一下这个Apdex Score(用户满意度得分),是默认自动开启的.可以通过配置关闭)  上面我们演示了如何创建一个自己的健康检查,但是只返回了健康的信息,我们还有亚健康,不健康,这些当然也是会出现的.所以,代码如下: 返回不健康的信息: protected override TaskHealthCheckResult CheckAsync(CancellationToken token default(CancellationToken)){            return Task.FromResult(HealthCheckResult.Unhealthy(不健康)); //重点是这里} 返回亚健康 protected override TaskHealthCheckResult CheckAsync(CancellationToken token default(CancellationToken)){            return Task.FromResult(HealthCheckResult.Degraded(Degraded));} 在这个方法中,加上你们自己的检查业务逻辑,返回相应的HealthCheckResult即可. 2.使用内置的健康检查 前面我们说过,App Metrics给我们提供了一些内置的健康检查,我们下面就来一一讲解 2.1内置的HTTP检测 我们直接在AddHealthChecks中注入,使用方法如下,: .AddHealthChecks(factory {//通过HTTP访问GitHub,看是否正常,间隔10秒factory.RegisterHttpGetHealthCheck(github是否访问正常, new Uri(https://github.com/), TimeSpan.FromSeconds(10));})//这里是健康检查的注入 2.2内置的Ping检测 代码如下: .AddHealthChecks(factory { //通过HTTP访问GitHub,看是否正常,间隔10秒 factory.RegisterHttpGetHealthCheck(github是否访问正常, new Uri(https://github.com/), TimeSpan.FromSeconds(10)); //检测是否能Ping通百度 factory.RegisterPingHealthCheck(百度 ping, baidu.com, TimeSpan.FromSeconds(10)); })//这里是健康检查的注入 2.3内置物理内存占用检测 说明一下,这个是检测当前程序占用的物理内存是否超过你设置阀值(字节为单位),并不是检测你还剩下多少物理内存 .AddHealthChecks(factory { //通过HTTP访问GitHub,看是否正常,间隔10秒 factory.RegisterHttpGetHealthCheck(github是否访问正常, new Uri(https://github.com/), TimeSpan.FromSeconds(10)); //检测是否能Ping通百度 factory.RegisterPingHealthCheck(百度 ping, baidu.com, TimeSpan.FromSeconds(10)); //检测占用内存是否超过2G factory.RegisterProcessPhysicalMemoryHealthCheck(占用内存是否超过阀值(2G), (2048L * 1024L) * 1024L); })//这里是健康检查的注入 2.4内置专用内存占用检测 说明一下,这个方法,通过源码可以看到,获取的是PrivateMemorySize64,也是就是获取为关联的进程分配的专用内存量。 .AddHealthChecks(factory { //通过HTTP访问GitHub,看是否正常,间隔10秒 factory.RegisterHttpGetHealthCheck(github是否访问正常, new Uri(https://github.com/), TimeSpan.FromSeconds(10)); //检测是否能Ping通百度 factory.RegisterPingHealthCheck(百度 ping, baidu.com, TimeSpan.FromSeconds(10)); //检测占用内存是否超过2G factory.RegisterProcessPhysicalMemoryHealthCheck(占用内存是否超过阀值(2G), (2048L * 1024L) * 1024L); //检测专用内存占用量是否超过阀值(2G) factory.RegisterProcessPrivateMemorySizeHealthCheck(专用内存占用量是否超过阀值(2G), (2048L * 1024L) * 1024L); })//这里是健康检查的注入 2.5内置虚拟内存占用检测 没啥好说的,直接上代码: .AddHealthChecks(factory { //通过HTTP访问GitHub,看是否正常,间隔10秒 factory.RegisterHttpGetHealthCheck(github是否访问正常, new Uri(https://github.com/), TimeSpan.FromSeconds(10)); //检测是否能Ping通百度 factory.RegisterPingHealthCheck(百度 ping, baidu.com, TimeSpan.FromSeconds(10)); //检测占用内存是否超过2G factory.RegisterProcessPhysicalMemoryHealthCheck(占用内存是否超过阀值(2G), (2048L * 1024L) * 1024L); //检测专用内存占用量是否超过阀值(2G) factory.RegisterProcessPrivateMemorySizeHealthCheck(专用内存占用量是否超过阀值(2G), (2048L * 1024L) * 1024L); //检测虚拟内存占用是否超过阀值(2G) factory.RegisterProcessVirtualMemorySizeHealthCheck(虚拟内存占用量是否超过阀值(2G), (2048L * 1024L) * 1024L); })//这里是健康检查的注入 最后,我们把代码跑起来.~,效果如图 写在最后 至此,今天的内容就结束了. 有趣的是,其实微软在ASP.NET Core 2.0中其实也给我们内置了相关的健康检测插件.(说明健康检测真的很重要) https://github.com/dotnet-architecture/HealthChecks 有兴趣的朋友可以去看看. 相关文章  互联网级监控系统必备-时序数据库之Influxdb技术互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑应用程序的8个关键性能指标以及测量方法ASP.NET Core之跨平台的实时性能监控 原文地址http://www.cnblogs.com/GuZhenYin/p/7216724.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.huolong8.cn/news/411686/

相关文章:

  • 制作网站分析商业模式免费建站绑定域名
  • 网站设计与开发的基本步骤包括哪些婚纱摄影网站的设计思路
  • 宁波快速建站模板云浮哪有做网站公司
  • 浙江省建设银行网站首页南昌网站建设公司有哪些
  • 太原网站建设外包须知传媒公众号开发信息开发者密码是什么
  • 网站建设价格报价防止网站被攻击
  • 友链网站降权网站建设需要什么证件
  • 企业网站seo诊断工具电商系统源码
  • 手机网站如何排版匿名聊天网站开发
  • 旅游开发公司网站建设方案书河南省旅游网站建设
  • 大型建站网站wordpress 显示文章作者
  • 网站建设实训过程邯郸哪里可以做网站
  • cms建站详细教程wordpress 搜索页
  • 宁夏建设厅官方网站视频号直播怎么引流
  • 深圳比较好的设计网站公司cps广告联盟平台
  • 网站开发案例教程asp网站发布ftp
  • 深圳航空公司是国企吗东莞seo外包公司哪家好
  • 永久免费建网站红安建设局网站
  • 企业网站建设能开广告服务费吗品牌推广的步骤和技巧
  • 做网站用angularjianux wordpress
  • 二手书网站开发需求分析潍坊住房公积金官网
  • 你注册过哪些网站九牧全球市场地位
  • 网站ppt怎么做商丘做网站需要多少钱
  • 重庆潼南网站建设价格ai室内设计生成软件
  • 网站建设验收表做电商网站是什么
  • 做移动端网站软件开发4399电脑版网页链接
  • 南宁的网站建设昆山网页设计培训
  • 南京建设网站公司免费网站重生九零做商女
  • 网站开发的整个流程朝阳网站制作公司
  • 吴江公司网站建设电话公司注册资本最低多少